Fix PR14413 - incorrect mangling of anonymous namespaces with -cxx-abi microsoft
llvm-svn: 168583
This commit is contained in:
parent
dd2ca571ae
commit
09848e709c
|
@ -453,7 +453,7 @@ MicrosoftCXXNameMangler::mangleUnqualifiedName(const NamedDecl *ND,
|
|||
|
||||
if (const NamespaceDecl *NS = dyn_cast<NamespaceDecl>(ND)) {
|
||||
if (NS->isAnonymousNamespace()) {
|
||||
Out << "?A";
|
||||
Out << "?A@";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
// CHECK: @"\01?a@@3HA"
|
||||
// CHECK: @"\01?b@N@@3HA"
|
||||
// CHECK: @"\01?anonymous@?A@N@@3HA"
|
||||
// CHECK: @c
|
||||
// CHECK: @"\01?d@foo@@0FB"
|
||||
// CHECK: @"\01?e@foo@@1JC"
|
||||
|
@ -24,10 +25,16 @@
|
|||
|
||||
int a;
|
||||
|
||||
namespace N { int b; }
|
||||
namespace N {
|
||||
int b;
|
||||
|
||||
namespace {
|
||||
int anonymous;
|
||||
}
|
||||
}
|
||||
|
||||
static int c;
|
||||
int _c(void) {return c;}
|
||||
int _c(void) {return N::anonymous + c;}
|
||||
// CHECK: @"\01?_c@@YAHXZ"
|
||||
|
||||
class foo {
|
||||
|
|
Loading…
Reference in New Issue