public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r13-3585] c++: pass std attributes to make_call_declarator
@ 2022-11-01 1:24 Jason Merrill
0 siblings, 0 replies; only message in thread
From: Jason Merrill @ 2022-11-01 1:24 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:af6d747df7e311a6555dda3a75f6724ecc4481bd
commit r13-3585-gaf6d747df7e311a6555dda3a75f6724ecc4481bd
Author: Jason Merrill <jason@redhat.com>
Date: Mon Oct 31 13:40:10 2022 -0400
c++: pass std attributes to make_call_declarator
It seems preferable to pass these to the function rather than set them
separately after the call.
gcc/cp/ChangeLog:
* parser.cc (make_call_declarator): Add std_attrs parm.
(cp_parser_lambda_declarator_opt): Pass it.
(cp_parser_direct_declarator): Pass it.
Diff:
---
gcc/cp/parser.cc | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/gcc/cp/parser.cc b/gcc/cp/parser.cc
index 6a5b0652a09..6da32801bab 100644
--- a/gcc/cp/parser.cc
+++ b/gcc/cp/parser.cc
@@ -1607,7 +1607,7 @@ clear_decl_specs (cp_decl_specifier_seq *decl_specs)
static cp_declarator *make_call_declarator
(cp_declarator *, tree, cp_cv_quals, cp_virt_specifiers, cp_ref_qualifier,
- tree, tree, tree, tree, location_t);
+ tree, tree, tree, tree, tree, location_t);
static cp_declarator *make_array_declarator
(cp_declarator *, tree);
static cp_declarator *make_pointer_declarator
@@ -1780,7 +1780,8 @@ make_ptrmem_declarator (cp_cv_quals cv_qualifiers, tree class_type,
/* Make a declarator for the function given by TARGET, with the
indicated PARMS. The CV_QUALIFIERS apply to the function, as in
"const"-qualified member function. The EXCEPTION_SPECIFICATION
- indicates what exceptions can be thrown. */
+ indicates what exceptions can be thrown. STD_ATTRS contains
+ attributes that appertain to the function type. */
cp_declarator *
make_call_declarator (cp_declarator *target,
@@ -1792,6 +1793,7 @@ make_call_declarator (cp_declarator *target,
tree exception_specification,
tree late_return_type,
tree requires_clause,
+ tree std_attrs,
location_t parens_loc)
{
cp_declarator *declarator;
@@ -1816,6 +1818,8 @@ make_call_declarator (cp_declarator *target,
else
declarator->parameter_pack_p = false;
+ declarator->std_attributes = std_attrs;
+
return declarator;
}
@@ -11684,8 +11688,8 @@ cp_parser_lambda_declarator_opt (cp_parser* parser, tree lambda_expr)
exception_spec,
return_type,
trailing_requires_clause,
+ std_attrs,
UNKNOWN_LOCATION);
- declarator->std_attributes = std_attrs;
fco = grokmethod (&return_type_specs,
declarator,
@@ -23264,8 +23268,8 @@ cp_parser_direct_declarator (cp_parser* parser,
exception_specification,
late_return,
requires_clause,
+ attrs,
parens_loc);
- declarator->std_attributes = attrs;
declarator->attributes = gnu_attrs;
/* Any subsequent parameter lists are to do with
return type, so are not those of the declared
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-11-01 1:24 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-01 1:24 [gcc r13-3585] c++: pass std attributes to make_call_declarator Jason Merrill
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).