summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/StmtProfile.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2014-11-08 05:07:16 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2014-11-08 05:07:16 +0000
commit0f0af19b058151690ec02d781d0039fb1fc38426 (patch)
tree628729499c9190870f32a30ddfea3d8c9db273fd /clang/lib/AST/StmtProfile.cpp
parent8f6dd44056ceb2821b7692f1a110f91866b1bf2b (diff)
downloadbcm5719-llvm-0f0af19b058151690ec02d781d0039fb1fc38426.tar.gz
bcm5719-llvm-0f0af19b058151690ec02d781d0039fb1fc38426.zip
[c++1z] N4295: fold-expressions.
This is a new form of expression of the form: (expr op ... op expr) where one of the exprs is a parameter pack. It expands into (expr1 op (expr2onwards op ... op expr)) (and likewise if the pack is on the right). The non-pack operand can be omitted; in that case, an empty pack gives a fallback value or an error, depending on the operator. llvm-svn: 221573
Diffstat (limited to 'clang/lib/AST/StmtProfile.cpp')
-rw-r--r--clang/lib/AST/StmtProfile.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/AST/StmtProfile.cpp b/clang/lib/AST/StmtProfile.cpp
index 15a86769862..647b643486c 100644
--- a/clang/lib/AST/StmtProfile.cpp
+++ b/clang/lib/AST/StmtProfile.cpp
@@ -1238,6 +1238,11 @@ void StmtProfiler::VisitMaterializeTemporaryExpr(
VisitExpr(S);
}
+void StmtProfiler::VisitCXXFoldExpr(const CXXFoldExpr *S) {
+ VisitExpr(S);
+ ID.AddInteger(S->getOperator());
+}
+
void StmtProfiler::VisitOpaqueValueExpr(const OpaqueValueExpr *E) {
VisitExpr(E);
}
OpenPOWER on IntegriCloud