------- Comment #10 from jakub at gcc dot gnu dot org 2010-03-26 10:42 ------- In particular, for -g0 the alias set of that unsigned 1 bit type actually changes. This is on the #c1 testcase, with -g -fcompare-debug=-gtoggle pr43516.c -O2 -fdump-final-insns=/tmp/1 resp. -g0 -fcompare-debug=-gtoggle pr43516.c -O2 -fdump-final-insns=/tmp/2 Putting a breakpoint on new_alias_set when it returns 41 or more, when it returns 41 in the backtrace is first get_alias_set for the signed 1 bit type that c_common_signed_type returned, then 2 frames up get_alias_set for the problematic unsigned 1 bit type. In -g0 case a few get_alias_set calls on this unsigned 1 bit type suddenly c_common_signed_type returns a different type, which doesn't have alias set computed, while for -g it doesn't.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43516