summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/Mangle.cpp
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2009-04-02 16:05:20 +0000
committerAnders Carlsson <andersca@mac.com>2009-04-02 16:05:20 +0000
commitf2125a02db5d37ac558d3f1a3a548f3fe4e03ac2 (patch)
tree6b5d8c30ec076c5af3a98f930cac7fec68c70138 /clang/lib/CodeGen/Mangle.cpp
parent810679c37a499db2111107b69f2bbdb6d135157f (diff)
downloadbcm5719-llvm-f2125a02db5d37ac558d3f1a3a548f3fe4e03ac2.tar.gz
bcm5719-llvm-f2125a02db5d37ac558d3f1a3a548f3fe4e03ac2.zip
Mangle VarDecls correctly.
llvm-svn: 68320
Diffstat (limited to 'clang/lib/CodeGen/Mangle.cpp')
-rw-r--r--clang/lib/CodeGen/Mangle.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/Mangle.cpp b/clang/lib/CodeGen/Mangle.cpp
index 1c84f28d5b8..6e62fcfc2e6 100644
--- a/clang/lib/CodeGen/Mangle.cpp
+++ b/clang/lib/CodeGen/Mangle.cpp
@@ -109,6 +109,16 @@ bool CXXNameMangler::mangle(const NamedDecl *D) {
if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D))
return mangleFunctionDecl(FD);
+ if (const VarDecl *VD = dyn_cast<VarDecl>(D)) {
+ if (!Context.getLangOptions().CPlusPlus ||
+ isInCLinkageSpecification(D))
+ return false;
+
+ Out << "_Z";
+ mangleName(VD);
+ return true;
+ }
+
return false;
}
OpenPOWER on IntegriCloud