[Bug c/96315] ICE with variable size struct and openmp
marxin at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sun Jul 26 18:57:51 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96315
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|internal compiler error |ICE with variable size
|with variable size struct |struct and openmp
|and openmp |
Status|UNCONFIRMED |NEW
CC| |jakub at gcc dot gnu.org,
| |marxin at gcc dot gnu.org
Keywords| |openmp
Ever confirmed|0 |1
Last reconfirmed| |2020-07-26
--- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> ---
Confirmed. Reduced test-case:
$ cat pr96315.c
int main_njack;
void main() {
struct {
double aic[main_njack];
} res;
#pragma omp parallel
for (;;)
res;
}
$ gcc pr96315.c -c -O1 -fopenmp
during GIMPLE pass: omplower
pr96315.c: In function \u2018main\u2019:
pr96315.c:6:9: internal compiler error: tree check: expected tree that contains
\u2018decl minimal\u2019 structure, have \u2018error_mark\u2019 in
remap_type_1, at tree-inline.c:586
6 | #pragma omp parallel
| ^~~
0x72ef57 tree_contains_struct_check_failed(tree_node const*,
tree_node_structure_enum, char const*, int, char const*)
/home/marxin/Programming/gcc/gcc/tree.c:9861
0x6d80a8 contains_struct_check(tree_node*, tree_node_structure_enum, char
const*, int, char const*)
/home/marxin/Programming/gcc/gcc/tree.h:3417
0x6d80a8 remap_type_1
/home/marxin/Programming/gcc/gcc/tree-inline.c:586
0xe410d0 remap_type(tree_node*, copy_body_data*)
/home/marxin/Programming/gcc/gcc/tree-inline.c:736
0xe40bb7 remap_type_1
/home/marxin/Programming/gcc/gcc/tree-inline.c:448
0xe410d0 remap_type(tree_node*, copy_body_data*)
/home/marxin/Programming/gcc/gcc/tree-inline.c:736
0xc85312 fixup_remapped_decl
/home/marxin/Programming/gcc/gcc/omp-low.c:862
0xc8903d scan_sharing_clauses
/home/marxin/Programming/gcc/gcc/omp-low.c:1567
0xc8db11 scan_omp_parallel
/home/marxin/Programming/gcc/gcc/omp-low.c:2030
0xc8db11 scan_omp_1_stmt
/home/marxin/Programming/gcc/gcc/omp-low.c:3732
0xaeefaa walk_gimple_stmt(gimple_stmt_iterator*, tree_node*
(*)(gimple_stmt_iterator*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**,
int*, void*), walk_stmt_info*)
/home/marxin/Programming/gcc/gcc/gimple-walk.c:578
0xaef170 walk_gimple_seq_mod(gimple**, tree_node* (*)(gimple_stmt_iterator*,
bool*, walk_stmt_info*), tree_node* (*)(tree_node**, int*, void*),
walk_stmt_info*)
/home/marxin/Programming/gcc/gcc/gimple-walk.c:51
0xaef0a1 walk_gimple_stmt(gimple_stmt_iterator*, tree_node*
(*)(gimple_stmt_iterator*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**,
int*, void*), walk_stmt_info*)
/home/marxin/Programming/gcc/gcc/gimple-walk.c:641
0xaef170 walk_gimple_seq_mod(gimple**, tree_node* (*)(gimple_stmt_iterator*,
bool*, walk_stmt_info*), tree_node* (*)(tree_node**, int*, void*),
walk_stmt_info*)
/home/marxin/Programming/gcc/gcc/gimple-walk.c:51
0xaef061 walk_gimple_stmt(gimple_stmt_iterator*, tree_node*
(*)(gimple_stmt_iterator*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**,
int*, void*), walk_stmt_info*)
/home/marxin/Programming/gcc/gcc/gimple-walk.c:686
0xaef170 walk_gimple_seq_mod(gimple**, tree_node* (*)(gimple_stmt_iterator*,
bool*, walk_stmt_info*), tree_node* (*)(tree_node**, int*, void*),
walk_stmt_info*)
/home/marxin/Programming/gcc/gcc/gimple-walk.c:51
0xc98e3a scan_omp
/home/marxin/Programming/gcc/gcc/omp-low.c:3855
0xc98e3a execute_lower_omp
/home/marxin/Programming/gcc/gcc/omp-low.c:13065
0xc98e3a execute
/home/marxin/Programming/gcc/gcc/omp-low.c:13123
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
More information about the Gcc-bugs
mailing list