[cfe-commits] [PATCH] Mangler does not mangle extern "C"'d symbols in ::std correctly

James Molloy james.molloy at arm.com
Fri Mar 2 07:08:07 PST 2012


Hi,

The attached patch fixes a bug in which a name in namespace ::std which is
within an extern "C" {} block* would not be mangled correctly. The patch
itself is simple, and comes from the lack of a call to
IgnoreLinkageSpecDecls().

As part of general code smell I have also moved two other places where
IgnoreLinkageSpecDecls()'s functionality was being duplicated to using that
function.

Regression test attached. Is it OK to commit?

Cheers,

James

*: namespace std { extern "C" {class C {}; } }
-------------- next part --------------
A non-text attachment was scrubbed...
Name: std_mangle.diff
Type: application/octet-stream
Size: 1036 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20120302/049c4745/attachment.obj>


More information about the cfe-commits mailing list