tree.c (gimple_canonical_types_compatible_p): Do not compare function attributes.
authorJan Hubicka <hubicka@ucw.cz>
Sat, 23 May 2015 13:51:26 +0000 (15:51 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Sat, 23 May 2015 13:51:26 +0000 (13:51 +0000)
* tree.c (gimple_canonical_types_compatible_p):  Do not compare
function attributes.
(verify_type): Remove METHOD_TYPE FIXME; update FUNCTION_TYPE.

From-SVN: r223606

gcc/ChangeLog
gcc/tree.c

index 41dde617c4cbff5d7deed534b3ffe9590efaa227..82f635d5f0c74019f87220b95407b50b842e708b 100644 (file)
@@ -1,3 +1,9 @@
+2015-05-22  Jan Hubicka  <hubicka@ucw.cz>
+
+       * tree.c (gimple_canonical_types_compatible_p):  Do not compare
+       function attributes.
+       (verify_type): Remove METHOD_TYPE FIXME; update FUNCTION_TYPE.
+
 2015-05-22  Jim Wilson  <jim.wilson@linaro.org>
 
        * Makefile.in (check_gcc_parallelize): Delete.
index 0ab965f3c94b26acdb7cea46e9a8779c36d8a415..accab4dd554d7ed75e418283c8388b4e86262009 100644 (file)
@@ -12837,9 +12837,6 @@ gimple_canonical_types_compatible_p (const_tree t1, const_tree t2,
                                                trust_type_canonical))
        return false;
 
-      if (!comp_type_attributes (t1, t2))
-       return false;
-
       if (TYPE_ARG_TYPES (t1) == TYPE_ARG_TYPES (t2))
        return true;
       else
@@ -12939,10 +12936,9 @@ verify_type (const_tree t)
   /* Method and function types can not be used to address memory and thus
      TYPE_CANONICAL really matters only for determining useless conversions.
 
-     FIXME: C++ FE does not agree with gimple_canonical_types_compatible_p
-     here.  gimple_canonical_types_compatible_p calls comp_type_attributes
-     while for C++ FE the attributes does not make difference.  */
-  else if (TREE_CODE (t) == FUNCTION_TYPE || TREE_CODE (t) == METHOD_TYPE)
+     FIXME: C++ FE produce declarations of builtin functions that are not
+     compatible with main variants.  */
+  else if (TREE_CODE (t) == FUNCTION_TYPE)
     ;
   else if (t != ct
           /* FIXME: gimple_canonical_types_compatible_p can not compare types