http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46879
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> 2010-12-10 15:32:40 UTC --- (In reply to comment #2) > Hm, well. Then the debug machinery has to deal with type mismatches I guess. Well, all the debug machinery cares is that the var has the original, declared type. > But I wonder why we have debug-stmts for global variables anyway? I thought > they are only used for registers. It is not a global variable, it is a VAR_DECL with DECL_ABSTRACT_ORIGIN PARM_DECL in bar, i.e. optimized away parameter/automatic variable. It is a non-localized var in main, because it is never referenced there, except for GIMPLE_DEBUG.