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.
+
* function.c (fix_lexical_address): Use set_mem_alias_set.
(expand_function_start): Likewise.
* config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
{ NULL, 0, 0, false, false, false, NULL }
};
-extern const struct attribute_spec *format_attribute_table;
-
/* Do the parts of lang_init common to C and C++. */
void
c_common_lang_init ()
extern int setjmp_call_p PARAMS ((tree));
/* 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. */
extern int mark_addressable PARAMS ((tree));