Fix target/102173 ICE after error recovery
authorAndrew Pinski <apinski@marvell.com>
Thu, 2 Sep 2021 20:59:04 +0000 (20:59 +0000)
committerAndrew Pinski <apinski@marvell.com>
Fri, 3 Sep 2021 16:56:33 +0000 (16:56 +0000)
After the recent r12-3278-823685221de986a change, the testcase
gcc.target/aarch64/sve/acle/general-c/type_redef_1.c started
to ICE as the code was not ready for error_mark_node in the
type.  This fixes that and the testcase now passes.

gcc/ChangeLog:

* config/aarch64/aarch64-sve-builtins.cc (register_vector_type):
Handle error_mark_node as the type of the type_decl.

gcc/config/aarch64/aarch64-sve-builtins.cc

index f71b287..bc92213 100644 (file)
@@ -3416,6 +3416,7 @@ register_vector_type (vector_type_index type)
      installing an incorrect type.  */
   if (decl
       && TREE_CODE (decl) == TYPE_DECL
+      && TREE_TYPE (decl) != error_mark_node
       && TYPE_MAIN_VARIANT (TREE_TYPE (decl)) == vectype)
     vectype = TREE_TYPE (decl);
   acle_vector_types[0][type] = vectype;