https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122902

--- Comment #1 from Damian Rouson <damian at archaeologic dot codes> ---
There are several interesting quirks in the above reproducer:

1. In the main program, replacing "7" with a smaller number eliminates the set
fault at least for the values that I tried.
2. Removing the one submodule and moving the procedure definition it contains
to the parent module eliminates the set fault.
3. I saw numerous ICEs as well as several suspected rejects-valid errors along
the way in developing the reproducer so I suspect that I might have observed
several additional bugs, but I didn't attempt to develop separate reproducers
for each one.
4. Making the actual arguments array constructors (and deleting the lines that
declare and define the corresponding intermediate variables "inputs" and
"outputs") also eliminates the seg fault. 

Possibly item 4 lights the way to a simple workaround, but I have to inspect
the original code to see if that's feasible.  The reproducer is of course a lot
simpler than the original code.  In the original code, those actual arguments
are themselves dummy arguments in the procedure that contains the desired
assignment.

Reply via email to