diff options
author | Saar Raz <saar@raz.email> | 2019-10-15 11:48:58 +0000 |
---|---|---|
committer | Saar Raz <saar@raz.email> | 2019-10-15 11:48:58 +0000 |
commit | ec87b003823d63f3342cf648f55a134c1522e612 (patch) | |
tree | 1eaead2c265468357031c24d3778ff48ede93283 /clang/lib/CodeGen | |
parent | 1ae2d9a2bdce054560104f428e92eaef736e5c7f (diff) | |
download | bcm5719-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/CodeGen')
-rw-r--r-- | clang/lib/CodeGen/CGExprScalar.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CGExprScalar.cpp b/clang/lib/CodeGen/CGExprScalar.cpp index a10b18c5c94..f1396137d70 100644 --- a/clang/lib/CodeGen/CGExprScalar.cpp +++ b/clang/lib/CodeGen/CGExprScalar.cpp @@ -673,6 +673,10 @@ public: return llvm::ConstantInt::get(ConvertType(E->getType()), E->getValue()); } + Value *VisitConceptSpecializationExpr(const ConceptSpecializationExpr *E) { + return Builder.getInt1(E->isSatisfied()); + } + Value *VisitArrayTypeTraitExpr(const ArrayTypeTraitExpr *E) { return llvm::ConstantInt::get(Builder.getInt32Ty(), E->getValue()); } |