summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2009-12-16 05:48:46 +0000
committerAnders Carlsson <andersca@mac.com>2009-12-16 05:48:46 +0000
commitb7e93e268f358a5150dc5a7e85e91fd1b4d7021c (patch)
tree07b429220f92d8595a85ea118e93c45efc5be4e0 /clang/lib/CodeGen
parent686b8458f4657d4d8fdb7a927285d8aa352b42c6 (diff)
downloadbcm5719-llvm-b7e93e268f358a5150dc5a7e85e91fd1b4d7021c.tar.gz
bcm5719-llvm-b7e93e268f358a5150dc5a7e85e91fd1b4d7021c.zip
Mangle CXXOperatorCallExprs, fixes PR5796.
llvm-svn: 91507
Diffstat (limited to 'clang/lib/CodeGen')
-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 90cc89445e4..6c28d22f6b6 100644
--- a/clang/lib/CodeGen/Mangle.cpp
+++ b/clang/lib/CodeGen/Mangle.cpp
@@ -1078,6 +1078,16 @@ void CXXNameMangler::mangleExpression(const Expr *E) {
break;
}
+ case Expr::CXXOperatorCallExprClass: {
+ const CXXOperatorCallExpr *CE = cast<CXXOperatorCallExpr>(E);
+ unsigned NumArgs = CE->getNumArgs();
+ mangleOperatorName(CE->getOperator(), /*Arity=*/NumArgs);
+ // Mangle the arguments.
+ for (unsigned i = 0; i != NumArgs; ++i)
+ mangleExpression(CE->getArg(i));
+ break;
+ }
+
case Expr::ParenExprClass:
mangleExpression(cast<ParenExpr>(E)->getSubExpr());
break;
OpenPOWER on IntegriCloud