diff options
author | Joseph Myers <jsm28@cam.ac.uk> | 2001-07-08 20:58:19 +0100 |
---|---|---|
committer | Joseph Myers <jsm28@gcc.gnu.org> | 2001-07-08 20:58:19 +0100 |
commit | f7a4cec096b0476bbe39b44fbe3391d11f598728 (patch) | |
tree | b1d0d98aa89bcdb8b2c6760c4251abfdd4a128c8 /gcc/doc | |
parent | b4c25db2dfed2c3c86dc6b61c6fc7eee757c6c71 (diff) | |
download | gcc-f7a4cec096b0476bbe39b44fbe3391d11f598728.zip gcc-f7a4cec096b0476bbe39b44fbe3391d11f598728.tar.gz gcc-f7a4cec096b0476bbe39b44fbe3391d11f598728.tar.bz2 |
c-common.c (decl_attributes): Only take a single attributes parameter.
* c-common.c (decl_attributes): Only take a single attributes
parameter.
* c-common.h (decl_attributes): Update prototype.
* c-decl.c (start_decl, start_function): Only take a single
attributes parameter. Update calls to decl_attributes.
(finish_struct, finish_enum): Update calls to decl_attributes.
(push_parm_decl): Expect unified list of attributes. Update call
to decl_attributes.
* c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
notype_nested_function, component_declarator,
component_notype_declarator, label): Update calls to
decl_attributes.
(absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
lists that are passed to push_parm_decl.
* c-tree.h (start_function, start_decl): Update prototypes.
* config/sh/sh-protos.h, config/sh/sh.c
(sh_pragma_insert_attributes): Only take a single attributes
parameter.
* config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
* doc/tm.texi (INSERT_ATTRIBUTES): Update.
* objc/objc-act.c (define_decl, generate_objc_symtab_decl,
build_module_descriptor, generate_static_references,
generate_strings, build_selector_translation_table,
generate_descriptor_table, generate_protocols,
generate_ivars_list, generate_dispatch_table,
generate_protocol_list, generate_category,
generate_shared_structures, really_start_method, add_objc_decls,
generate_classref_translation_entry): Update calls to start_decl
and start_function.
(build_tmp_function_decl, start_method_def): Unify attribute lists
that are passed to push_parm_decl.
cp:
* decl.c (grokdeclarator), decl2.c (cplus_decl_attributes): Update
calls to decl_attributes.
testsuite:
* gcc.c-torture/compile/20010701-1.c,
g++.old-deja/g++.ext/attrib6.C: New tests.
From-SVN: r43850
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/tm.texi | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index 17f6c6b..4cddb83 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -8415,15 +8415,17 @@ in @file{i386/cygwin.h} and @file{i386/i386.c}, for example. @table @code @findex INSERT_ATTRIBUTES -@item INSERT_ATTRIBUTES (@var{node}, @var{attr_ptr}, @var{prefix_ptr}) +@item INSERT_ATTRIBUTES (@var{node}, @var{attr_ptr}) Define this macro if you want to be able to add attributes to a decl when it is being created. This is normally useful for back ends which wish to implement a pragma by using the attributes which correspond to the pragma's effect. The @var{node} argument is the decl which is being created. The @var{attr_ptr} argument is a pointer to the attribute list -for this decl. The @var{prefix_ptr} is a pointer to the list of -attributes that have appeared after the specifiers and modifiers of the -declaration, but before the declaration proper. +for this decl. The list itself should not be modified, since it may be +shared with other decls, but attributes may be chained on the head of +the list and @code{*@var{attr_ptr}} modified to point to the new +attributes, or a copy of the list may be made if further changes are +needed. @findex SET_DEFAULT_DECL_ATTRIBUTES @item SET_DEFAULT_DECL_ATTRIBUTES (@var{decl}, @var{attributes}) |