[PATCH] D50360: [Concepts] Requires Expressions

2020-01-22 Thread Nico Weber via Phabricator via cfe-commits
thakis added a comment. I figured out the incremental build test problem, see D73202 . Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D50360/new/ https://reviews.llvm.org/D50360 ___

[PATCH] D50360: [Concepts] Requires Expressions

2020-01-19 Thread Nico Weber via Phabricator via cfe-commits
thakis added a comment. In D50360#1828329 , @thakis wrote: > Doesn't this still break check-clang everywhere? See e.g. > http://45.33.8.238/linux/7860/step_7.txt It looks like this is some incremental build issue; after a clean build everything's happy

[PATCH] D50360: [Concepts] Requires Expressions

2020-01-18 Thread Nico Weber via Phabricator via cfe-commits
thakis added a comment. Doesn't this still break check-clang everywhere? See e.g. http://45.33.8.238/linux/7860/step_7.txt Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D50360/new/ https://reviews.llvm.org/D50360

[PATCH] D50360: [Concepts] Requires Expressions

2020-01-18 Thread Nico Weber via Phabricator via cfe-commits
thakis added a comment. This breaks tests on non-Win, see e.g. http://45.33.8.238/linux/7846/step_7.txt http://45.33.8.238/mac/6120/step_7.txt Please watch http://lab.llvm.org:8011/console for a bit after landing changes. Please take a look, and if the fix isn't obvious please revert while you

[PATCH] D50360: [Concepts] Requires Expressions

2020-01-16 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith accepted this revision. rsmith added inline comments. This revision is now accepted and ready to land. Comment at: clang/include/clang/Parse/Parser.h:804-807 + bool TryAnnotateTypeOrScopeToken(bool ClassTemplateDeductionContext = true); + bool TryAnnotateTypeOrScopeToken

[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

2020-01-15 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith added inline comments. Comment at: clang/include/clang/AST/ExprConcepts.h:144-148 + struct SubstitutionDiagnostic { +StringRef SubstitutedEntity; +SourceLocation DiagLoc; +StringRef DiagMessage; + }; Please add a FIXME to store the diagnostic

[PATCH] D50360: [Concepts] Requires Expressions

2020-01-15 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith added inline comments. Comment at: clang/lib/AST/StmtPrinter.cpp:2296 + S.flush(); + if (Buf.find("typename ") != 0) +OS << "typename "; I can see why this is the most straightforward way to implement this, but ... yuck. Please add a FIX

[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-13 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith added a comment. (Partial comments; I'll try to complete the review today or tomorrow.) Comment at: clang/include/clang/AST/ExprCXX.h:4933 + +/// \brief A static requirement that can be used in a requires-expression to You're adding a total of ~400 lin

[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] D50360: [Concepts] Requires Expressions

2019-10-14 Thread Saar Raz via Phabricator via cfe-commits
saar.raz added inline comments. Comment at: lib/AST/StmtProfile.cpp:1325 + //expression. It is equivalent to the simple-requirement x++; [...] + // We therefore do not profile isSimple() here. + ID.AddBoolean(ExprReq->getNoexceptLoc().isValid()); --

[PATCH] D50360: [Concepts] Requires Expressions

2019-06-10 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith added inline comments. Comment at: include/clang/AST/DeclCXX.h:2051 +/// \code +/// template requires requires (T t) { {t++} -> Regular }; +/// \endcode The semicolon here is in the wrong place (should be before the final `}`, not after). ==

[PATCH] D50360: [Concepts] Requires Expressions

2019-04-21 Thread Bruno Ricci via Phabricator via cfe-commits
riccibruno added inline comments. Comment at: include/clang/AST/ExprCXX.h:4671 + bool IsSatisfied; + SourceLocation RequiresKWLoc; + RequiresExprBodyDecl *Body; You can stash these in the bit-field classes of `Stmt` to save some space. Comme