[cfe-commits] r153768 - in /cfe/trunk: lib/CodeGen/CGCXXABI.cpp lib/CodeGen/CGCXXABI.h lib/CodeGen/CGDecl.cpp lib/CodeGen/CGDeclCXX.cpp lib/CodeGen/CodeGenFunction.h lib/CodeGen/CodeGenModule.cpp lib/CodeGen/CodeGenModule.h lib/CodeGen/ItaniumCXXABI.cpp test/CodeGenCXX/static-init.cpp

John McCall rjmccall at apple.com
Fri Mar 30 13:01:18 PDT 2012

On Mar 30, 2012, at 12:44 PM, Chandler Carruth wrote:
> These patches cause us to miscompile and/or reject code with static
> function-local variables in an extern-C context. Previously, we were
> papering over this as long as the variables are within the same
> translation unit, and had not seen any failures in the wild. We still
> need a proper fix, which involves mangling static locals inside of an
> extern-C block (as GCC already does), but this patch causes pretty
> widespread regressions. Firefox, and many other applications no longer
> build.

It's worse than that; apparently our static-local mangling is not functional
at all.  I agree that this needs to be reverted;  I will try to fix my specific
bug in a more minimal way until there is time to implement static-local
mangling correctly.


More information about the cfe-commits mailing list