diff options
author | Patrick Palka <ppalka@redhat.com> | 2022-05-31 08:17:21 -0400 |
---|---|---|
committer | Patrick Palka <ppalka@redhat.com> | 2022-05-31 08:17:21 -0400 |
commit | b5cf960e29fe59772b8bf5fca068e7139651255b (patch) | |
tree | e17ab0e33008fad34f6e79f4bd4978b4d69aa8f2 | |
parent | f38b20d68fade5a922b9f68c4c3841e653d1b83c (diff) | |
download | gcc-b5cf960e29fe59772b8bf5fca068e7139651255b.zip gcc-b5cf960e29fe59772b8bf5fca068e7139651255b.tar.gz gcc-b5cf960e29fe59772b8bf5fca068e7139651255b.tar.bz2 |
c++: use current_template_constraints more
gcc/cp/ChangeLog:
* decl.cc (grokvardecl): Use current_template_constraints.
(grokdeclarator): Likewise.
(xref_tag): Likewise.
* semantics.cc (finish_template_template_parm): Likewise.
-rw-r--r-- | gcc/cp/decl.cc | 17 | ||||
-rw-r--r-- | gcc/cp/semantics.cc | 3 |
2 files changed, 5 insertions, 15 deletions
diff --git a/gcc/cp/decl.cc b/gcc/cp/decl.cc index 892e4a4..663a72f 100644 --- a/gcc/cp/decl.cc +++ b/gcc/cp/decl.cc @@ -10789,9 +10789,7 @@ grokvardecl (tree type, else if (flag_concepts && current_template_depth > template_class_depth (scope)) { - tree reqs = TEMPLATE_PARMS_CONSTRAINTS (current_template_parms); - tree ci = build_constraints (reqs, NULL_TREE); - + tree ci = current_template_constraints (); set_constraints (decl, ci); } @@ -14227,9 +14225,7 @@ grokdeclarator (const cp_declarator *declarator, > template_class_depth (current_class_type)); if (memtmpl) { - tree tmpl_reqs - = TEMPLATE_PARMS_CONSTRAINTS (current_template_parms); - tree ci = build_constraints (tmpl_reqs, NULL_TREE); + tree ci = current_template_constraints (); set_constraints (decl, ci); } } @@ -15852,13 +15848,8 @@ xref_tag (enum tag_types tag_code, tree name, { /* Check that we aren't trying to overload a class with different constraints. */ - tree constr = NULL_TREE; - if (current_template_parms) - { - tree reqs = TEMPLATE_PARMS_CONSTRAINTS (current_template_parms); - constr = build_constraints (reqs, NULL_TREE); - } - if (!redeclare_class_template (t, current_template_parms, constr)) + if (!redeclare_class_template (t, current_template_parms, + current_template_constraints ())) return error_mark_node; } else if (!processing_template_decl diff --git a/gcc/cp/semantics.cc b/gcc/cp/semantics.cc index 1d012d6..3600d27 100644 --- a/gcc/cp/semantics.cc +++ b/gcc/cp/semantics.cc @@ -3387,8 +3387,7 @@ finish_template_template_parm (tree aggr, tree identifier) /* Associate the constraints with the underlying declaration, not the template. */ - tree reqs = TEMPLATE_PARMS_CONSTRAINTS (current_template_parms); - tree constr = build_constraints (reqs, NULL_TREE); + tree constr = current_template_constraints (); set_constraints (decl, constr); end_template_decl (); |