[PATCH] D50360: [Concepts] Requires Expressions

2020-01-15 Thread Saar Raz via Phabricator via cfe-commits
saar.raz marked 4 inline comments as done. saar.raz added a comment. Addressed comments in latest diff. Comment at: clang/include/clang/AST/RecursiveASTVisitor.h:2714-2716 + if (RetReq.isTypeConstraint()) +TRY_TO(TraverseTemplateParameterListHelper( +

[PATCH] D50360: [Concepts] Requires Expressions

2020-01-15 Thread Saar Raz via Phabricator via cfe-commits
saar.raz marked an inline comment as done. saar.raz added a comment. Addressed comments in latest diff. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D50360/new/ https://reviews.llvm.org/D50360 ___ cfe-

[PATCH] D50360: [Concepts] Requires Expressions

2019-11-05 Thread Saar Raz via Phabricator via cfe-commits
saar.raz added inline comments. Comment at: lib/Sema/SemaTemplateInstantiate.cpp:1021-1052 +ExprResult TransformRequiresExpr(RequiresExpr *E) { + LocalInstantiationScope Scope(SemaRef, /*CombineWithOuterScope=*/true); + return TreeTransform::TransformRequiresExpr(E)

[PATCH] D41910: [Concepts] Constrained partial specializations and function overloads.

2019-12-05 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 232457. saar.raz marked 7 inline comments as done. saar.raz added a comment. Address all CR comments by rsmith (including rewrite of normalization). Decided to not support things like: template concept C = ...; template requires C struct S { }; For now, as

[PATCH] D41910: [Concepts] Constrained partial specializations and function overloads.

2019-12-05 Thread Saar Raz via Phabricator via cfe-commits
saar.raz added a comment. Addressed in latest diff Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D41910/new/ https://reviews.llvm.org/D41910 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https

[PATCH] D41910: [Concepts] Constrained partial specializations and function overloads.

2019-12-18 Thread Saar Raz via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG12038be20ee6: [Concepts] Fix crash in D41910 (authored by saar.raz). Changed prior to commit: https://reviews.llvm.org/D41910?vs=232457&id=234587#toc Repository: rG LLVM Github Monorepo CHANGES SINC

[PATCH] D43357: [Concepts] Function trailing requires clauses

2019-12-20 Thread Saar Raz via Phabricator via cfe-commits
saar.raz added inline comments. Comment at: clang/lib/Parse/ParseDecl.cpp:2068-2069 if (ParseAsmAttributesAfterDeclarator(D)) return nullptr; rsmith wrote: > We should check with GCC to see which side of the requires-clause they expect > this. > > F

[PATCH] D65042: [Concept] Placeholder constraints and abbreviated templates

2020-01-16 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 238478. saar.raz marked 21 inline comments as done. saar.raz added a comment. Address CR comments. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D65042/new/ https://reviews.llvm.org/D65042 Files: .gitignore

[PATCH] D72552: [Concepts] Constraint Satisfaction Caching

2020-01-21 Thread Saar Raz via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGb933d37cd377: [Concepts] Constraint Satisfaction Caching (authored by saar.raz). Changed prior to commit: https://reviews.llvm.org/D72552?vs=237474&id=239464#toc Repository: rG LLVM Github Monorepo

[PATCH] D73150: [Concepts] Remove -fconcepts-ts, enable concepts support under -std=c++2a

2020-01-21 Thread Saar Raz via Phabricator via cfe-commits
saar.raz created this revision. saar.raz added a reviewer: rsmith. Herald added a project: clang. Herald added a subscriber: cfe-commits. Enable concepts support under normal -std=c++2a and not under -fconcepts-ts, which is now deprecated. Repository: rG LLVM Github Monorepo https://reviews.

[PATCH] D73153: [Concepts] Update ReleaseNotes with Concepts support

2020-01-21 Thread Saar Raz via Phabricator via cfe-commits
saar.raz created this revision. saar.raz added a reviewer: rsmith. Herald added a project: clang. Herald added a subscriber: cfe-commits. Update Clang 10 release notes with news of Concepts support. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D73153 Files: clang/docs/Relea

[PATCH] D73150: [Concepts] Remove -fconcepts-ts, enable concepts support under -std=c++2a

2020-01-21 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 239472. saar.raz added a comment. Readd -fconcepts-ts for deprecation diagnostic Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D73150/new/ https://reviews.llvm.org/D73150 Files: clang/include/clang/Basic/Dia

[PATCH] D73155: [Concepts] Implement P1616R1 - Using unconstrained template template parameters with constrained templates

2020-01-21 Thread Saar Raz via Phabricator via cfe-commits
saar.raz created this revision. saar.raz added a reviewer: rsmith. Herald added a project: clang. Herald added a subscriber: cfe-commits. Allow unconstrained template template parameters to accept constrainted templates as arguments. Repository: rG LLVM Github Monorepo https://reviews.llvm.o

[PATCH] D73155: [Concepts] Implement P1616R1 - Using unconstrained template template parameters with constrained templates

2020-01-23 Thread Saar Raz via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGd42d5eb8ea77: [Concepts] Implement P1616R1 - Using unconstrained template template parameters… (authored by saar.raz). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.ll

[PATCH] D41217: [Concepts] Concept Specialization Expressions

2018-04-04 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 140948. saar.raz added a comment. - Switched to piecewise substitution of atomic constraints when evaluating constraint expressions - Added tests for piecewise substitution behavior - Removed some redundant parentheses Repository: rC Clang https://revie

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

2018-04-05 Thread Saar Raz via Phabricator via cfe-commits
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 tha

[PATCH] D41569: Summary:Constraint enforcement and diagnostics

2018-02-02 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 132576. saar.raz added a comment. - When a conjunction constraint expression has both sides false, both sides will now be diagnosed. Updating D41569: Summary: = Constraint enforcement and diagnostics Repository: rC Clang https:

[PATCH] D41217: [Concepts] Concept Specialization Expressions

2018-02-03 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 132743. saar.raz added a comment. Herald added subscribers: hintonda, mgorny. - Moved general concepts-related function into SemaConcept.cpp Repository: rC Clang https://reviews.llvm.org/D41217 Files: include/clang/AST/DeclTemplate.h include/clang/A

[PATCH] D41284: [Concepts] Associated constraints infrastructure.

2018-02-03 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 132748. saar.raz added a comment. Moved function into SemaConcept.cpp. Repository: rC Clang https://reviews.llvm.org/D41284 Files: include/clang/AST/DeclTemplate.h include/clang/AST/RecursiveASTVisitor.h include/clang/Sema/Sema.h lib/AST/DeclTem

[PATCH] D41217: [Concepts] Concept Specialization Expressions

2018-02-03 Thread Saar Raz via Phabricator via cfe-commits
saar.raz added inline comments. Comment at: test/CXX/concepts-ts/expr/expr.prim/expr.prim.id/p3.cpp:12 + +template concept C3 = sizeof(*T{}) == 4; +static_assert(C3); Quuxplusone wrote: > "test/Parser/cxx-concept-declaration.cpp" has some syntax tests for > "val

<    1   2