https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68339
Bug ID: 68339 Summary: g++.dg/vect/simd-clone-2.cc ICEs with aggressive GC settings and OpenMP Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: jason at gcc dot gnu.org CC: jakub at gcc dot gnu.org Target Milestone: --- Compiling g++.dg/vect/simd-clone-2.cc with --param ggc-min-heapsize=0 --param ggc-min-expand=0 -fopenmp-simd results in a memory corruption ICE. This seems to be because expand_simd_clones calls simd_clone_mangle, which generates an identifier, and then calls simd_clone_create, which eventually calls ggc_collect from execute_one_ipa_transform_pass. Since nothing refers to the identifier yet, it gets collected as garbage, so when expand_simd_clones tries to use it the compiler blows up.