------- Comment #8 from fxcoudert at gcc dot gnu dot org 2007-08-14 15:26 ------- (In reply to comment #7) > I suspect that '<anonymous>' is labels.0 (though it *has* a name!)
Well, that was wrong. If you look at the gimple tree (004t.gimple), it contains the following: print_sub (l, labels, _labels) { <unnamed-unsigned:64> D.1377; int4 D.1378; <unnamed-unsigned:64> D.1379; logical4 D.1380; <unnamed-unsigned:64> D.1381; char * D.1382; char[1][1:_labels] * labels.0; bit_size_type D.1373; <unnamed-unsigned:64> D.1374; bit_size_type D.1375; <unnamed-unsigned:64> D.1376; if (labels != 0B) { D.1377 = (<unnamed-unsigned:64>) _labels; D.1373 = D.1377 * 8; D.1378 = _labels + -1; D.1379 = (<unnamed-unsigned:64>) D.1378; D.1374 = D.1379 + 1; D.1377 = (<unnamed-unsigned:64>) _labels; D.1375 = D.1377 * 8; D.1378 = _labels + -1; D.1379 = (<unnamed-unsigned:64>) D.1378; D.1376 = D.1379 + 1; labels.0 = (char[1][1:_labels] *) labels; [...] if (labels != 0B) { D.1381 = D.1374; D.1382 = &(*labels.0)[0]{lb: 0 sz: NON_LVALUE_EXPR <D.1381>}[1]{lb: 1 sz: 1}; _gfortran_transfer_character (&dt_parm.0, D.1382, _labels); _gfortran_st_write_done (&dt_parm.0); } So, now, my guess is that our anonymous is D.1374. But the thing is, I looked through trans-array.c and trans-decl.c, and I can't find the place where it's generated! -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29459