Page MenuHomePhabricator

saar.raz (Saar Raz)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 22 2017, 6:02 AM (95 w, 1 d)

Recent Activity

Jul 20 2019

saar.raz created D65042: [Concept] Placeholder constraints and abbreviated templates.
Jul 20 2019, 5:00 PM · Restricted Project

Jul 13 2019

saar.raz updated the diff for D44352: [Concepts] Type Constraints.

Rebase onto trunk.

Jul 13 2019, 8:42 AM · Restricted Project
saar.raz updated the diff for D41569: [Concepts] Constraint enforcement and diagnostics.

Move ConstraintSatisfaction to ASTConcept.h

Jul 13 2019, 8:07 AM · Restricted Project
saar.raz updated the diff for D41569: [Concepts] Constraint enforcement and diagnostics.

Add support for mangling of ConceptSpecializtationExprs

Jul 13 2019, 6:41 AM · Restricted Project
saar.raz updated the diff for D41284: [Concepts] Associated constraints infrastructure..

Rebase onto trunk.

Jul 13 2019, 6:30 AM · Restricted Project
saar.raz updated the diff for D41217: [Concepts] Concept Specialization Expressions.

Rebase onto trunk.

Jul 13 2019, 6:23 AM · Restricted Project

Jul 10 2019

saar.raz added an edge to rL365699: [Concepts] Concept definitions (D40381): D40381: Parse concept definition.
Jul 10 2019, 2:33 PM
saar.raz added 2 commit(s) for D40381: Parse concept definition: rC365699: [Concepts] Concept definitions (D40381), rL365699: [Concepts] Concept definitions (D40381).
Jul 10 2019, 2:33 PM · Restricted Project
saar.raz updated the diff for D40381: Parse concept definition.

Final committed diff.

Jul 10 2019, 2:33 PM · Restricted Project
saar.raz added an edge to rGd7aae33a9513: [Concepts] Concept definitions (D40381): D40381: Parse concept definition.
Jul 10 2019, 2:30 PM
saar.raz added 1 commit(s) for D40381: Parse concept definition: rGd7aae33a9513: [Concepts] Concept definitions (D40381).
Jul 10 2019, 2:30 PM · Restricted Project
saar.raz committed rGd7aae33a9513: [Concepts] Concept definitions (D40381) (authored by saar.raz).
[Concepts] Concept definitions (D40381)
Jul 10 2019, 2:27 PM
saar.raz committed rL365699: [Concepts] Concept definitions (D40381).
[Concepts] Concept definitions (D40381)
Jul 10 2019, 2:26 PM
saar.raz committed rGcbe3ed17fa99: My first test commit. (authored by saar.raz).
My first test commit.
Jul 10 2019, 1:04 PM
saar.raz committed rL365695: My first test commit..
My first test commit.
Jul 10 2019, 1:02 PM

Jun 29 2019

saar.raz updated the diff for D41569: [Concepts] Constraint enforcement and diagnostics.

Create ASTConstraintSatisfaction for correctly storing constraint satisfaction data in AST nodes.

Jun 29 2019, 1:14 PM · Restricted Project

Jun 16 2019

saar.raz updated the diff for D43357: [Concepts] Function trailing requires clauses.

Add support for lambda expression trailing requires clauses

Jun 16 2019, 9:34 AM · Restricted Project
saar.raz updated the diff for D60939: [Concepts] Delayed Constraint Substitution.

Do not instantiate lambda expression trailing requires clause

Jun 16 2019, 9:28 AM · Restricted Project

Jun 14 2019

saar.raz updated the diff for D60939: [Concepts] Delayed Constraint Substitution.

Only include template parameters that occur in the atomic constraint in the parameter mapping

Jun 14 2019, 3:46 PM · Restricted Project
saar.raz updated the diff for D44352: [Concepts] Type Constraints.

Fix incorrect comparison of type-constraints in template template argument matching

Jun 14 2019, 2:00 PM · Restricted Project
saar.raz updated the diff for D44352: [Concepts] Type Constraints.

Fix incorrect patch upload

Jun 14 2019, 9:27 AM · Restricted Project
saar.raz updated the diff for D50360: [Concepts] Requires Expressions.

Adjusted to changes in previous patches

Jun 14 2019, 9:27 AM · Restricted Project
saar.raz updated the diff for D44352: [Concepts] Type Constraints.

