------- Comment #4 from rguenth at gcc dot gnu dot org 2008-10-02 12:56 ------- /* When we are not doing full debug info, we however can keep around only the used variables for cfgexpand's memory packing saving quite a lot of memory. */ else if (debug_info_level == DINFO_LEVEL_NORMAL || debug_info_level == DINFO_LEVEL_VERBOSE /* Removing declarations before inlining is going to affect DECL_UID that in turn is going to affect hashtables and code generation. */ || !cfun->after_inlining) unused = false;
the last check makes us blow up for -g0, otherwise we blow up because we retain dead variables for debugging purposes. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37709