This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Refinements to attribute change


Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* c-common.c (format_attribute_table): Remove decl.
	* tree.h (format_attribute_table, lang_attribute_table): New decls.
	(lang_attribute_common): Likewise.

*** c-common.c	2001/09/22 13:14:34	1.254
--- c-common.c	2001/09/22 14:54:34
*************** static const struct attribute_spec c_for
*** 3785,3790 ****
  };
  
- extern const struct attribute_spec *format_attribute_table;
- 
  /* Do the parts of lang_init common to C and C++.  */
  void
--- 3785,3788 ----
*** tree.h	2001/09/22 13:14:35	1.267
--- tree.h	2001/09/22 14:54:48
*************** extern int setjmp_call_p		PARAMS ((tree)
*** 2908,2912 ****
--- 2908,2930 ----
  
  /* In attribs.c.  */
+ 
+ /* Process the attributes listed in ATTRIBUTES and install them in *NODE,
+    which is either a DECL (including a TYPE_DECL) or a TYPE.  If a DECL,
+    it should be modified in place; if a TYPE, a copy should be created
+    unless ATTR_FLAG_TYPE_IN_PLACE is set in FLAGS.  FLAGS gives further
+    information, in the form of a bitwise OR of flags in enum attribute_flags
+    from tree.h.  Depending on these flags, some attributes may be
+    returned to be applied at a later stage (for example, to apply
+    a decl attribute to the declaration rather than to its type).  */
  extern tree decl_attributes		PARAMS ((tree *, tree, int));
+ 
+ /* Table of machine-independent attributes for checking formats, if used.  */
+ extern const struct attribute_spec *format_attribute_table;
+ 
+ /* Table of machine-independent attributes for a particular language.  */
+ extern const struct attribute_spec *lang_attribute_table;
+ 
+ /* Flag saying whether common language attributes are to be supported.  */
+ extern int lang_attribute_common;
  
  /* In front end.  */


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]