- if(type1->symbol != NULL && type1->symbol == type2->symbol)
- return 1;
-
- enum_entry_t *entry1 = type1->entries;
- enum_entry_t *entry2 = type2->entries;
- while(entry1 != NULL && entry2 != NULL) {
- if(entry1->symbol != entry2->symbol)
- return 0;
- /* TODO: compare expressions */
- entry1 = entry1->next;
- entry2 = entry2->next;
- }
- if(entry1 != NULL || entry2 != NULL)
- return 0;
-
- return 1;
+ if(type1->element_type != type2->element_type)
+ return false;
+ if(type1->is_variable != type2->is_variable)
+ return false;
+ if(type1->is_static != type2->is_static)
+ return false;
+ /* TODO: compare expressions for equality... */
+ if(type1->size != type2->size)
+ return false;
+
+ return true;