Adjust to changes in previous patches

Jun 14 2019, 9:18 AM · Restricted Project
saar.raz updated the diff for D41217: [Concepts] Concept Specialization Expressions.

Delay support for mangling to later patch (where CSEs are formed instead of UnresolvedLookupExprs with dependent args)

Jun 14 2019, 9:18 AM · Restricted Project
saar.raz updated the diff for D41569: [Concepts] Constraint enforcement and diagnostics.

Add support for CSE mangling

Jun 14 2019, 9:12 AM · Restricted Project
saar.raz updated the diff for D41217: [Concepts] Concept Specialization Expressions.

Add support for CSE mangling

Jun 14 2019, 7:14 AM · Restricted Project

Jun 12 2019

saar.raz updated the diff for D41569: [Concepts] Constraint enforcement and diagnostics.

Fix incorrect handling of recovered-from errors in constraint substitutions.

Jun 12 2019, 1:57 PM · Restricted Project

Jun 11 2019

saar.raz updated the diff for D50360: [Concepts] Requires Expressions.

Ignore RequiresExprBodyDecl when looking for function level decl context

Jun 11 2019, 2:55 PM · Restricted Project
saar.raz updated the diff for D43357: [Concepts] Function trailing requires clauses.

Allow accessing 'this' in requires clause when appropriate.

Jun 11 2019, 2:52 PM · Restricted Project

Jun 10 2019

saar.raz updated the diff for D43357: [Concepts] Function trailing requires clauses.

Introduce function parameters into scope when parsing function requires clause

Jun 10 2019, 2:06 PM · Restricted Project

Jun 9 2019

saar.raz updated the diff for D44352: [Concepts] Type Constraints.
  • Fixed bad wereArgumentsSpecified() implementation
Jun 9 2019, 6:50 AM · Restricted Project
saar.raz updated the diff for D60939: [Concepts] Delayed Constraint Substitution.

Removed support for outdated grammar (adjusting to previous patches)

Jun 9 2019, 6:36 AM · Restricted Project

Jun 8 2019

saar.raz updated the diff for D50360: [Concepts] Requires Expressions.

Remove outdated grammar support in return-type-requirements, removing some hacks and simplifying the code.

Jun 8 2019, 4:11 PM · Restricted Project

May 13 2019

saar.raz added a comment to D40381: Parse concept definition.

@rsmith?

May 13 2019, 12:06 AM · Restricted Project

May 5 2019

saar.raz added a comment to D40381: Parse concept definition.

Awesome! I do not have commit permissions though, so can you do the actual commit?

May 5 2019, 1:49 PM · Restricted Project
saar.raz updated the diff for D40381: Parse concept definition.
  • Address final CR comments by rsmith
May 5 2019, 1:46 PM · Restricted Project

May 4 2019

saar.raz added a comment to D40381: Parse concept definition.

@rsmith are we done with CR on this?

May 4 2019, 9:53 AM · Restricted Project

Apr 27 2019

saar.raz retitled D44352: [Concepts] Type Constraints from [Concepts] Constrained template parameters to [Concepts] Type Constraints.
Apr 27 2019, 6:28 PM · Restricted Project
saar.raz updated the diff for D44352: [Concepts] Type Constraints.
  • removed old handling of constrained-parameters for type-constraints
  • use template-id annotations during parsing to avoid tentative parses and set the ground for placeholder type-constraints
  • add source information to the new TypeConstraint class, which shares a base class (ConceptReference) with ConceptSpecializationExpr
  • change TemplateTypeParmDecl to not return true for wasDeclaredWithTypename if a type-constraint was present (and update places that assumed only 'class' or 'typename' were possible)
Apr 27 2019, 6:28 PM · Restricted Project

Apr 22 2019

saar.raz updated the diff for D43357: [Concepts] Function trailing requires clauses.
  • Address CR comment
  • Adjust to new getAssociatedConstraints interface
  • Add destructor and conversion operator tests
Apr 22 2019, 4:19 PM · Restricted Project
saar.raz updated the diff for D41910: [Concepts] Constrained partial specializations and function overloads..

Renamed PartSpec to PartSpec2 (CR)

Apr 22 2019, 11:52 AM · Restricted Project
saar.raz updated the diff for D41910: [Concepts] Constrained partial specializations and function overloads..
  • Fixed importing of ACs when importing partial specs.
  • Adjust to getAssociatedConstraints interface change
