diff options
-rw-r--r-- | clang/lib/CodeGen/Mangle.cpp | 6 | ||||
-rw-r--r-- | clang/test/CodeGenCXX/mangle-system-header.cpp | 4 |
2 files changed, 4 insertions, 6 deletions
diff --git a/clang/lib/CodeGen/Mangle.cpp b/clang/lib/CodeGen/Mangle.cpp index 20d54b34105..2e0580f5e79 100644 --- a/clang/lib/CodeGen/Mangle.cpp +++ b/clang/lib/CodeGen/Mangle.cpp @@ -214,12 +214,6 @@ bool MangleContext::shouldMangleDeclName(const NamedDecl *D) { if (!getASTContext().getLangOptions().CPlusPlus) return false; - // No mangling in an "implicit extern C" header. - if (D->getLocation().isValid() && - getASTContext().getSourceManager(). - isInExternCSystemHeader(D->getLocation())) - return false; - // Variables at global scope with non-internal linkage are not mangled if (!FD) { const DeclContext *DC = D->getDeclContext(); diff --git a/clang/test/CodeGenCXX/mangle-system-header.cpp b/clang/test/CodeGenCXX/mangle-system-header.cpp index cb68bc19760..6716b58926d 100644 --- a/clang/test/CodeGenCXX/mangle-system-header.cpp +++ b/clang/test/CodeGenCXX/mangle-system-header.cpp @@ -5,3 +5,7 @@ # 1 "fake_system_header.h" 1 3 4 // CHECK: define void @_ZdlPvS_( void operator delete (void*, void*) {} + +// PR6217 +// CHECK: define void @_Z3barv() +void bar() { } |