https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112989
Bug ID: 112989 Summary: GC ICE with C++, `#include <arm_sve.h>` and `-fsanitize=address` Product: gcc Version: 14.0 Status: UNCONFIRMED Keywords: GC, ice-on-valid-code Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: pinskia at gcc dot gnu.org Target Milestone: --- Target: aarch64-linux-gnu Just a simple: ``` #pragma GCC aarch64 "arm_sve.h" ``` Causes an ICE: ``` ubuntu@ubuntu:~/src/upstream-gcc-aarch64\# /bajas/pinskia/src/upstream-gcc-aarch64/gcc/objdir/stage1-gcc/cc1plus t.cc -quiet -march=armv8.6-a+sve -fsanitize=address t.cc:1:32: internal compiler error: Segmentation fault 1 | #pragma GCC aarch64 "arm_sve.h" | ^ 0x1d150ff crash_signal /home/ubuntu/src/upstream-gcc-aarch64/gcc/gcc/toplev.cc:316 0x12fb314 c_tree_chain_next(tree_node*) /home/ubuntu/src/upstream-gcc-aarch64/gcc/gcc/c-family/c-common.h:1347 0x12eeda3 gt_ggc_mx_lang_tree_node(void*) ./gt-cp-tree.h:108 0x240ca7f gt_ggc_mx_registered_function(void*) ./gt-aarch64-sve-builtins.h:29 0x240cb23 gt_ggc_mx(aarch64_sve::registered_function*&) ./gt-aarch64-sve-builtins.h:47 0x240ea3f void gt_ggc_mx<aarch64_sve::registered_function*>(vec<aarch64_sve::registered_function*, va_gc, vl_embed>*) /home/ubuntu/src/upstream-gcc-aarch64/gcc/gcc/vec.h:1449 0x240caef gt_ggc_mx_vec_registered_function__va_gc_(void*) ./gt-aarch64-sve-builtins.h:39 0x17a1237 ggc_mark_root_tab /home/ubuntu/src/upstream-gcc-aarch64/gcc/gcc/ggc-common.cc:75 0x17a13a7 ggc_mark_roots() /home/ubuntu/src/upstream-gcc-aarch64/gcc/gcc/ggc-common.cc:104 0x146d183 ggc_collect(ggc_collect) /home/ubuntu/src/upstream-gcc-aarch64/gcc/gcc/ggc-page.cc:2227 0xfd0567 c_parse_final_cleanups() /home/ubuntu/src/upstream-gcc-aarch64/gcc/gcc/cp/decl2.cc:5064 0x140a413 c_common_parse_file() /home/ubuntu/src/upstream-gcc-aarch64/gcc/gcc/c-family/c-opts.cc:1319 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. ``` I have not debugged this but I can't reproduce with a cross though, only a native build (but stage1)