fix compound type comparison
authorMatthias Braun <matze@braunis.de>
Fri, 7 Sep 2007 10:39:02 +0000 (10:39 +0000)
committerMatthias Braun <matze@braunis.de>
Fri, 7 Sep 2007 10:39:02 +0000 (10:39 +0000)
[r18339]

type_hash.c

index 4219f17..f4431d7 100644 (file)
@@ -57,7 +57,6 @@ unsigned hash_method_type(const method_type_t *type)
                result ^= hash_ptr(parameter->type);
                parameter = parameter->next;
        }
-       result ^= hash_ptr(type->abi_style);
 
        return result;
 }
@@ -118,6 +117,8 @@ 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;
 
@@ -144,9 +145,6 @@ int method_types_equal(const method_type_t *type1, const method_type_t *type2)
        if(type1->result_type != type2->result_type)
                return 0;
 
-       if(type1->abi_style != type2->abi_style)
-               return 0;
-
        method_parameter_type_t *param1 = type1->parameter_types;
        method_parameter_type_t *param2 = type2->parameter_types;
        while(param1 != NULL && param2 != NULL) {