Apr 22 2019, 11:46 AM · Restricted Project
saar.raz updated the diff for D41569: [Concepts] Constraint enforcement and diagnostics.

Adjusted to changes in getAssociatedConstraints interface

Apr 22 2019, 10:38 AM · Restricted Project
saar.raz updated the diff for D41284: [Concepts] Associated constraints infrastructure..
  • Address CR comments by rsmith
    • Remove obsolete TODOs
    • Fix redeclaration checking
    • Change getAssociatedConstraints interface
  • Add requires clause to ASTNodeTraverser
Apr 22 2019, 8:22 AM · Restricted Project

Apr 21 2019

saar.raz updated the diff for D40381: Parse concept definition.

Address CR comments by rsmith

Apr 21 2019, 10:12 AM · Restricted Project

Apr 20 2019

saar.raz created D60939: [Concepts] Delayed Constraint Substitution.
Apr 20 2019, 5:14 PM · Restricted Project
saar.raz added a child revision for D50360: [Concepts] Requires Expressions: D60939: [Concepts] Delayed Constraint Substitution.
Apr 20 2019, 5:14 PM · Restricted Project
saar.raz updated the diff for D50360: [Concepts] Requires Expressions.
  • Remove #ifs from test
  • Updated test diagnostics
Apr 20 2019, 1:56 PM · Restricted Project
saar.raz updated the diff for D43357: [Concepts] Function trailing requires clauses.
  • Remove #if from test
Apr 20 2019, 12:50 PM · Restricted Project
saar.raz updated the diff for D50360: [Concepts] Requires Expressions.
  • 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
Apr 20 2019, 9:50 AM · Restricted Project

Apr 18 2019

saar.raz updated the diff for D44352: [Concepts] Type Constraints.
  • Fixed bad ordering of associated constraints
  • Fixed ignoring of ScopeSpecifier in constrained parameters
  • Adjustments for template template parameter handling
  • Fixed constrained template template parameter and argument handling
Apr 18 2019, 12:32 PM · Restricted Project

Apr 13 2019

saar.raz updated the diff for D43357: [Concepts] Function trailing requires clauses.
  • Add diagnostic explaining the unintuitive subsumption rules when user might be relying on expression equivalence for odering
  • Fixed incorrect checking of trailing requires clause subsumption
  • Fixed missing conversion constraint checking
  • Fixed constraint checking in function templates to recognize function parameters
  • Address CR comments by rsmith
    • Move TrailingRequiresClause to ExtInfo
    • Fixed diagnostic styling
    • Correct checking of constrained virtual functions
    • Small formatting fixes
    • Parse constraint-logical-or-expressions in requires clauses
    • Parse the requires clause as part of the init-declarator, member-declarator or function-definition
    • No dirty diagnostic suppression when trying to parse switched-order trailing requires and return type
Apr 13 2019, 1:00 PM · Restricted Project
saar.raz updated the diff for D41910: [Concepts] Constrained partial specializations and function overloads..

Fixed bug in normalization substitution into CSEs
Rebase onto trunk

Apr 13 2019, 4:38 AM · Restricted Project
saar.raz updated the diff for D41569: [Concepts] Constraint enforcement and diagnostics.

Rebase onto trunk

Apr 13 2019, 3:39 AM · Restricted Project

Apr 12 2019

saar.raz updated the diff for D41284: [Concepts] Associated constraints infrastructure..

Rebase onto trunk

Apr 12 2019, 4:56 PM · Restricted Project
saar.raz updated the diff for D41217: [Concepts] Concept Specialization Expressions.

Fix wrong patch uploaded

Apr 12 2019, 4:08 PM · Restricted Project
saar.raz updated the diff for D41217: [Concepts] Concept Specialization Expressions.

Add new CodeSynthesisContexts to switch where they were missing

Apr 12 2019, 4:04 PM · Restricted Project
saar.raz updated the diff for D41217: [Concepts] Concept Specialization Expressions.

Moved from getLocStart, getLocEnd to getBeginLoc, getEndLoc. Rebase onto master/trunk.

Apr 12 2019, 1:19 AM · Restricted Project

Apr 10 2019

