From: Andrew Pinski Date: Thu, 2 Sep 2021 20:59:04 +0000 (+0000) Subject: Fix target/102173 ICE after error recovery X-Git-Tag: basepoints/gcc-13~4964 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6b69bf5729852d0510abbe8e04078ddecef0cf17;p=thirdparty%2Fgcc.git Fix target/102173 ICE after error recovery 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. --- diff --git a/gcc/config/aarch64/aarch64-sve-builtins.cc b/gcc/config/aarch64/aarch64-sve-builtins.cc index f71b287570e4..bc92213665ca 100644 --- a/gcc/config/aarch64/aarch64-sve-builtins.cc +++ b/gcc/config/aarch64/aarch64-sve-builtins.cc @@ -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;