[PATCH] D50360: [Concepts] Requires Expressions

Saar Raz via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sat Apr 20 09:50:10 PDT 2019


saar.raz updated this revision to Diff 195972.
saar.raz added a comment.
Herald added a subscriber: arphaman.

- Rebase onto trunk
- Fixed ignoring of ScopeSpecifier in constrained parameter in compound requirements
- Fixed incorrect substitution and type deduction into constrained parameter return type requirement (depth was not being considered)
- Fix incorrect check for unevaluated context for requires expr local parameters.
- Added short-circuiting to the substitution-satisfaction check
- Disallow plain 'auto' in return type requirement
- Fixed bug where diagnosed but successful substitution would count as valid
- Add non-SFINAE CodeSynthesisContext to nested requirement constraints check
- Remove a shortcut 'if' in compound requirements which was non-conforming
- Split requires expr parameter and body scopes
- Add missing CorrectDelayedTyposInExpr
- Add RequiresBodyDecl to switch where it was missing
- Predefine __cpp_concepts when concepts are activated
- Deal with cases where substitution failed but no diagnostic is available


Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D50360/new/

https://reviews.llvm.org/D50360

Files:
  include/clang/AST/DeclCXX.h
  include/clang/AST/ExprCXX.h
  include/clang/AST/RecursiveASTVisitor.h
  include/clang/Basic/DeclNodes.td
  include/clang/Basic/DiagnosticIDs.h
  include/clang/Basic/DiagnosticParseKinds.td
  include/clang/Basic/DiagnosticSemaKinds.td
  include/clang/Basic/StmtNodes.td
  include/clang/Parse/Parser.h
  include/clang/Sema/DeclSpec.h
  include/clang/Sema/Sema.h
  include/clang/Sema/SemaConcept.h
  include/clang/Serialization/ASTBitCodes.h
  lib/AST/DeclBase.cpp
  lib/AST/DeclCXX.cpp
  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/CGDecl.cpp
  lib/CodeGen/CGExprScalar.cpp
  lib/Frontend/FrontendActions.cpp
  lib/Frontend/InitPreprocessor.cpp
  lib/Parse/ParseDecl.cpp
  lib/Parse/ParseExpr.cpp
  lib/Parse/ParseExprCXX.cpp
  lib/Sema/SemaConcept.cpp
  lib/Sema/SemaDecl.cpp
  lib/Sema/SemaExceptionSpec.cpp
  lib/Sema/SemaExpr.cpp
  lib/Sema/SemaExprCXX.cpp
  lib/Sema/SemaLookup.cpp
  lib/Sema/SemaTemplateDeduction.cpp
  lib/Sema/SemaTemplateInstantiate.cpp
  lib/Sema/SemaTemplateInstantiateDecl.cpp
  lib/Sema/SemaType.cpp
  lib/Sema/TreeTransform.h
  lib/Serialization/ASTCommon.cpp
  lib/Serialization/ASTReaderStmt.cpp
  lib/Serialization/ASTWriterStmt.cpp
  lib/StaticAnalyzer/Core/ExprEngine.cpp
  test/CXX/concepts-ts/expr/expr.prim/expr.prim.req/compound-requirement.cpp
  test/CXX/concepts-ts/expr/expr.prim/expr.prim.req/equivalence.cpp
  test/CXX/concepts-ts/expr/expr.prim/expr.prim.req/nested-requirement.cpp
  test/CXX/concepts-ts/expr/expr.prim/expr.prim.req/p3.cpp
  test/CXX/concepts-ts/expr/expr.prim/expr.prim.req/requires-expr.cpp
  test/CXX/concepts-ts/expr/expr.prim/expr.prim.req/simple-requirement.cpp
  test/CXX/concepts-ts/expr/expr.prim/expr.prim.req/type-requirement.cpp
  test/Parser/cxx2a-concepts-requires-expr.cpp
  test/SemaTemplate/instantiate-requires-expr.cpp
  tools/libclang/CIndex.cpp
  tools/libclang/CXCursor.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D50360.195972.patch
Type: text/x-patch
Size: 209034 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190420/81233475/attachment-0001.bin>


More information about the cfe-commits mailing list