http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53493
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> 2012-05-26 17:21:38 UTC --- Can you provide the preprocessed source? I think this is done on purpose since foo is not used in the source and the rules for C++ say the const variable has vague linkage GCC can (and will) remove those variables which are not used.