This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c/51321] __builtin_types_compatible_p (any_type_t[1][], any_other_type_t) crashes GCC


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51321

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
         AssignedTo|unassigned at gcc dot       |pinskia at gcc dot gnu.org
                   |gnu.org                     |

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> 2011-11-29 05:28:24 UTC ---
Semi-obvious patch:
Index: c-parser.c
===================================================================
--- c-parser.c    (revision 181796)
+++ c-parser.c    (working copy)
@@ -6568,9 +6568,16 @@ c_parser_postfix_expression (c_parser *p
                      "expected %<)%>");
       {
         tree e1, e2;
+        e1 = groktypename (t1, NULL, NULL);
+        e2 = groktypename (t2, NULL, NULL);
+        if (e1 == error_mark_node || e2 == error_mark_node)
+          {
+        expr.value = error_mark_node;
+        break;
+          }

-        e1 = TYPE_MAIN_VARIANT (groktypename (t1, NULL, NULL));
-        e2 = TYPE_MAIN_VARIANT (groktypename (t2, NULL, NULL));
+        e1 = TYPE_MAIN_VARIANT (e1);
+        e2 = TYPE_MAIN_VARIANT (e2);

         expr.value
           = comptypes (e1, e2) ? integer_one_node : integer_zero_node;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]