------- Comment #6 from steven at gcc dot gnu dot org 2006-01-08 15:09 ------- Of course I mean "[finish_decl] _is_ called after the point where we fail now". The error for (int)&a not being a constant is issued from finish_decl, but we ICE before we call finish_decl for buf.
We ICE during a call to start_decl from c-parser: 1222 else 1223 { 1224 tree d = start_decl (declarator, specs, false, 1225 chainon (postfix_attrs, 1226 all_prefix_attrs)); 1227 if (d) 1228 finish_decl (d, NULL_TREE, asm_name); 1229 } so we never reach the point where we call finish_decl. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25161