diff options
| author | 2018-04-06 14:26:03 +0000 | |
|---|---|---|
| committer | 2018-04-06 14:26:03 +0000 | |
| commit | bdabc2f19ffb9e20600dad6e8a300842a7bda50e (patch) | |
| tree | c50e7b2e5449b074651bb82a58517a8ebc4a8cf7 /gnu/llvm/tools/clang/lib/AST/Mangle.cpp | |
| parent | Print a 'p' flag for file descriptors that were opened after pledge(2). (diff) | |
| download | wireguard-openbsd-bdabc2f19ffb9e20600dad6e8a300842a7bda50e.tar.xz wireguard-openbsd-bdabc2f19ffb9e20600dad6e8a300842a7bda50e.zip | |
Import LLVM 6.0.1 release including clang, lld and lldb.
"where is the kaboom?" deraadt@
Diffstat (limited to 'gnu/llvm/tools/clang/lib/AST/Mangle.cpp')
| -rw-r--r-- | gnu/llvm/tools/clang/lib/AST/Mangle.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gnu/llvm/tools/clang/lib/AST/Mangle.cpp b/gnu/llvm/tools/clang/lib/AST/Mangle.cpp index 00d50c0e3bd..56a2500274a 100644 --- a/gnu/llvm/tools/clang/lib/AST/Mangle.cpp +++ b/gnu/llvm/tools/clang/lib/AST/Mangle.cpp @@ -103,6 +103,11 @@ bool MangleContext::shouldMangleDeclName(const NamedDecl *D) { if (CC != CCM_Other) return true; + // If the declaration has an owning module for linkage purposes that needs to + // be mangled, we must mangle its name. + if (!D->hasExternalFormalLinkage() && D->getOwningModuleForLinkage()) + return true; + // In C, functions with no attributes never need to be mangled. Fastpath them. if (!getASTContext().getLangOpts().CPlusPlus && !D->hasAttrs()) return false; |
