[PATCH] D40381: Parse concept definition

2017-11-24 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:1 +// RUN: %clang_cc1 -std=c++1z -fconcepts-ts -fcxx-exceptions -x c++ -verify %s +// expected-no-diagnostics Rakete wrote: > There is no `-fconcepts-ts`

[PATCH] D40381: Parse concept definition

2017-11-24 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:1 +// RUN: %clang_cc1 -std=c++1z -fconcepts-ts -fcxx-exceptions -x c++ -verify %s +// expected-no-diagnostics hubert.reinterpretcast wrote: > saar.raz wrote: > >

[PATCH] D40381: Parse concept definition

2017-11-26 Thread Saar Raz via Phabricator via cfe-commits
saar.raz requested changes to this revision. saar.raz added a comment. This revision now requires changes to proceed. Do the requested clang-formatting as shown by hubert, other than that looks good to me :) https://reviews.llvm.org/D40381 ___

[PATCH] D40381: Parse concept definition

2017-11-23 Thread Saar Raz via Phabricator via cfe-commits
saar.raz requested changes to this revision. saar.raz added a comment. This revision now requires changes to proceed. Also add: In ASTDumper +void VisitConceptTemplateDecl(const ConceptTemplateDecl *D); Implementation: void ASTDumper::VisitConceptTemplateDecl(const ConceptTemplateDecl

[PATCH] D41217: [Concepts] Concept Specialization Expressions

2017-12-17 Thread Saar Raz via Phabricator via cfe-commits
saar.raz added inline comments. Comment at: lib/Parse/ParseExpr.cpp:223 ExprResult Parser::ParseConstraintExpression() { - // FIXME: this may erroneously consume a function-body as the braced - // initializer list of a compound literal - // - // FIXME: this may erroneously

[PATCH] D41217: [Concepts] Concept Specialization Expressions

2017-12-14 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 126953. saar.raz added a comment. Previous updated diff mistakenly included https://reviews.llvm.org/D40381, fixed that. Repository: rC Clang https://reviews.llvm.org/D41217 Files: include/clang/AST/DeclTemplate.h include/clang/AST/ExprCXX.h

[PATCH] D41217: [Concepts] Concept Specialization Expressions

2017-12-14 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 126950. saar.raz added a comment. - Fixed indentation problems Repository: rC Clang https://reviews.llvm.org/D41217 Files: include/clang/AST/DeclTemplate.h include/clang/AST/ExprCXX.h include/clang/AST/RecursiveASTVisitor.h

[PATCH] D41217: [Concepts] Concept Specialization Expressions

2017-12-14 Thread Saar Raz via Phabricator via cfe-commits
saar.raz marked 2 inline comments as done. saar.raz added a comment. Fixed indentations. Repository: rC Clang https://reviews.llvm.org/D41217 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D41284: Associated constraint infrastructure.

2017-12-15 Thread Saar Raz via Phabricator via cfe-commits
saar.raz created this revision. saar.raz added reviewers: changyu, hubert.reinterpretcast, rsmith, nwilson. Herald added a subscriber: cfe-commits. Added code to correctly calculate the associated constraints of a template. Depends on https://reviews.llvm.org/D41217. Repository: rC Clang

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

2017-12-15 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 127163. saar.raz added a comment. - Added requires clause matching for all kinds of template redeclarations instead of just classes. Repository: rC Clang https://reviews.llvm.org/D41284 Files: include/clang/AST/DeclTemplate.h

[PATCH] D41217: [Concepts] Concept Specialization Expressions

2017-12-13 Thread Saar Raz via Phabricator via cfe-commits
saar.raz created this revision. saar.raz added reviewers: changyu, rsmith, hubert.reinterpretcast, nwilson. Herald added a subscriber: cfe-commits. Part of the P0734r0 Concepts implementation effort. Added Concept Specialization Expressions and tests thereof. Also added constraint expression

[PATCH] D40381: Parse concept definition

2017-12-17 Thread Saar Raz via Phabricator via cfe-commits
saar.raz added inline comments. Comment at: lib/Sema/SemaTemplate.cpp:3899 + // constraint expressions right now. + return Template->getConstraintExpr(); +} faisalv wrote: > I don't think we want to just return the constraint expr? I think we would > need to

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

2018-05-16 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 147188. saar.raz added a comment. - Fixed handling of empty/non-expression after trailing requires keyword. - Unified satisfaction check for templated/non-templated constraint exprs Repository: rC Clang https://reviews.llvm.org/D43357 Files:

[PATCH] D44352: [Concepts] Constrained template parameters

2018-05-16 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 147190. saar.raz added a comment. Adjusted to changes in dependent patches. Repository: rC Clang https://reviews.llvm.org/D44352 Files: include/clang/AST/DeclTemplate.h include/clang/AST/RecursiveASTVisitor.h include/clang/AST/TemplateBase.h

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

2018-05-16 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 147187. saar.raz added a comment. - Adjusted constraint normalization to piecewise constraint substitution - Normalized constraints are now represented as described in the standard (a non-substituted expression along with a list of "template arguments").

[PATCH] D41217: [Concepts] Concept Specialization Expressions

2017-12-24 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 128121. saar.raz added a comment. Reverted to original constraint parsing code. https://reviews.llvm.org/D41217 Files: include/clang/AST/DeclTemplate.h include/clang/AST/ExprCXX.h include/clang/AST/RecursiveASTVisitor.h

[PATCH] D41569: Summary:Constraint enforcement and diagnostics

2017-12-24 Thread Saar Raz via Phabricator via cfe-commits
saar.raz created this revision. saar.raz added reviewers: hubert.reinterpretcast, rsmith, nwilson, changyu, faisalv. Herald added a subscriber: cfe-commits. - Associated constraints (requires clauses, currently) are now enforced when instantiating/specializing templates and when considering

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

2018-01-10 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 129297. saar.raz added a comment. - Fixed wrong if that would cause valid instantiated requires clauses to not be accepted. Repository: rC Clang https://reviews.llvm.org/D41284 Files: include/clang/AST/DeclTemplate.h

[PATCH] D41569: Summary:Constraint enforcement and diagnostics

2018-01-10 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 129306. saar.raz added a comment. - Better handling of diagnostics in ConceptSpecializationExprs, correctly written to and read from module files. - Modified Error messages according to some user feedback Updating D41569: Summary: =

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

2018-01-10 Thread Saar Raz via Phabricator via cfe-commits
saar.raz created this revision. saar.raz added reviewers: hubert.reinterpretcast, rsmith, nwilson, changyu, faisalv. Herald added a subscriber: cfe-commits. Added support for constraint satisfaction checking and partial ordering of constraints in constrained partial specialization and function

[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

[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

[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

[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

[PATCH] D41217: [Concepts] Concept Specialization Expressions

2018-02-11 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 133799. saar.raz added a comment. - Addressed comments: Added semantic tests for value and template concepts, removed extra period and modified CSE ctor to fit in nicer. Repository: rC Clang https://reviews.llvm.org/D41217 Files:

[PATCH] D43357: Function trailing requires clauses now parsed, supported in overload resolution and when calling, referencing and taking the address of functions or function templates.Does not directl

2018-02-15 Thread Saar Raz via Phabricator via cfe-commits
saar.raz created this revision. saar.raz added reviewers: nwilson, hubert.reinterpretcast, changyu, rsmith, faisalv, Quuxplusone. Herald added a subscriber: cfe-commits. Depends on https://reviews.llvm.org/D41910. Repository: rC Clang https://reviews.llvm.org/D43357 Files:

[PATCH] D41217: [Concepts] Concept Specialization Expressions

2018-08-05 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 159234. saar.raz added a comment. Herald added a subscriber: jfb. - Switch to ASTTemplateArgumentListInfo, add ConstantEvaluated context when parsing constraints Repository: rC Clang https://reviews.llvm.org/D41217 Files:

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

2018-08-05 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 159236. saar.raz added a comment. - Consider requires clause when determining if TPL has an unexpanded pack Repository: rC Clang https://reviews.llvm.org/D41284 Files: include/clang/AST/DeclTemplate.h include/clang/AST/RecursiveASTVisitor.h

[PATCH] D41217: [Concepts] Concept Specialization Expressions

2018-08-10 Thread Saar Raz via Phabricator via cfe-commits
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 -

[PATCH] D41217: [Concepts] Concept Specialization Expressions

2018-08-11 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 160237. saar.raz added a comment. Removed unused "note_in_concept_specialization" diagnostic ID. Repository: rC Clang https://reviews.llvm.org/D41217 Files: include/clang/AST/DeclTemplate.h include/clang/AST/ExprCXX.h

[PATCH] D44352: [Concepts] Constrained template parameters

2018-08-06 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 159378. saar.raz added a comment. Split TryParseConstrainedParameter and ParseConstrainedTemplateParameter in preparation for requries expressions. Repository: rC Clang https://reviews.llvm.org/D44352 Files: include/clang/AST/DeclTemplate.h

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

2018-08-07 Thread Saar Raz via Phabricator via cfe-commits
saar.raz added inline comments. Comment at: lib/Sema/SemaDecl.cpp:8377-8381 + } else if (D.hasTrailingRequiresClause()) { +// C++2a [class.virtual]p6 +// A virtual method shall not have a requires-clause. +

[PATCH] D41217: [Concepts] Concept Specialization Expressions

2018-08-07 Thread Saar Raz via Phabricator via cfe-commits
saar.raz added inline comments. Comment at: lib/Sema/SemaConcept.cpp:34 + Diag(ConstraintExpression->getExprLoc(), + diag::err_non_bool_atomic_constraint) + << ConstraintExpression << ConstraintExpression->getType(); saar.raz wrote: >

[PATCH] D41217: [Concepts] Concept Specialization Expressions

2018-08-07 Thread Saar Raz via Phabricator via cfe-commits
saar.raz added a comment. @rsmith - thanks for the responses! Will also address the comments I haven't responded to soon. Comment at: include/clang/AST/ExprCXX.h:4420 + /// \brief The concept named. + ConceptDecl *NamedConcept; + rsmith wrote: > You should

[PATCH] D41217: [Concepts] Concept Specialization Expressions

2018-08-13 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 160437. saar.raz added a comment. Address Arthur's comments, add missing CorrectDelayedTyposInExpr Repository: rC Clang https://reviews.llvm.org/D41217 Files: include/clang/AST/DeclTemplate.h include/clang/AST/ExprCXX.h

[PATCH] D41217: [Concepts] Concept Specialization Expressions

2018-08-13 Thread Saar Raz via Phabricator via cfe-commits
saar.raz added inline comments. Comment at: include/clang/AST/DeclTemplate.h:3063 SourceRange getSourceRange() const override LLVM_READONLY { -return SourceRange(getLocation(), getLocation()); +return SourceRange(getLocation(), getConstraintExpr()->getLocEnd()); }

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

2018-08-15 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 160861. saar.raz added a comment. - Address comments by rsmith, mainly removing associated constraints caching and instead returning a smallvector of constraint expressions from getAssociatedConstraints. Repository: rC Clang

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

2018-08-05 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 159242. saar.raz added a comment. Herald added a subscriber: jfb. - Adjusted to switch to ASTTemplateArgumentList Repository: rC Clang https://reviews.llvm.org/D41569 Files: include/clang/AST/ExprCXX.h include/clang/Basic/DiagnosticSemaKinds.td

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

2018-08-06 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 159331. saar.raz added a comment. - Fix bad handling of checking of deduced arguments in function templates Repository: rC Clang https://reviews.llvm.org/D41910 Files: include/clang/AST/DeclTemplate.h include/clang/Basic/DiagnosticSemaKinds.td

[PATCH] D41217: [Concepts] Concept Specialization Expressions

2018-08-11 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:121 +template +concept C7 = sizeof(T) == 1 || sizeof(typename T3::type) == 1; // expected-note{{while substituting template arguments into constraint expression here}}

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

2018-08-08 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 159759. saar.raz added a comment. - Moved constraint checks to the end of FinishTemplateArgumentDeduction Repository: rC Clang https://reviews.llvm.org/D41910 Files: include/clang/AST/DeclTemplate.h include/clang/Basic/DiagnosticSemaKinds.td

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

2018-08-06 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 159323. saar.raz added a comment. Herald added a subscriber: jfb. Adjusted to switch to ASTTemplateArgumentListInfo Repository: rC Clang https://reviews.llvm.org/D41910 Files: include/clang/AST/DeclTemplate.h

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

2018-08-06 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 159349. saar.raz added a comment. Herald added a subscriber: jfb. - Fix bad diagnostic detection and suppression Repository: rC Clang https://reviews.llvm.org/D43357 Files: include/clang/AST/Decl.h include/clang/AST/DeclCXX.h

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

2018-08-18 Thread Saar Raz via Phabricator via cfe-commits
saar.raz added inline comments. Comment at: test/CXX/concepts-ts/temp/temp.constr/temp.constr.decl/var-template-decl.cpp:10 + +template requires bool(U()) +int B::A = int(U()); saar.raz wrote: > Rakete wrote: > > Quuxplusone wrote: > > > saar.raz wrote: >

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

2018-08-18 Thread Saar Raz via Phabricator via cfe-commits
saar.raz added inline comments. Comment at: test/CXX/concepts-ts/temp/temp.constr/temp.constr.decl/var-template-decl.cpp:10 + +template requires bool(U()) +int B::A = int(U()); Rakete wrote: > Quuxplusone wrote: > > saar.raz wrote: > > > Quuxplusone wrote:

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

2018-08-17 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 161345. saar.raz added a comment. - Fix bad reference to getRequiresClause on TemplateDecl in assertion Repository: rC Clang https://reviews.llvm.org/D41284 Files: include/clang/AST/DeclTemplate.h include/clang/AST/RecursiveASTVisitor.h

[PATCH] D41217: [Concepts] Concept Specialization Expressions

2018-08-17 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 161343. saar.raz added a comment. - Fix bad ArgsAsWritten assertion, add missing null initializer in ConceptSpecializationExpr. Repository: rC Clang https://reviews.llvm.org/D41217 Files: include/clang/AST/DeclTemplate.h

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

2018-08-17 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 161348. saar.raz added a comment. - Adjusted to new CodeSynthesisContexts, added tests for them. Repository: rC Clang https://reviews.llvm.org/D41569 Files: include/clang/AST/ExprCXX.h include/clang/Basic/DiagnosticSemaKinds.td

[PATCH] D41217: [Concepts] Concept Specialization Expressions

2018-08-18 Thread Saar Raz via Phabricator via cfe-commits
saar.raz added inline comments. Comment at: lib/Sema/SemaTemplateInstantiate.cpp:679-681 + Diags.Report(Active->PointOfInstantiation, + diag::note_constraint_substitution_here) + << Active->InstantiationRange; saar.raz wrote: >

[PATCH] D41217: [Concepts] Concept Specialization Expressions

2018-08-18 Thread Saar Raz via Phabricator via cfe-commits
saar.raz added inline comments. Comment at: lib/Sema/SemaTemplateInstantiate.cpp:679-681 + Diags.Report(Active->PointOfInstantiation, + diag::note_constraint_substitution_here) + << Active->InstantiationRange; rsmith wrote: > Is

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

2018-08-18 Thread Saar Raz via Phabricator via cfe-commits
saar.raz added inline comments. Comment at: test/CXX/concepts-ts/temp/temp.constr/temp.constr.decl/var-template-decl.cpp:10 + +template requires bool(U()) +int B::A = int(U()); Quuxplusone wrote: > For my own edification, could you explain whether, given > >

[PATCH] D41217: [Concepts] Concept Specialization Expressions

2018-08-18 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 161372. saar.raz added a comment. - Address CR comments - add FoundDecl tracking, instantiationdependent calculation, display non-constant expression diagnostic notes Repository: rC Clang https://reviews.llvm.org/D41217 Files:

[PATCH] D40381: Parse concept definition

2018-03-10 Thread Saar Raz via Phabricator via cfe-commits
saar.raz added inline comments. Comment at: lib/Parse/ParseTemplate.cpp:383 + + if (!Tok.is(tok::identifier)) { +Diag(Tok.getLocation(), diag::err_expected) << tok::identifier; We could accept 'bool' here to be nice to people coming in from the old

[PATCH] D44352: [Concepts] Constrained template parameters

2018-03-10 Thread Saar Raz via Phabricator via cfe-commits
saar.raz created this revision. saar.raz added reviewers: nwilson, hubert.reinterpretcast, changyu, rsmith, faisalv, Quuxplusone. Herald added a subscriber: cfe-commits. Added support for constrained template parameters, both simple and with partial template arguments. Depends on

[PATCH] D41569: Summary:Constraint enforcement and diagnostics

2018-03-10 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 137907. saar.raz added a comment. Fixed crash caused by substitution of pack expansion into non-pack parameters in constraint expressions. Updating D41569: Summary: = Constraint enforcement and diagnostics Repository: rC Clang

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

2018-03-10 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 137908. saar.raz added a comment. - Correct handling of non-substitutable concept specialization expressions. Repository: rC Clang https://reviews.llvm.org/D41910 Files: include/clang/AST/DeclTemplate.h include/clang/Sema/Sema.h

[PATCH] D41217: [Concepts] Concept Specialization Expressions

2018-03-10 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 137906. saar.raz added a comment. - Fixed incorrect checking of atomic constraint types. Repository: rC Clang https://reviews.llvm.org/D41217 Files: include/clang/AST/DeclTemplate.h include/clang/AST/ExprCXX.h

[PATCH] D40381: Parse concept definition

2018-03-10 Thread Saar Raz via Phabricator via cfe-commits
saar.raz added inline comments. Comment at: lib/Parse/ParseTemplate.cpp:161 // Parse the actual template declaration. - return ParseSingleDeclarationAfterTemplate(Context, - ParsedTemplateInfo(, -

[PATCH] D41217: [Concepts] Concept Specialization Expressions

2018-03-15 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 138499. saar.raz added a comment. Applied missing clang-format. Repository: rC Clang https://reviews.llvm.org/D41217 Files: include/clang/AST/DeclTemplate.h include/clang/AST/ExprCXX.h include/clang/AST/RecursiveASTVisitor.h

[PATCH] D41217: [Concepts] Concept Specialization Expressions

2018-03-15 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 138497. saar.raz added a comment. Addressed most comments. Repository: rC Clang https://reviews.llvm.org/D41217 Files: include/clang/AST/DeclTemplate.h include/clang/AST/ExprCXX.h include/clang/AST/RecursiveASTVisitor.h

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

2018-03-15 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 138500. saar.raz added a comment. Fixed reference to TemplateParams member in assertion. Repository: rC Clang https://reviews.llvm.org/D41284 Files: include/clang/AST/DeclTemplate.h include/clang/AST/RecursiveASTVisitor.h

[PATCH] D44352: [Concepts] Constrained template parameters

2018-03-15 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 138537. saar.raz added a comment. Fixed test. Repository: rC Clang https://reviews.llvm.org/D44352 Files: include/clang/AST/DeclTemplate.h include/clang/AST/RecursiveASTVisitor.h include/clang/AST/TemplateBase.h

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

2018-03-15 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 138505. saar.raz added a comment. Fixed SpecializedConcept reference to NamedConcept. Repository: rC Clang https://reviews.llvm.org/D41569 Files: include/clang/AST/ExprCXX.h include/clang/Basic/DiagnosticSemaKinds.td include/clang/Sema/Sema.h

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

2018-03-15 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 138509. saar.raz added a comment. Fixed another SpecializedConcept reference to NamedConcept. Repository: rC Clang https://reviews.llvm.org/D41569 Files: include/clang/AST/ExprCXX.h include/clang/Basic/DiagnosticSemaKinds.td

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

2018-03-15 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 138501. saar.raz added a comment. Adjusted to changes in https://reviews.llvm.org/D41217 Repository: rC Clang https://reviews.llvm.org/D41569 Files: include/clang/AST/ExprCXX.h include/clang/Basic/DiagnosticSemaKinds.td include/clang/Sema/Sema.h

[PATCH] D41217: [Concepts] Concept Specialization Expressions

2018-03-14 Thread Saar Raz via Phabricator via cfe-commits
saar.raz added inline comments. Comment at: lib/AST/ExprCXX.cpp:1478 + { +// We do not want error diagnostics escaping here. +Sema::SFINAETrap Trap(S); faisalv wrote: > Hubert: This needs a TODO: the idea is not to drop SFINAE errors, but to > avoid

[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

[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

[PATCH] D41217: [Concepts] Concept Specialization Expressions

2018-03-17 Thread Saar Raz via Phabricator via cfe-commits
saar.raz added inline comments. Comment at: lib/AST/ExprCXX.cpp:1478 + { +// We do not want error diagnostics escaping here. +Sema::SFINAETrap Trap(S); hubert.reinterpretcast wrote: > saar.raz wrote: > > faisalv wrote: > > > Hubert: This needs a TODO:

[PATCH] D40381: Parse concept definition

2019-04-09 Thread Saar Raz via Phabricator via cfe-commits
saar.raz marked 21 inline comments as done. saar.raz added a comment. Only the TemplatedDecl issue remains, all other comments have been addressed and we're rebased onto master. @rsmith please reply to the last comment, and lets finally start merging these :) Repository: rC Clang CHANGES

[PATCH] D40381: Parse concept definition

2019-04-09 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 194417. saar.raz added a comment. Herald added a subscriber: jfb. Herald added a project: clang. Address most of rsmith's CR comments, rebase onto trunk Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D40381/new/

[PATCH] D40381: Parse concept definition

2019-04-09 Thread Saar Raz via Phabricator via cfe-commits
saar.raz added inline comments. Herald added a subscriber: arphaman. Comment at: include/clang/AST/DeclTemplate.h:3035 + SourceRange getSourceRange() const override LLVM_READONLY { +return SourceRange(getLocation(), getLocation()); + } rsmith wrote: >

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

2019-04-13 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 195009. saar.raz added a comment. Rebase onto trunk Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D41569/new/ https://reviews.llvm.org/D41569 Files: include/clang/AST/ExprCXX.h include/clang/Basic/DiagnosticSemaKinds.td

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

2019-04-13 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 195010. saar.raz added a comment. Herald added a reviewer: martong. Herald added a reviewer: shafik. Fixed bug in normalization substitution into CSEs Rebase onto trunk Repository: rC Clang CHANGES SINCE LAST ACTION

[PATCH] D41217: [Concepts] Concept Specialization Expressions

2019-04-12 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 194811. saar.raz marked 3 inline comments as done. saar.raz added a comment. Moved from getLocStart, getLocEnd to getBeginLoc, getEndLoc. Rebase onto master/trunk. Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D41217/new/

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

2019-04-12 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 194984. saar.raz added a comment. Rebase onto trunk Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D41284/new/ https://reviews.llvm.org/D41284 Files: include/clang/AST/DeclTemplate.h

[PATCH] D41217: [Concepts] Concept Specialization Expressions

2019-04-12 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 194979. saar.raz added a comment. Fix wrong patch uploaded Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D41217/new/ https://reviews.llvm.org/D41217 Files: include/clang/AST/DeclTemplate.h include/clang/AST/ExprCXX.h

[PATCH] D41217: [Concepts] Concept Specialization Expressions

2019-04-12 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 194978. saar.raz added a comment. Add new CodeSynthesisContexts to switch where they were missing Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D41217/new/ https://reviews.llvm.org/D41217 Files:

[PATCH] D40381: Parse concept definition

2019-05-13 Thread Saar Raz via Phabricator via cfe-commits
saar.raz added a comment. @rsmith? Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D40381/new/ https://reviews.llvm.org/D40381 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D41217: [Concepts] Concept Specialization Expressions

2019-06-14 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 204764. saar.raz added a comment. Add support for CSE mangling Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D41217/new/ https://reviews.llvm.org/D41217 Files: include/clang/AST/ExprCXX.h

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

2019-06-14 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 204782. saar.raz added a comment. Add support for CSE mangling Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D41569/new/ https://reviews.llvm.org/D41569 Files: include/clang/AST/ExprCXX.h

[PATCH] D41217: [Concepts] Concept Specialization Expressions

2019-06-14 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 204784. saar.raz added a comment. Delay support for mangling to later patch (where CSEs are formed instead of UnresolvedLookupExprs with dependent args) Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D41217/new/

[PATCH] D40381: Parse concept definition

2019-05-04 Thread Saar Raz via Phabricator via cfe-commits
saar.raz added a comment. @rsmith are we done with CR on this? Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D40381/new/ https://reviews.llvm.org/D40381 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D40381: Parse concept definition

2019-05-05 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 198200. saar.raz marked 4 inline comments as done. saar.raz added a comment. - Address final CR comments by rsmith Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D40381/new/ https://reviews.llvm.org/D40381 Files:

[PATCH] D40381: Parse concept definition

2019-05-05 Thread Saar Raz via Phabricator via cfe-commits
saar.raz added a comment. Awesome! I do not have commit permissions though, so can you do the actual commit? Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D40381/new/ https://reviews.llvm.org/D40381 ___ cfe-commits

[PATCH] D40381: Parse concept definition

2019-07-10 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 209068. saar.raz added a comment. Final committed diff. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D40381/new/ https://reviews.llvm.org/D40381 Files: include/clang/AST/ASTNodeTraverser.h include/clang/AST/DeclTemplate.h

[PATCH] D41217: [Concepts] Concept Specialization Expressions

2019-07-13 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 209686. saar.raz added a comment. Herald added a subscriber: erik.pilkington. Rebase onto trunk. Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D41217/new/ https://reviews.llvm.org/D41217 Files: include/clang/AST/ExprCXX.h

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

2019-07-13 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 209689. saar.raz added a comment. Create ASTConstraintSatisfaction for correctly storing constraint satisfaction data in AST nodes, add support for mangling of ConceptSpecializtationExprs Repository: rC Clang CHANGES SINCE LAST ACTION

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

2019-07-13 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 209688. saar.raz added a comment. Rebase onto trunk. Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D41284/new/ https://reviews.llvm.org/D41284 Files: include/clang/AST/ASTNodeTraverser.h include/clang/AST/DeclTemplate.h

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

2019-07-13 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 209695. saar.raz added a comment. Move ConstraintSatisfaction to ASTConcept.h Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D41569/new/ https://reviews.llvm.org/D41569 Files: include/clang/AST/ASTConcept.h

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

2019-06-29 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 207209. saar.raz added a comment. Herald added subscribers: erik.pilkington, mgorny. Create ASTConstraintSatisfaction for correctly storing constraint satisfaction data in AST nodes. Repository: rC Clang CHANGES SINCE LAST ACTION

[PATCH] D40381: Parse concept definition

2019-04-21 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 196009. saar.raz added a comment. Herald added a reviewer: martong. Address CR comments by rsmith Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D40381/new/ https://reviews.llvm.org/D40381 Files:

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

2019-04-22 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 196106. saar.raz added a comment. - Fixed importing of ACs when importing partial specs. - Adjust to getAssociatedConstraints interface change Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D41910/new/

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

2019-04-22 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 196107. saar.raz added a comment. Renamed PartSpec to PartSpec2 (CR) Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D41910/new/ https://reviews.llvm.org/D41910 Files: include/clang/AST/DeclTemplate.h

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

2019-04-22 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 196091. saar.raz added a comment. Adjusted to changes in getAssociatedConstraints interface Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D41569/new/ https://reviews.llvm.org/D41569 Files: include/clang/AST/ExprCXX.h

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

2019-04-22 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 196074. saar.raz added a comment. - Address CR comments by rsmith - Remove obsolete TODOs - Fix redeclaration checking - Change getAssociatedConstraints interface - Add requires clause to ASTNodeTraverser Repository: rC Clang CHANGES SINCE LAST

[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

[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,

[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

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

2019-10-14 Thread Saar Raz via Phabricator via cfe-commits
saar.raz updated this revision to Diff 224898. saar.raz marked 15 inline comments as done. saar.raz added a comment. Remove unrelated cleanup Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D41284/new/ https://reviews.llvm.org/D41284 Files:

  1   2   >