We didn't skip over extern "C++" contexts, causing us to mangle things
which don't need to be mangled.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@270089
91177308-0d34-0410-b5e6-
96231b3b80d8
return getEffectiveDeclContext(cast<Decl>(DC));
}
- return DC;
+ return DC->getRedeclContext();
}
static const DeclContext *getEffectiveParentContext(const DeclContext *DC) {
int a;
// CHECK-DAG: @"\01?a@@3HA"
+extern "C++" {
+static int __attribute__((used)) ignore_transparent_context;
+// CHECK-DAG: @ignore_transparent_context
+}
+
namespace N {
int b;
// CHECK-DAG: @"\01?b@N@@3HA"