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.

Reply via email to