-static
-int compound_types_equal(const compound_type_t *type1,
- const compound_type_t *type2)
-{
- if(type1->type.type != type2->type.type)
- return 0;
- if(type1->symbol != type2->symbol)
- return 0;
-
- if(type1->symbol == NULL) {
- /* previous tests should already have checked for this */
- assert(type1 != type2);
- /* anonymous types are only equal if they are the very same type */
- return 0;
- } else {
- /* non-anonymous types are equal if they have the same symbol */
- /* TODO: is this correct */
- return 1;
- }
-
-#if 0
- declaration_t *entry1 = type1->context.declarations;
- declaration_t *entry2 = type2->context.declarations;
-
- while(entry1 != NULL && entry2 != NULL) {
- if(entry1->type != entry2->type)
- return 0;
- if(entry1->symbol != entry2->symbol)
- return 0;
- entry1 = entry1->next;
- entry2 = entry2->next;
- }
- if(entry1 != NULL || entry2 != NULL)
- return 0;
-#endif
-
- return 1;
-}
-
-static
-int method_types_equal(const method_type_t *type1, const method_type_t *type2)
+static bool function_types_equal(const function_type_t *type1,
+ const function_type_t *type2)