https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83987
Volker Reichelt <reichelt at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[6/7 Regression] ICE with |[6/7/8 Regression] ICE with
|OpenMP, sanitizer and |OpenMP, sanitizer and
|virtual bases |virtual bases
--- Comment #6 from Volker Reichelt <reichelt at gcc dot gnu.org> ---
Jakub, I'm afraid the patch is at least incomplete.
If I add one "#pragma omp parallel" to the testcase,
I still end up with a very similar stacktrace.
============================================
struct A
{
int i;
};
struct B : virtual A
{
void foo();
};
void B::foo()
{
#pragma omp parallel
{
#pragma omp sections lastprivate (i)
{
i = 0;
}
}
}
============================================
bug.cc: In function 'B::foo() [clone ._omp_fn.0]':
bug.cc:20:1: internal compiler error: tree code 'call_expr' is not supported in
LTO streams
}
^
0xd7d0b3 lto_write_tree
../../gcc/gcc/lto-streamer-out.c:442
0xd7d0b3 lto_output_tree_1
../../gcc/gcc/lto-streamer-out.c:483
0xd7d0b3 DFS::DFS(output_block*, tree_node*, bool, bool, bool)
../../gcc/gcc/lto-streamer-out.c:670
0xd7dfbd lto_output_tree(output_block*, tree_node*, bool, bool)
../../gcc/gcc/lto-streamer-out.c:1642
0xd7ab71 output_function
../../gcc/gcc/lto-streamer-out.c:2109
0xd7ab71 lto_output()
../../gcc/gcc/lto-streamer-out.c:2419
0xdd9cae write_lto
../../gcc/gcc/passes.c:2610
0xddd3ae ipa_write_summaries_1
../../gcc/gcc/passes.c:2674
0xddd3ae ipa_write_summaries()
../../gcc/gcc/passes.c:2734
0xae5f52 ipa_passes
../../gcc/gcc/cgraphunit.c:2468
0xae5f52 symbol_table::compile()
../../gcc/gcc/cgraphunit.c:2558
0xae7f79 symbol_table::compile()
../../gcc/gcc/cgraphunit.c:2537
0xae7f79 symbol_table::finalize_compilation_unit()
../../gcc/gcc/cgraphunit.c:2717
Please submit a full bug report, [etc.]