summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/c-common.c2
-rw-r--r--gcc/tree.h18
3 files changed, 22 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1a0e10c9960..e3f1a65bac8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
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.
diff --git a/gcc/c-common.c b/gcc/c-common.c
index fd1aef1f3cc..74a55525015 100644
--- a/gcc/c-common.c
+++ b/gcc/c-common.c
@@ -3784,8 +3784,6 @@ static const struct attribute_spec c_format_attribute_table[] =
{ 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 ()
diff --git a/gcc/tree.h b/gcc/tree.h
index 8bec94f7ced..b95a4aaca40 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -2907,8 +2907,26 @@ extern rtx emit_line_note PARAMS ((const char *, int));
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));