[PATCH] D41569: [Concepts] Constraint enforcement and diagnostics

Saar Raz via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Apr 5 17:48:45 PDT 2018


saar.raz updated this revision to Diff 141248.
saar.raz added a comment.

Adjusted to piecewise substitution.

- Constraint satisfaction will no longer happen for depenent CSEs (was originally needed for normalization, but not worth the trouble with the new piecewise substitution and the fact that it prevents short-circuting)
- Constraint satisfaction checking now breaks down unsatisfied constraint exprs into atomic constraints with the ill-formed diagnostic or the substituted constraint expression for each, later consumed by the diagnostic functions.


Repository:
  rC Clang

https://reviews.llvm.org/D41569

Files:
  include/clang/AST/ExprCXX.h
  include/clang/Basic/DiagnosticSemaKinds.td
  include/clang/Sema/Sema.h
  include/clang/Sema/SemaConcept.h
  include/clang/Sema/TemplateDeduction.h
  lib/AST/ExprCXX.cpp
  lib/Sema/SemaConcept.cpp
  lib/Sema/SemaOverload.cpp
  lib/Sema/SemaTemplate.cpp
  lib/Sema/SemaTemplateDeduction.cpp
  lib/Sema/SemaTemplateInstantiateDecl.cpp
  lib/Serialization/ASTReaderStmt.cpp
  lib/Serialization/ASTWriterStmt.cpp
  test/CXX/concepts-ts/expr/expr.prim/expr.prim.id/p3.cpp
  test/CXX/concepts-ts/temp/temp.constr/temp.constr.constr/function-templates.cpp
  test/CXX/concepts-ts/temp/temp.constr/temp.constr.constr/non-function-templates.cpp
  test/CXX/concepts-ts/temp/temp.constr/temp.constr.constr/partial-specializations.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D41569.141248.patch
Type: text/x-patch
Size: 59105 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180406/c5f26265/attachment-0001.bin>


More information about the cfe-commits mailing list