mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-01-09 17:43:57 +00:00
Don't turn off mangling in implicitly extern "C" system headers. GCC
doesn't do this on any of the major platforms, and we don't really support any of the platforms that do (nor will we actually handle those headers well). Fixes PR6217; see PR6530 for details on what we would need to do to support these platforms. llvm-svn: 97899
This commit is contained in:
parent
5cb196e14b
commit
577cf97cf3
@ -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();
|
||||
|
@ -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() { }
|
||||
|
Loading…
Reference in New Issue
Block a user