diff -r ca8d98289ff9 -r 67d8b07bac22 stage3/datatype_functions.hh --- a/stage3/datatype_functions.hh Mon Feb 27 11:28:51 2012 +0000 +++ b/stage3/datatype_functions.hh Mon Feb 27 11:44:03 2012 +0000 @@ -146,6 +146,13 @@ */ void copy_candidate_datatype_list(symbol_c *from, symbol_c *to); +/* Intersect two candidate_datatype_lists. + * Remove from list1 (origin, dest.) all elements that are not found in list2 (with). + * In essence, list1 will contain the result of the intersection of list1 with list2. + * In other words, modify list1 so it only contains the elelements that are simultaneously in list1 and list2! + */ +void intersect_candidate_datatype_list(symbol_c *list1 /*origin, dest.*/, symbol_c *list2 /*with*/); + /* A helper function... */ bool is_ANY_ELEMENTARY_type (symbol_c *type_symbol);