Slightly simplify creating an ident from a string on an obstack.
[cparser] / type_hash.c
index 88de01c..ad0732f 100644 (file)
@@ -98,7 +98,8 @@ static unsigned hash_function_type(const function_type_t *type)
                result   ^= hash_ptr(parameter->type);
                parameter = parameter->next;
        }
-       result ^= hash_ptr(type->linkage);
+       result += type->linkage;
+       result += type->calling_convention;
 
        return result;
 }
@@ -210,6 +211,8 @@ static bool function_types_equal(const function_type_t *type1,
                return false;
        if (type1->linkage != type2->linkage)
                return false;
+       if (type1->calling_convention != type2->calling_convention)
+               return false;
 
        function_parameter_t *param1 = type1->parameters;
        function_parameter_t *param2 = type2->parameters;