diff options
| author | Nuno Lopes <nunoplopes@sapo.pt> | 2010-01-07 09:36:51 +0000 |
|---|---|---|
| committer | Nuno Lopes <nunoplopes@sapo.pt> | 2010-01-07 09:36:51 +0000 |
| commit | 950d5b2cd32a597830d1cf424f7ff85b34404b59 (patch) | |
| tree | 8b0bd9aa31be33113f6a80ebc2db1d3d241dc1c9 /clang/lib | |
| parent | 1949de7b817805fedd0c701b34539622cf3129a3 (diff) | |
| download | bcm5719-llvm-950d5b2cd32a597830d1cf424f7ff85b34404b59.tar.gz bcm5719-llvm-950d5b2cd32a597830d1cf424f7ff85b34404b59.zip | |
fix PR5869: mangle static symbols like gcc does to make it easier to diff symbol tables
llvm-svn: 92911
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/CodeGen/Mangle.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/Mangle.cpp b/clang/lib/CodeGen/Mangle.cpp index 10fd1f57f6b..d873cfec1bd 100644 --- a/clang/lib/CodeGen/Mangle.cpp +++ b/clang/lib/CodeGen/Mangle.cpp @@ -199,10 +199,13 @@ void CXXNameMangler::mangle(const NamedDecl *D, llvm::StringRef Prefix) { return; } - // <mangled-name> ::= _Z <encoding> + // <mangled-name> ::= _Z [L] <encoding> // ::= <data name> // ::= <special-name> Out << Prefix; + if (D->getLinkage() == NamedDecl::InternalLinkage) // match gcc behavior + Out << 'L'; + if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) mangleFunctionEncoding(FD); else |

