------- Comment #1 from hjl dot tools at gmail dot com 2008-01-28 00:17 ------- With -m32, we got
doit () { real(kind=4) doit1[2]; { struct array1_real(kind=4) parm.6; parm.6.dtype = 281; parm.6.dim[0].lbound = 1; parm.6.dim[0].ubound = 2; parm.6.dim[0].stride = 1; parm.6.data = (void *) &doit1[0]; parm.6.offset = -1; tm_doit (&parm.6, 0B, 0); } goto __return_doit; __return_doit:; } instead of doit () { real(kind=4) doit1[2]; { struct array1_real(kind=4) parm.7; parm.7.dtype = 281; parm.7.dim[0].lbound = 1; parm.7.dim[0].ubound = 2; parm.7.dim[0].stride = 1; parm.7.data = (void *) &doit1[0]; parm.7.offset = -1; tm_doit (&parm.7, 0B, 0); } goto __return_doit; __return_doit:; } with -m64. But we only expect " tm_doit \\(&parm.7, 0B, 0\\);". -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34994