Herald added a project to D41217: [Concepts] Concept Specialization Expressions: Restricted Project.
Apr 10 2019, 2:06 PM · Restricted Project

Apr 9 2019

saar.raz added a comment to D40381: Parse concept definition.

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 :)

Apr 9 2019, 4:34 PM · Restricted Project
saar.raz commandeered D40381: Parse concept definition.
Apr 9 2019, 4:29 PM · Restricted Project
saar.raz updated the diff for D40381: Parse concept definition.

Address most of rsmith's CR comments, rebase onto trunk

Apr 9 2019, 4:24 PM · Restricted Project
saar.raz added inline comments to D40381: Parse concept definition.
Apr 9 2019, 1:33 PM · Restricted Project

Aug 18 2018

saar.raz added inline comments to D41284: [Concepts] Associated constraints infrastructure..
Aug 18 2018, 10:34 PM · Restricted Project
saar.raz added inline comments to D41284: [Concepts] Associated constraints infrastructure..
Aug 18 2018, 10:09 PM · Restricted Project
saar.raz updated the diff for D41217: [Concepts] Concept Specialization Expressions.
  • Address CR comments - add FoundDecl tracking, instantiationdependent calculation, display non-constant expression diagnostic notes
Aug 18 2018, 5:39 AM · Restricted Project
saar.raz added inline comments to D41284: [Concepts] Associated constraints infrastructure..
Aug 18 2018, 2:30 AM · Restricted Project
saar.raz added inline comments to D41217: [Concepts] Concept Specialization Expressions.
Aug 18 2018, 1:31 AM · Restricted Project
saar.raz added inline comments to D41217: [Concepts] Concept Specialization Expressions.
Aug 18 2018, 1:18 AM · Restricted Project

Aug 17 2018

saar.raz updated the diff for D41569: [Concepts] Constraint enforcement and diagnostics.
  • Adjusted to new CodeSynthesisContexts, added tests for them.
Aug 17 2018, 3:22 PM · Restricted Project
saar.raz updated the diff for D41284: [Concepts] Associated constraints infrastructure..
  • Fix bad reference to getRequiresClause on TemplateDecl in assertion
Aug 17 2018, 3:15 PM · Restricted Project
saar.raz updated the diff for D41217: [Concepts] Concept Specialization Expressions.
  • Fix bad ArgsAsWritten assertion, add missing null initializer in ConceptSpecializationExpr.
Aug 17 2018, 3:10 PM · Restricted Project

Aug 15 2018

saar.raz updated the diff for D41284: [Concepts] Associated constraints infrastructure..
  • Address comments by rsmith, mainly removing associated constraints caching and instead returning a smallvector of constraint expressions from getAssociatedConstraints.
Aug 15 2018, 11:10 AM · Restricted Project

Aug 13 2018

saar.raz added inline comments to D41217: [Concepts] Concept Specialization Expressions.
Aug 13 2018, 2:05 PM · Restricted Project
saar.raz updated the diff for D41217: [Concepts] Concept Specialization Expressions.

Address Arthur's comments, add missing CorrectDelayedTyposInExpr

Aug 13 2018, 1:32 PM · Restricted Project

Aug 11 2018

saar.raz added inline comments to D41217: [Concepts] Concept Specialization Expressions.
Aug 11 2018, 12:29 PM · Restricted Project
saar.raz updated the diff for D41217: [Concepts] Concept Specialization Expressions.

Removed unused "note_in_concept_specialization" diagnostic ID.

Aug 11 2018, 3:22 AM · Restricted Project

Aug 10 2018

saar.raz updated the diff for D41217: [Concepts] Concept Specialization Expressions.

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 - satisfaction check now moved back to CheckConceptTemplateId.
  • CodeSynthesisContexts created for both the act of checking the associated constraints of a template or the constraint expression of a concept (non-SFINAE), and for the act of substituting template arguments into a(n atomic) constraint expression (SFINAE).
  • Added more tests for cases where substitution leads to a non-SFINAE failure and emits diagnostics
  • Fixed and added test for incorrect conversion of instantiated CSE argument list.
Aug 10 2018, 5:33 PM · Restricted Project

Aug 8 2018

saar.raz updated the diff for D41910: [Concepts] Constrained partial specializations and function overloads..
  • Moved constraint checks to the end of FinishTemplateArgumentDeduction
