https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90494
Bug ID: 90494 Summary: ICE using a released ssaname Product: gcc Version: 9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: debug Assignee: unassigned at gcc dot gnu.org Reporter: nathan at gcc dot gnu.org Target Milestone: --- Created attachment 46360 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46360&action=edit testcase The attached code ICEs ./cc1plus repro.ii -fpreprocessed -g2 -O3 -std=gnu++17 void localLayer(long int, long int, void*) void driver(long int, long int, void*) Analyzing compilation unit Performing interprocedural optimizations <*free_lang_data> <visibility> <build_ssa_passes> <opt_local_passes>during GIMPLE pass: einline repro.ii:12:13: internal compiler error: in make_ssa_name_fn, at tree-ssanames.c:268 12 | localLayer(X, Y, region); | ~~~~~~~~~~^~~~~~~~~~~~~~ 0x1795f6a make_ssa_name_fn(function*, tree_node*, gimple*, unsigned int) ../../../src/gcc/tree-ssanames.c:268 0x1525ab5 make_ssa_name ../../../src/gcc/tree-ssanames.h:114 0x1526ae5 remap_ssa_name ../../../src/gcc/tree-inline.c:246 0x152be34 copy_tree_body_r(tree_node**, int*, void*) ../../../src/gcc/tree-inline.c:1229 We're attempting to remap an ssaname that has already been released by release_ssa_name_fn. That results in error_mark being passed as the type. notice we're creating an array of runtime-defined dimensions, which is a gnu extension. GCC 8 ICEs. I've not tried earlier.