aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-common.h
diff options
context:
space:
mode:
authorMark Mitchell <mmitchel@gcc.gnu.org>2000-06-30 18:20:42 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>2000-06-30 18:20:42 +0000
commitf09f1de5cf126e1f5f41fd5043121e162103460d (patch)
tree5783c365ca75835ffeb02421644de31663125abe /gcc/c-common.h
parentadd284e6eaeae270757d98d3d682cb764eeb5fa7 (diff)
downloadgcc-f09f1de5cf126e1f5f41fd5043121e162103460d.zip
gcc-f09f1de5cf126e1f5f41fd5043121e162103460d.tar.gz
gcc-f09f1de5cf126e1f5f41fd5043121e162103460d.tar.bz2
Makefile.in (c-common.o): Don't depend on c-tree.h or c-lex.h.
* Makefile.in (c-common.o): Don't depend on c-tree.h or c-lex.h. * c-common.c (ridpointers): Declare. * c-common.h (enum rid): Declare. (NORID): Likewise. (ridpointers): Likewise. * c-lex.c (ridpointers): Don't declare. (init_lex): Initialize ridpointers. * c-lex.h (enum rid): Don't declare. (NORID): Likewise. (RID_FIRST_MODIFIER): Likewise. (ridpointers): Likewise. * cp-tree.h (ridpointers): Don't declare. * decl.c (record_builtin_type): Use CP_RID_MAX instead of RID_MAX. (record_builtin_java_type): Likewise. (init_decl_processing): Likewise. * lex.c: Move inclusion of lex.h. (ridpointers): Don't define. (init_parse): Initialize ripdointers. Use CP_RID_MAX instead of RID_MAX. * lex.h (enum rid): Rename to ... (enum cp_rid): ... this. (ridpointers): Don't declare. * parse.y: Move inclusion of lex.h. * parse.c: Regenerated. * spew.c: Move inclusion of lex.h. * cp-tree.h (struct language_function): Remove temp_name_counter. (temp_name_counter): Remove. (get_temp_name): Change prototype. (get_guard): New function. (get_guard_cond): Likewise. (set_guard): Likewise. * cvt.c (build_up_reference): Adjust call to get_temp_name. * decl.c (expand_static_init): Use get_guard and friends to implement guard variables. * decl2.c (get_temp_name): Assume that the variables created are always static. (get_sentry): Rename to ... (get_guard): ... this. Implement new ABI guard variables. (get_guard_bits): New function. (get_guard_cond): Likewise. (set_guard): Likewise. (start_static_initialization_or_destruction): Use them. (do_static_initialization): Replace sentry with guard throughout. (do_static_destruction): Likewise. * init.c (create_temporary_var): Add comment. From-SVN: r34815
Diffstat (limited to 'gcc/c-common.h')
-rw-r--r--gcc/c-common.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/gcc/c-common.h b/gcc/c-common.h
index 9db6c8b..9fd9bdd 100644
--- a/gcc/c-common.h
+++ b/gcc/c-common.h
@@ -19,6 +19,57 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
+/* Reserved identifiers. */
+
+enum rid
+{
+ RID_UNUSED,
+ RID_INT,
+ RID_CHAR,
+ RID_FLOAT,
+ RID_DOUBLE,
+ RID_VOID,
+ RID_UNUSED1,
+
+ /* The first seven are in the order of most frequently used,
+ as emiprically determined. */
+ RID_FIRST_MODIFIER,
+ RID_EXTERN = RID_FIRST_MODIFIER,
+ RID_CONST,
+ RID_LONG,
+ RID_TYPEDEF,
+ RID_UNSIGNED,
+ RID_SHORT,
+ RID_INLINE,
+ RID_AUTO,
+ RID_STATIC,
+ RID_REGISTER,
+ RID_SIGNED,
+ RID_RESTRICT,
+ RID_VOLATILE,
+ RID_BOUNDED,
+ RID_UNBOUNDED,
+ RID_NOALIAS,
+ RID_ITERATOR,
+ RID_COMPLEX,
+
+ RID_IN,
+ RID_OUT,
+ RID_INOUT,
+ RID_BYCOPY,
+ RID_BYREF,
+ RID_ONEWAY,
+ RID_ID,
+
+ RID_MAX
+};
+
+#define NORID RID_UNUSED
+
+/* The elements of `ridpointers' are identifier nodes for the reserved
+ type names and storage classes. It is indexed by a RID_... value. */
+extern tree *ridpointers;
+
/* Standard named or nameless data types of the C compiler. */
enum c_tree_index