Aug 8 2018, 11:08 AM · Restricted Project
saar.raz updated the diff for D50360: [Concepts] Requires Expressions.
  • Predefine __cpp_concepts when supported
Aug 8 2018, 11:06 AM · Restricted Project

Aug 7 2018

saar.raz updated the diff for D50360: [Concepts] Requires Expressions.
  • Deal with cases where substitution fails but no diagnostic is available
Aug 7 2018, 4:02 PM · Restricted Project
saar.raz added inline comments to D43357: [Concepts] Function trailing requires clauses.
Aug 7 2018, 1:40 PM · Restricted Project
saar.raz added inline comments to D41217: [Concepts] Concept Specialization Expressions.
Aug 7 2018, 12:22 PM · Restricted Project
saar.raz added a comment to D41217: [Concepts] Concept Specialization Expressions.

@rsmith - thanks for the responses!
Will also address the comments I haven't responded to soon.

Aug 7 2018, 12:17 PM · Restricted Project

Aug 6 2018

saar.raz created D50360: [Concepts] Requires Expressions.
Aug 6 2018, 2:16 PM · Restricted Project
saar.raz added a child revision for D44352: [Concepts] Type Constraints: D50360: [Concepts] Requires Expressions.
Aug 6 2018, 2:16 PM · Restricted Project
saar.raz updated the diff for D44352: [Concepts] Type Constraints.

Split TryParseConstrainedParameter and ParseConstrainedTemplateParameter in preparation for requries expressions.

Aug 6 2018, 1:24 PM · Restricted Project
saar.raz updated the diff for D43357: [Concepts] Function trailing requires clauses.
  • Fix bad diagnostic detection and suppression
Aug 6 2018, 12:07 PM · Restricted Project
saar.raz updated the diff for D41910: [Concepts] Constrained partial specializations and function overloads..
  • Fix bad handling of checking of deduced arguments in function templates
Aug 6 2018, 10:24 AM · Restricted Project
saar.raz updated the diff for D41910: [Concepts] Constrained partial specializations and function overloads..

Adjusted to switch to ASTTemplateArgumentListInfo

Aug 6 2018, 9:50 AM · Restricted Project

Aug 5 2018

saar.raz updated the diff for D41569: [Concepts] Constraint enforcement and diagnostics.
  • Adjusted to switch to ASTTemplateArgumentList
Aug 5 2018, 10:45 PM · Restricted Project
saar.raz updated the diff for D41284: [Concepts] Associated constraints infrastructure..
  • Consider requires clause when determining if TPL has an unexpanded pack
Aug 5 2018, 3:44 PM · Restricted Project
saar.raz updated the diff for D41217: [Concepts] Concept Specialization Expressions.
  • Switch to ASTTemplateArgumentListInfo, add ConstantEvaluated context when parsing constraints
Aug 5 2018, 2:49 PM · Restricted Project

May 16 2018

saar.raz updated the diff for D44352: [Concepts] Type Constraints.

Adjusted to changes in dependent patches.

May 16 2018, 3:00 PM · Restricted Project
saar.raz updated the diff for D43357: [Concepts] Function trailing requires clauses.
  • Fixed handling of empty/non-expression after trailing requires keyword.
  • Unified satisfaction check for templated/non-templated constraint exprs
May 16 2018, 2:57 PM · Restricted Project
saar.raz updated the diff for D41910: [Concepts] Constrained partial specializations and function overloads..
  • 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").
May 16 2018, 2:54 PM · Restricted Project

Apr 5 2018

saar.raz updated the diff for D41569: [Concepts] Constraint enforcement and diagnostics.

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.
Apr 5 2018, 5:48 PM · Restricted Project

Apr 4 2018

saar.raz updated the diff for D41217: [Concepts] Concept Specialization Expressions.
  • Switched to piecewise substitution of atomic constraints when evaluating constraint expressions
  • Added tests for piecewise substitution behavior
  • Removed some redundant parentheses
Apr 4 2018, 5:45 AM · Restricted Project

Mar 16 2018

saar.raz added inline comments to D41217: [Concepts] Concept Specialization Expressions.
Mar 16 2018, 11:36 PM · Restricted Project

Mar 15 2018

saar.raz updated the diff for D44352: [Concepts] Type Constraints.

Fixed test.

Mar 15 2018, 5:32 AM · Restricted Project