summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/StmtProfile.cpp
diff options
context:
space:
mode:
authorSaar Raz <saar@raz.email>2019-10-15 11:48:58 +0000
committerSaar Raz <saar@raz.email>2019-10-15 11:48:58 +0000
commitec87b003823d63f3342cf648f55a134c1522e612 (patch)
tree1eaead2c265468357031c24d3778ff48ede93283 /clang/lib/AST/StmtProfile.cpp
parent1ae2d9a2bdce054560104f428e92eaef736e5c7f (diff)
downloadbcm5719-llvm-ec87b003823d63f3342cf648f55a134c1522e612.tar.gz
bcm5719-llvm-ec87b003823d63f3342cf648f55a134c1522e612.zip
[Concepts] Concept Specialization Expressions
Part of C++20 Concepts implementation effort. Added Concept Specialization Expressions that are created when a concept is referenced with arguments, and tests thereof. llvm-svn: 374882
Diffstat (limited to 'clang/lib/AST/StmtProfile.cpp')
-rw-r--r--clang/lib/AST/StmtProfile.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/lib/AST/StmtProfile.cpp b/clang/lib/AST/StmtProfile.cpp
index 9c19305a7da..82bb4b86d98 100644
--- a/clang/lib/AST/StmtProfile.cpp
+++ b/clang/lib/AST/StmtProfile.cpp
@@ -1309,6 +1309,14 @@ void StmtProfiler::VisitAtomicExpr(const AtomicExpr *S) {
ID.AddInteger(S->getOp());
}
+void StmtProfiler::VisitConceptSpecializationExpr(
+ const ConceptSpecializationExpr *S) {
+ VisitExpr(S);
+ VisitDecl(S->getFoundDecl());
+ VisitTemplateArguments(S->getTemplateArgsAsWritten()->getTemplateArgs(),
+ S->getTemplateArgsAsWritten()->NumTemplateArgs);
+}
+
static Stmt::StmtClass DecodeOperatorCall(const CXXOperatorCallExpr *S,
UnaryOperatorKind &UnaryOp,
BinaryOperatorKind &BinaryOp) {
OpenPOWER on IntegriCloud