[gcc r12-3349] Fix target/102173 ICE after error recovery
Andrew Pinski
pinskia@gcc.gnu.org
Fri Sep 3 16:57:28 GMT 2021
https://gcc.gnu.org/g:6b69bf5729852d0510abbe8e04078ddecef0cf17
commit r12-3349-g6b69bf5729852d0510abbe8e04078ddecef0cf17
Author: Andrew Pinski <apinski@marvell.com>
Date: Thu Sep 2 20:59:04 2021 +0000
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:
---
gcc/config/aarch64/aarch64-sve-builtins.cc | 1 +
1 file changed, 1 insertion(+)
diff --git a/gcc/config/aarch64/aarch64-sve-builtins.cc b/gcc/config/aarch64/aarch64-sve-builtins.cc
index f71b287570e..bc92213665c 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;
More information about the Gcc-cvs
mailing list