https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104970
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |msebor at gcc dot gnu.org --- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> --- double E[][l] argument has an unknown size, so it must be an unknown bound. Seems the get_parm_access function returns size member as NULL, so the only thing you can look at is the string which encodes it. For the above it is: ^1[$ ],$0 and on that because one dimension is incomplete one needs to punt. If the testcase has: double E[6][l] instead, the string is ^1[$6],$0 and in that case perhaps l_1(D) * 6 * sizeof(double) could be used. In any case, parm_object_size needs to be much more careful on when exactly it can use this stuff safely. CCing Martin as the author of this stuff.