https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120844
Bug ID: 120844 Summary: ICE on x86_64-linux-gnu: Segmentation fault during GIMPLE pass: omplower Product: gcc Version: 16.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: jiangchangwu at smail dot nju.edu.cn Target Milestone: --- Compiler Explorer: https://gcc.godbolt.org/z/x1T9a6ejq ******************************************************************************* gcc version: Using built-in specs. COLLECT_GCC=gcc-trunk COLLECT_LTO_WRAPPER=/home/software/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/16.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../gcc/configure --disable-multilib --disable-bootstrap --enable-languages=c,c++ --prefix=/home/software/gcc-trunk --enable-coverage --disable-werror --enable-checking=yes Thread model: posix Supported LTO compression algorithms: zlib gcc version 16.0.0 20250613 (experimental) (GCC) ******************************************************************************* Program: $ cat mutant.c extern int a[]; int b; void c() { #pragma omp target parallel for map(a[0]) for (b = 0; b < 0; b++) a; } ******************************************************************************* Command Lines: $ gcc -fopenmp mutant.c during GIMPLE pass: omplower mutant.c: In function 'c': mutant.c:4:9: internal compiler error: Segmentation fault 4 | #pragma omp target parallel for map(a[0]) | ^~~ 0x5554b38 internal_error(char const*, ...) ../../gcc/gcc/diagnostic-global-context.cc:517 0x21651ec crash_signal ../../gcc/gcc/toplev.cc:321 0xec7e7d non_type_check(tree_node*, char const*, int, char const*) ../../gcc/gcc/tree.h:3921 0x1d4d475 fixup_remapped_decl ../../gcc/gcc/omp-low.cc:911 0x1d56686 scan_sharing_clauses ../../gcc/gcc/omp-low.cc:1891 0x1d5a798 scan_omp_parallel ../../gcc/gcc/omp-low.cc:2374 0x1d6854d scan_omp_1_stmt ../../gcc/gcc/omp-low.cc:4177 0x18f6101 walk_gimple_stmt(gimple_stmt_iterator*, tree_node* (*)(gimple_stmt_iterator*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**, int*, void*), walk_stmt_info*) ../../gcc/gcc/gimple-walk.cc:618 0x18f32bc walk_gimple_seq_mod(gimple**, tree_node* (*)(gimple_stmt_iterator*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**, int*, void*), walk_stmt_info*) ../../gcc/gcc/gimple-walk.cc:51 0x18f6367 walk_gimple_stmt(gimple_stmt_iterator*, tree_node* (*)(gimple_stmt_iterator*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**, int*, void*), walk_stmt_info*) ../../gcc/gcc/gimple-walk.cc:645 0x18f32bc walk_gimple_seq_mod(gimple**, tree_node* (*)(gimple_stmt_iterator*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**, int*, void*), walk_stmt_info*) ../../gcc/gcc/gimple-walk.cc:51 0x1d692f5 scan_omp ../../gcc/gcc/omp-low.cc:4322 0x1d619f2 scan_omp_target ../../gcc/gcc/omp-low.cc:3150 0x1d68f9e scan_omp_1_stmt ../../gcc/gcc/omp-low.cc:4268 0x18f6101 walk_gimple_stmt(gimple_stmt_iterator*, tree_node* (*)(gimple_stmt_iterator*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**, int*, void*), walk_stmt_info*) ../../gcc/gcc/gimple-walk.cc:618 0x18f32bc walk_gimple_seq_mod(gimple**, tree_node* (*)(gimple_stmt_iterator*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**, int*, void*), walk_stmt_info*) ../../gcc/gcc/gimple-walk.cc:51 0x18f6367 walk_gimple_stmt(gimple_stmt_iterator*, tree_node* (*)(gimple_stmt_iterator*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**, int*, void*), walk_stmt_info*) ../../gcc/gcc/gimple-walk.cc:645 0x18f32bc walk_gimple_seq_mod(gimple**, tree_node* (*)(gimple_stmt_iterator*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**, int*, void*), walk_stmt_info*) ../../gcc/gcc/gimple-walk.cc:51 0x1d692f5 scan_omp ../../gcc/gcc/omp-low.cc:4322 0x1dc77ec execute_lower_omp ../../gcc/gcc/omp-low.cc:15067 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.