[PATCH] D41217: [Concepts] Concept Specialization Expressions
Saar Raz via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Aug 10 17:33:19 PDT 2018
saar.raz updated this revision to Diff 160216.
saar.raz added a comment.
Address Richard's CR comments. Among other things:
- CSEs overhauled and now store both source and converted template arguments (latter are tail-allocated), template KW location and NNS.
- CSEs no longer violate layering - satisfaction check now moved back to CheckConceptTemplateId.
- CodeSynthesisContexts created for both the act of checking the associated constraints of a template or the constraint expression of a concept (non-SFINAE), and for the act of substituting template arguments into a(n atomic) constraint expression (SFINAE).
- Added more tests for cases where substitution leads to a non-SFINAE failure and emits diagnostics
- Fixed and added test for incorrect conversion of instantiated CSE argument list.
Repository:
rC Clang
https://reviews.llvm.org/D41217
Files:
include/clang/AST/DeclTemplate.h
include/clang/AST/ExprCXX.h
include/clang/AST/RecursiveASTVisitor.h
include/clang/Basic/DiagnosticSemaKinds.td
include/clang/Basic/StmtNodes.td
include/clang/Sema/Sema.h
include/clang/Serialization/ASTBitCodes.h
lib/AST/Expr.cpp
lib/AST/ExprCXX.cpp
lib/AST/ExprClassification.cpp
lib/AST/ExprConstant.cpp
lib/AST/ItaniumMangle.cpp
lib/AST/StmtPrinter.cpp
lib/AST/StmtProfile.cpp
lib/CodeGen/CGExprScalar.cpp
lib/Parse/ParseExpr.cpp
lib/Parse/ParseTemplate.cpp
lib/Sema/CMakeLists.txt
lib/Sema/SemaConcept.cpp
lib/Sema/SemaExceptionSpec.cpp
lib/Sema/SemaTemplate.cpp
lib/Sema/SemaTemplateInstantiate.cpp
lib/Sema/TreeTransform.h
lib/Serialization/ASTReaderStmt.cpp
lib/Serialization/ASTWriterStmt.cpp
lib/StaticAnalyzer/Core/ExprEngine.cpp
test/CXX/concepts-ts/expr/expr.prim/expr.prim.id/p3.cpp
test/Parser/cxx-concept-declaration.cpp
tools/libclang/CXCursor.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D41217.160216.patch
Type: text/x-patch
Size: 48936 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180811/3e01a55d/attachment-0001.bin>
More information about the cfe-commits
mailing list