diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2014-11-10 19:44:15 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2014-11-10 19:44:15 +0000 |
commit | 8e6923b7f2d7651d2cec0967645a5a75db2b8bfd (patch) | |
tree | 9c6a2a2e977f2cc6080d068448f3c39a20aa014b /clang/lib/AST/ItaniumMangle.cpp | |
parent | 442e1e05e9efdd02534932070a9a1990b3b5e4d0 (diff) | |
download | bcm5719-llvm-8e6923b7f2d7651d2cec0967645a5a75db2b8bfd.tar.gz bcm5719-llvm-8e6923b7f2d7651d2cec0967645a5a75db2b8bfd.zip |
Update fold-expression mangling to match cxx-abi-dev discussion.
llvm-svn: 221623
Diffstat (limited to 'clang/lib/AST/ItaniumMangle.cpp')
-rw-r--r-- | clang/lib/AST/ItaniumMangle.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/clang/lib/AST/ItaniumMangle.cpp b/clang/lib/AST/ItaniumMangle.cpp index d7b82eb56a7..e6409ce4d87 100644 --- a/clang/lib/AST/ItaniumMangle.cpp +++ b/clang/lib/AST/ItaniumMangle.cpp @@ -3217,12 +3217,10 @@ recurse: case Expr::CXXFoldExprClass: { auto *FE = cast<CXXFoldExpr>(E); - if (!FE->getLHS()) - Out << "fl"; - else if (!FE->getRHS()) - Out << "fr"; + if (FE->isLeftFold()) + Out << (FE->getInit() ? "fL" : "fl"); else - Out << "fx"; + Out << (FE->getInit() ? "fR" : "fr"); if (FE->getOperator() == BO_PtrMemD) Out << "ds"; |