diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2012-02-06 02:54:51 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2012-02-06 02:54:51 +0000 |
commit | 574e896976d65d72b7f0f275a4d88bac7e4225d0 (patch) | |
tree | c5e5fedba4dafdcd012c9ed90f1c0ed5087d535e /clang/lib/AST/ItaniumMangle.cpp | |
parent | 5569e64ea7853aa6ef08dbfbe847647e35ee94fa (diff) | |
download | bcm5719-llvm-574e896976d65d72b7f0f275a4d88bac7e4225d0.tar.gz bcm5719-llvm-574e896976d65d72b7f0f275a4d88bac7e4225d0.zip |
Implement name mangling for scalar value initialization. Reported on IRC by Xeo.
llvm-svn: 149854
Diffstat (limited to 'clang/lib/AST/ItaniumMangle.cpp')
-rw-r--r-- | clang/lib/AST/ItaniumMangle.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/clang/lib/AST/ItaniumMangle.cpp b/clang/lib/AST/ItaniumMangle.cpp index 9c697ed9b1e..37ae6266836 100644 --- a/clang/lib/AST/ItaniumMangle.cpp +++ b/clang/lib/AST/ItaniumMangle.cpp @@ -2247,7 +2247,6 @@ recurse: case Expr::ImplicitValueInitExprClass: case Expr::InitListExprClass: case Expr::ParenListExprClass: - case Expr::CXXScalarValueInitExprClass: llvm_unreachable("unexpected statement kind"); // FIXME: invent manglings for all these. @@ -2427,6 +2426,12 @@ recurse: break; } + case Expr::CXXScalarValueInitExprClass: + Out <<"cv"; + mangleType(E->getType()); + Out <<"_E"; + break; + case Expr::UnaryExprOrTypeTraitExprClass: { const UnaryExprOrTypeTraitExpr *SAE = cast<UnaryExprOrTypeTraitExpr>(E); |