c++: Some cp-tree.def comment fixes
Checks
Context |
Check |
Description |
linaro-tcwg-bot/tcwg_gcc_build--master-arm |
success
|
Build passed
|
linaro-tcwg-bot/tcwg_gcc_check--master-arm |
success
|
Test passed
|
linaro-tcwg-bot/tcwg_gcc_build--master-aarch64 |
success
|
Build passed
|
linaro-tcwg-bot/tcwg_gcc_check--master-aarch64 |
fail
|
Patch failed to apply
|
Commit Message
Hi!
While reading the fold expression and concept tree comments, I found
various spots referring to non-existent macros etc.
The following patch attempts to sync that with what is actually implemented.
Ok for trunk?
2024-07-22 Jakub Jelinek <jakub@redhat.com>
* cp-tree.def (UNARY_LEFT_FOLD_EXPR): Use FOLD_EXPR_MODIFY_P instead
of FOLD_EXPR_MOD_P or FOLDEXPR_MOD_P in the comment. Comment
formatting fixes.
(ATOMIC_CONSTEXPR): Use CONSTR_INFO instead of ATOMIC_CONSTR_INFO
and ATOMIC_CONSTR_MAP instead of ATOMIC_CONSTR_PARMS in the comment.
Comment formatting fixes.
(CONJ_CONSTR): Remove comment about third operand. Use CONSTR_INFO
instead of CONJ_CONSTR_INFO and DISJ_CONSTR_INFO.
(CHECK_CONSTR): Use CHECK_CONSTR_ARGS instead of
CHECK_CONSTR_ARGUMENTS.
Jakub
Comments
On Mon, Jul 22, 2024 at 05:32:17PM +0200, Jakub Jelinek wrote:
> Hi!
>
> While reading the fold expression and concept tree comments, I found
> various spots referring to non-existent macros etc.
>
> The following patch attempts to sync that with what is actually implemented.
>
> Ok for trunk?
LGTM.
> 2024-07-22 Jakub Jelinek <jakub@redhat.com>
>
> * cp-tree.def (UNARY_LEFT_FOLD_EXPR): Use FOLD_EXPR_MODIFY_P instead
> of FOLD_EXPR_MOD_P or FOLDEXPR_MOD_P in the comment. Comment
> formatting fixes.
> (ATOMIC_CONSTEXPR): Use CONSTR_INFO instead of ATOMIC_CONSTR_INFO
> and ATOMIC_CONSTR_MAP instead of ATOMIC_CONSTR_PARMS in the comment.
> Comment formatting fixes.
> (CONJ_CONSTR): Remove comment about third operand. Use CONSTR_INFO
> instead of CONJ_CONSTR_INFO and DISJ_CONSTR_INFO.
> (CHECK_CONSTR): Use CHECK_CONSTR_ARGS instead of
> CHECK_CONSTR_ARGUMENTS.
>
> --- gcc/cp/cp-tree.def.jj 2024-04-09 09:29:04.709521893 +0200
> +++ gcc/cp/cp-tree.def 2024-07-22 17:26:32.053101302 +0200
> @@ -412,17 +412,17 @@ DEFTREECODE (ARGUMENT_PACK_SELECT, "argu
> /* Fold expressions allow the expansion of a template argument pack
> over a binary operator.
>
> - FOLD_EXPR_MOD_P is true when the fold operation is a compound assignment
> + FOLD_EXPR_MODIFY_P is true when the fold operation is a compound assignment
> operator.
>
> FOLD_EXPR_OP is an INTEGER_CST storing the tree code for the folded
> - expression. Note that when FOLDEXPR_MOD_P is true, the operator is
> + expression. Note that when FOLD_EXPR_MODIFY_P is true, the operator is
> a compound assignment operator for that kind of expression.
>
> FOLD_EXPR_PACK is an expression containing an unexpanded parameter pack;
> when expanded, each term becomes an argument of the folded expression.
>
> - In a BINARY_FOLD_EXPRESSION, FOLD_EXPR_INIT is the non-pack argument. */
> + In a BINARY_FOLD_EXPRESSION, FOLD_EXPR_INIT is the non-pack argument. */
> DEFTREECODE (UNARY_LEFT_FOLD_EXPR, "unary_left_fold_expr", tcc_expression, 2)
> DEFTREECODE (UNARY_RIGHT_FOLD_EXPR, "unary_right_fold_expr", tcc_expression, 2)
> DEFTREECODE (BINARY_LEFT_FOLD_EXPR, "binary_left_fold_expr", tcc_expression, 3)
> @@ -518,24 +518,23 @@ DEFTREECODE (NESTED_REQ, "nested_req", t
>
> /* Constraints are modeled as kinds of expressions.
> The operands of a constraint can be either types or expressions.
> - Unlike expressions, constraints do not have a type. */
> + Unlike expressions, constraints do not have a type. */
>
> /* An atomic constraint evaluates an expression E. The operand of the
> - constraint is its parameter mapping. The actual expression is stored
> + constraint is its parameter mapping. The actual expression is stored
> in the context.
>
> - ATOMIC_CONSTR_INFO provides source info to support diagnostics.
> + CONSTR_INFO provides source info to support diagnostics.
> ATOMIC_CONSTR_EXPR has the expression to be evaluated.
> - ATOMIC_CONSTR_PARMS is the parameter mapping for the atomic constraint
> + ATOMIC_CONSTR_MAP is the parameter mapping for the atomic constraint
> and is stored in the type field. */
> DEFTREECODE (ATOMIC_CONSTR, "atomic_constr", tcc_expression, 1)
>
> /* The conjunction and disjunction of two constraints, respectively.
> - Operands are accessed using TREE_OPERAND. The third operand provides
> - source info for diagnostics.
> + Operands are accessed using TREE_OPERAND.
>
> - CONJ_CONSTR_INFO and DISJ_CONSTR_INFO provide access to the source
> - information of constraints, which is stored in the TREE_TYPE. */
> + CONSTR_INFO provides access to the source information of constraints,
> + which is stored in the TREE_TYPE. */
> DEFTREECODE (CONJ_CONSTR, "conj_constr", tcc_expression, 2)
> DEFTREECODE (DISJ_CONSTR, "disj_constr", tcc_expression, 2)
>
> @@ -544,7 +543,7 @@ DEFTREECODE (DISJ_CONSTR, "disj_constr",
> and a sequence of template arguments.
>
> CHECK_CONSTR_CONCEPT has the concept definition
> - CHECK_CONSTR_ARGUMENTS are the template arguments */
> + CHECK_CONSTR_ARGS are the template arguments. */
> DEFTREECODE (CHECK_CONSTR, "check_constr", tcc_expression, 2)
>
> /* The co_await expression is used to support coroutines.
>
> Jakub
>
Marek
On Mon, 22 Jul 2024, Jakub Jelinek wrote:
> Hi!
>
> While reading the fold expression and concept tree comments, I found
> various spots referring to non-existent macros etc.
>
> The following patch attempts to sync that with what is actually implemented.
>
> Ok for trunk?
>
> 2024-07-22 Jakub Jelinek <jakub@redhat.com>
>
> * cp-tree.def (UNARY_LEFT_FOLD_EXPR): Use FOLD_EXPR_MODIFY_P instead
> of FOLD_EXPR_MOD_P or FOLDEXPR_MOD_P in the comment. Comment
> formatting fixes.
> (ATOMIC_CONSTEXPR): Use CONSTR_INFO instead of ATOMIC_CONSTR_INFO
> and ATOMIC_CONSTR_MAP instead of ATOMIC_CONSTR_PARMS in the comment.
> Comment formatting fixes.
> (CONJ_CONSTR): Remove comment about third operand. Use CONSTR_INFO
> instead of CONJ_CONSTR_INFO and DISJ_CONSTR_INFO.
> (CHECK_CONSTR): Use CHECK_CONSTR_ARGS instead of
> CHECK_CONSTR_ARGUMENTS.
>
> --- gcc/cp/cp-tree.def.jj 2024-04-09 09:29:04.709521893 +0200
> +++ gcc/cp/cp-tree.def 2024-07-22 17:26:32.053101302 +0200
> @@ -412,17 +412,17 @@ DEFTREECODE (ARGUMENT_PACK_SELECT, "argu
> /* Fold expressions allow the expansion of a template argument pack
> over a binary operator.
>
> - FOLD_EXPR_MOD_P is true when the fold operation is a compound assignment
> + FOLD_EXPR_MODIFY_P is true when the fold operation is a compound assignment
> operator.
>
> FOLD_EXPR_OP is an INTEGER_CST storing the tree code for the folded
> - expression. Note that when FOLDEXPR_MOD_P is true, the operator is
> + expression. Note that when FOLD_EXPR_MODIFY_P is true, the operator is
> a compound assignment operator for that kind of expression.
>
> FOLD_EXPR_PACK is an expression containing an unexpanded parameter pack;
> when expanded, each term becomes an argument of the folded expression.
>
> - In a BINARY_FOLD_EXPRESSION, FOLD_EXPR_INIT is the non-pack argument. */
> + In a BINARY_FOLD_EXPRESSION, FOLD_EXPR_INIT is the non-pack argument. */
> DEFTREECODE (UNARY_LEFT_FOLD_EXPR, "unary_left_fold_expr", tcc_expression, 2)
> DEFTREECODE (UNARY_RIGHT_FOLD_EXPR, "unary_right_fold_expr", tcc_expression, 2)
> DEFTREECODE (BINARY_LEFT_FOLD_EXPR, "binary_left_fold_expr", tcc_expression, 3)
> @@ -518,24 +518,23 @@ DEFTREECODE (NESTED_REQ, "nested_req", t
>
> /* Constraints are modeled as kinds of expressions.
> The operands of a constraint can be either types or expressions.
> - Unlike expressions, constraints do not have a type. */
> + Unlike expressions, constraints do not have a type. */
>
> /* An atomic constraint evaluates an expression E. The operand of the
> - constraint is its parameter mapping. The actual expression is stored
> + constraint is its parameter mapping. The actual expression is stored
> in the context.
>
> - ATOMIC_CONSTR_INFO provides source info to support diagnostics.
> + CONSTR_INFO provides source info to support diagnostics.
> ATOMIC_CONSTR_EXPR has the expression to be evaluated.
> - ATOMIC_CONSTR_PARMS is the parameter mapping for the atomic constraint
> + ATOMIC_CONSTR_MAP is the parameter mapping for the atomic constraint
> and is stored in the type field. */
> DEFTREECODE (ATOMIC_CONSTR, "atomic_constr", tcc_expression, 1)
>
> /* The conjunction and disjunction of two constraints, respectively.
> - Operands are accessed using TREE_OPERAND. The third operand provides
> - source info for diagnostics.
> + Operands are accessed using TREE_OPERAND.
>
> - CONJ_CONSTR_INFO and DISJ_CONSTR_INFO provide access to the source
> - information of constraints, which is stored in the TREE_TYPE. */
> + CONSTR_INFO provides access to the source information of constraints,
> + which is stored in the TREE_TYPE. */
> DEFTREECODE (CONJ_CONSTR, "conj_constr", tcc_expression, 2)
> DEFTREECODE (DISJ_CONSTR, "disj_constr", tcc_expression, 2)
>
> @@ -544,7 +543,7 @@ DEFTREECODE (DISJ_CONSTR, "disj_constr",
> and a sequence of template arguments.
>
> CHECK_CONSTR_CONCEPT has the concept definition
> - CHECK_CONSTR_ARGUMENTS are the template arguments */
> + CHECK_CONSTR_ARGS are the template arguments. */
> DEFTREECODE (CHECK_CONSTR, "check_constr", tcc_expression, 2)
FWIW this tree code seems to be a vestige of the initial Concepts TS
implementation and is effectively unused, we can remove it outright.
>
> /* The co_await expression is used to support coroutines.
>
> Jakub
>
>
On Mon, Jul 22, 2024 at 11:48:51AM -0400, Patrick Palka wrote:
> On Mon, 22 Jul 2024, Jakub Jelinek wrote:
>
> > Hi!
> >
> > While reading the fold expression and concept tree comments, I found
> > various spots referring to non-existent macros etc.
> >
> > The following patch attempts to sync that with what is actually implemented.
> >
> > Ok for trunk?
> >
> > 2024-07-22 Jakub Jelinek <jakub@redhat.com>
> >
> > * cp-tree.def (UNARY_LEFT_FOLD_EXPR): Use FOLD_EXPR_MODIFY_P instead
> > of FOLD_EXPR_MOD_P or FOLDEXPR_MOD_P in the comment. Comment
> > formatting fixes.
> > (ATOMIC_CONSTEXPR): Use CONSTR_INFO instead of ATOMIC_CONSTR_INFO
> > and ATOMIC_CONSTR_MAP instead of ATOMIC_CONSTR_PARMS in the comment.
> > Comment formatting fixes.
> > (CONJ_CONSTR): Remove comment about third operand. Use CONSTR_INFO
> > instead of CONJ_CONSTR_INFO and DISJ_CONSTR_INFO.
> > (CHECK_CONSTR): Use CHECK_CONSTR_ARGS instead of
> > CHECK_CONSTR_ARGUMENTS.
> >
> > --- gcc/cp/cp-tree.def.jj 2024-04-09 09:29:04.709521893 +0200
> > +++ gcc/cp/cp-tree.def 2024-07-22 17:26:32.053101302 +0200
> > @@ -412,17 +412,17 @@ DEFTREECODE (ARGUMENT_PACK_SELECT, "argu
> > /* Fold expressions allow the expansion of a template argument pack
> > over a binary operator.
> >
> > - FOLD_EXPR_MOD_P is true when the fold operation is a compound assignment
> > + FOLD_EXPR_MODIFY_P is true when the fold operation is a compound assignment
> > operator.
> >
> > FOLD_EXPR_OP is an INTEGER_CST storing the tree code for the folded
> > - expression. Note that when FOLDEXPR_MOD_P is true, the operator is
> > + expression. Note that when FOLD_EXPR_MODIFY_P is true, the operator is
> > a compound assignment operator for that kind of expression.
> >
> > FOLD_EXPR_PACK is an expression containing an unexpanded parameter pack;
> > when expanded, each term becomes an argument of the folded expression.
> >
> > - In a BINARY_FOLD_EXPRESSION, FOLD_EXPR_INIT is the non-pack argument. */
> > + In a BINARY_FOLD_EXPRESSION, FOLD_EXPR_INIT is the non-pack argument. */
> > DEFTREECODE (UNARY_LEFT_FOLD_EXPR, "unary_left_fold_expr", tcc_expression, 2)
> > DEFTREECODE (UNARY_RIGHT_FOLD_EXPR, "unary_right_fold_expr", tcc_expression, 2)
> > DEFTREECODE (BINARY_LEFT_FOLD_EXPR, "binary_left_fold_expr", tcc_expression, 3)
> > @@ -518,24 +518,23 @@ DEFTREECODE (NESTED_REQ, "nested_req", t
> >
> > /* Constraints are modeled as kinds of expressions.
> > The operands of a constraint can be either types or expressions.
> > - Unlike expressions, constraints do not have a type. */
> > + Unlike expressions, constraints do not have a type. */
> >
> > /* An atomic constraint evaluates an expression E. The operand of the
> > - constraint is its parameter mapping. The actual expression is stored
> > + constraint is its parameter mapping. The actual expression is stored
> > in the context.
> >
> > - ATOMIC_CONSTR_INFO provides source info to support diagnostics.
> > + CONSTR_INFO provides source info to support diagnostics.
> > ATOMIC_CONSTR_EXPR has the expression to be evaluated.
> > - ATOMIC_CONSTR_PARMS is the parameter mapping for the atomic constraint
> > + ATOMIC_CONSTR_MAP is the parameter mapping for the atomic constraint
> > and is stored in the type field. */
> > DEFTREECODE (ATOMIC_CONSTR, "atomic_constr", tcc_expression, 1)
> >
> > /* The conjunction and disjunction of two constraints, respectively.
> > - Operands are accessed using TREE_OPERAND. The third operand provides
> > - source info for diagnostics.
> > + Operands are accessed using TREE_OPERAND.
> >
> > - CONJ_CONSTR_INFO and DISJ_CONSTR_INFO provide access to the source
> > - information of constraints, which is stored in the TREE_TYPE. */
> > + CONSTR_INFO provides access to the source information of constraints,
> > + which is stored in the TREE_TYPE. */
> > DEFTREECODE (CONJ_CONSTR, "conj_constr", tcc_expression, 2)
> > DEFTREECODE (DISJ_CONSTR, "disj_constr", tcc_expression, 2)
> >
> > @@ -544,7 +543,7 @@ DEFTREECODE (DISJ_CONSTR, "disj_constr",
> > and a sequence of template arguments.
> >
> > CHECK_CONSTR_CONCEPT has the concept definition
> > - CHECK_CONSTR_ARGUMENTS are the template arguments */
> > + CHECK_CONSTR_ARGS are the template arguments. */
> > DEFTREECODE (CHECK_CONSTR, "check_constr", tcc_expression, 2)
>
> FWIW this tree code seems to be a vestige of the initial Concepts TS
> implementation and is effectively unused, we can remove it outright.
Thanks, that's on me, I suppose. I have to get back to your comments in
<https://gcc.gnu.org/pipermail/gcc-patches/2024-June/654396.html>:
FWIW I think we can also remove DECL_DECLARED_CONCEPT_P,
function_concept_p and variable_concept_p (and related code in
grokfndecl and grokvardecl probably). And e.g. code in constraint.cc
that checks for FUNCTION_DECL, VAR_*, CALL_EXPR, OVERLOAD / OVL_* etc.
Marek
On 7/22/24 11:53 AM, Marek Polacek wrote:
> On Mon, Jul 22, 2024 at 11:48:51AM -0400, Patrick Palka wrote:
>> On Mon, 22 Jul 2024, Jakub Jelinek wrote:
>>
>>> Hi!
>>>
>>> While reading the fold expression and concept tree comments, I found
>>> various spots referring to non-existent macros etc.
>>>
>>> The following patch attempts to sync that with what is actually implemented.
>>>
>>> Ok for trunk?
>>>
>>> 2024-07-22 Jakub Jelinek <jakub@redhat.com>
>>>
>>> * cp-tree.def (UNARY_LEFT_FOLD_EXPR): Use FOLD_EXPR_MODIFY_P instead
>>> of FOLD_EXPR_MOD_P or FOLDEXPR_MOD_P in the comment. Comment
>>> formatting fixes.
>>> (ATOMIC_CONSTEXPR): Use CONSTR_INFO instead of ATOMIC_CONSTR_INFO
>>> and ATOMIC_CONSTR_MAP instead of ATOMIC_CONSTR_PARMS in the comment.
>>> Comment formatting fixes.
>>> (CONJ_CONSTR): Remove comment about third operand. Use CONSTR_INFO
>>> instead of CONJ_CONSTR_INFO and DISJ_CONSTR_INFO.
>>> (CHECK_CONSTR): Use CHECK_CONSTR_ARGS instead of
>>> CHECK_CONSTR_ARGUMENTS.
>>>
>>> --- gcc/cp/cp-tree.def.jj 2024-04-09 09:29:04.709521893 +0200
>>> +++ gcc/cp/cp-tree.def 2024-07-22 17:26:32.053101302 +0200
>>> @@ -412,17 +412,17 @@ DEFTREECODE (ARGUMENT_PACK_SELECT, "argu
>>> /* Fold expressions allow the expansion of a template argument pack
>>> over a binary operator.
>>>
>>> - FOLD_EXPR_MOD_P is true when the fold operation is a compound assignment
>>> + FOLD_EXPR_MODIFY_P is true when the fold operation is a compound assignment
>>> operator.
>>>
>>> FOLD_EXPR_OP is an INTEGER_CST storing the tree code for the folded
>>> - expression. Note that when FOLDEXPR_MOD_P is true, the operator is
>>> + expression. Note that when FOLD_EXPR_MODIFY_P is true, the operator is
>>> a compound assignment operator for that kind of expression.
>>>
>>> FOLD_EXPR_PACK is an expression containing an unexpanded parameter pack;
>>> when expanded, each term becomes an argument of the folded expression.
>>>
>>> - In a BINARY_FOLD_EXPRESSION, FOLD_EXPR_INIT is the non-pack argument. */
>>> + In a BINARY_FOLD_EXPRESSION, FOLD_EXPR_INIT is the non-pack argument. */
>>> DEFTREECODE (UNARY_LEFT_FOLD_EXPR, "unary_left_fold_expr", tcc_expression, 2)
>>> DEFTREECODE (UNARY_RIGHT_FOLD_EXPR, "unary_right_fold_expr", tcc_expression, 2)
>>> DEFTREECODE (BINARY_LEFT_FOLD_EXPR, "binary_left_fold_expr", tcc_expression, 3)
>>> @@ -518,24 +518,23 @@ DEFTREECODE (NESTED_REQ, "nested_req", t
>>>
>>> /* Constraints are modeled as kinds of expressions.
>>> The operands of a constraint can be either types or expressions.
>>> - Unlike expressions, constraints do not have a type. */
>>> + Unlike expressions, constraints do not have a type. */
>>>
>>> /* An atomic constraint evaluates an expression E. The operand of the
>>> - constraint is its parameter mapping. The actual expression is stored
>>> + constraint is its parameter mapping. The actual expression is stored
>>> in the context.
>>>
>>> - ATOMIC_CONSTR_INFO provides source info to support diagnostics.
>>> + CONSTR_INFO provides source info to support diagnostics.
>>> ATOMIC_CONSTR_EXPR has the expression to be evaluated.
>>> - ATOMIC_CONSTR_PARMS is the parameter mapping for the atomic constraint
>>> + ATOMIC_CONSTR_MAP is the parameter mapping for the atomic constraint
>>> and is stored in the type field. */
>>> DEFTREECODE (ATOMIC_CONSTR, "atomic_constr", tcc_expression, 1)
>>>
>>> /* The conjunction and disjunction of two constraints, respectively.
>>> - Operands are accessed using TREE_OPERAND. The third operand provides
>>> - source info for diagnostics.
>>> + Operands are accessed using TREE_OPERAND.
>>>
>>> - CONJ_CONSTR_INFO and DISJ_CONSTR_INFO provide access to the source
>>> - information of constraints, which is stored in the TREE_TYPE. */
>>> + CONSTR_INFO provides access to the source information of constraints,
>>> + which is stored in the TREE_TYPE. */
>>> DEFTREECODE (CONJ_CONSTR, "conj_constr", tcc_expression, 2)
>>> DEFTREECODE (DISJ_CONSTR, "disj_constr", tcc_expression, 2)
>>>
>>> @@ -544,7 +543,7 @@ DEFTREECODE (DISJ_CONSTR, "disj_constr",
>>> and a sequence of template arguments.
>>>
>>> CHECK_CONSTR_CONCEPT has the concept definition
>>> - CHECK_CONSTR_ARGUMENTS are the template arguments */
>>> + CHECK_CONSTR_ARGS are the template arguments. */
>>> DEFTREECODE (CHECK_CONSTR, "check_constr", tcc_expression, 2)
>>
>> FWIW this tree code seems to be a vestige of the initial Concepts TS
>> implementation and is effectively unused, we can remove it outright.
>
> Thanks, that's on me, I suppose. I have to get back to your comments in
> <https://gcc.gnu.org/pipermail/gcc-patches/2024-June/654396.html>:
>
> FWIW I think we can also remove DECL_DECLARED_CONCEPT_P,
> function_concept_p and variable_concept_p (and related code in
> grokfndecl and grokvardecl probably). And e.g. code in constraint.cc
> that checks for FUNCTION_DECL, VAR_*, CALL_EXPR, OVERLOAD / OVL_* etc.
Indeed.
In the meantime, Jakub's patch is OK.
Jason
@@ -412,17 +412,17 @@ DEFTREECODE (ARGUMENT_PACK_SELECT, "argu
/* Fold expressions allow the expansion of a template argument pack
over a binary operator.
- FOLD_EXPR_MOD_P is true when the fold operation is a compound assignment
+ FOLD_EXPR_MODIFY_P is true when the fold operation is a compound assignment
operator.
FOLD_EXPR_OP is an INTEGER_CST storing the tree code for the folded
- expression. Note that when FOLDEXPR_MOD_P is true, the operator is
+ expression. Note that when FOLD_EXPR_MODIFY_P is true, the operator is
a compound assignment operator for that kind of expression.
FOLD_EXPR_PACK is an expression containing an unexpanded parameter pack;
when expanded, each term becomes an argument of the folded expression.
- In a BINARY_FOLD_EXPRESSION, FOLD_EXPR_INIT is the non-pack argument. */
+ In a BINARY_FOLD_EXPRESSION, FOLD_EXPR_INIT is the non-pack argument. */
DEFTREECODE (UNARY_LEFT_FOLD_EXPR, "unary_left_fold_expr", tcc_expression, 2)
DEFTREECODE (UNARY_RIGHT_FOLD_EXPR, "unary_right_fold_expr", tcc_expression, 2)
DEFTREECODE (BINARY_LEFT_FOLD_EXPR, "binary_left_fold_expr", tcc_expression, 3)
@@ -518,24 +518,23 @@ DEFTREECODE (NESTED_REQ, "nested_req", t
/* Constraints are modeled as kinds of expressions.
The operands of a constraint can be either types or expressions.
- Unlike expressions, constraints do not have a type. */
+ Unlike expressions, constraints do not have a type. */
/* An atomic constraint evaluates an expression E. The operand of the
- constraint is its parameter mapping. The actual expression is stored
+ constraint is its parameter mapping. The actual expression is stored
in the context.
- ATOMIC_CONSTR_INFO provides source info to support diagnostics.
+ CONSTR_INFO provides source info to support diagnostics.
ATOMIC_CONSTR_EXPR has the expression to be evaluated.
- ATOMIC_CONSTR_PARMS is the parameter mapping for the atomic constraint
+ ATOMIC_CONSTR_MAP is the parameter mapping for the atomic constraint
and is stored in the type field. */
DEFTREECODE (ATOMIC_CONSTR, "atomic_constr", tcc_expression, 1)
/* The conjunction and disjunction of two constraints, respectively.
- Operands are accessed using TREE_OPERAND. The third operand provides
- source info for diagnostics.
+ Operands are accessed using TREE_OPERAND.
- CONJ_CONSTR_INFO and DISJ_CONSTR_INFO provide access to the source
- information of constraints, which is stored in the TREE_TYPE. */
+ CONSTR_INFO provides access to the source information of constraints,
+ which is stored in the TREE_TYPE. */
DEFTREECODE (CONJ_CONSTR, "conj_constr", tcc_expression, 2)
DEFTREECODE (DISJ_CONSTR, "disj_constr", tcc_expression, 2)
@@ -544,7 +543,7 @@ DEFTREECODE (DISJ_CONSTR, "disj_constr",
and a sequence of template arguments.
CHECK_CONSTR_CONCEPT has the concept definition
- CHECK_CONSTR_ARGUMENTS are the template arguments */
+ CHECK_CONSTR_ARGS are the template arguments. */
DEFTREECODE (CHECK_CONSTR, "check_constr", tcc_expression, 2)
/* The co_await expression is used to support coroutines.