diff options
author | Mark Mitchell <mmitchel@gcc.gnu.org> | 2000-06-30 18:20:42 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2000-06-30 18:20:42 +0000 |
commit | f09f1de5cf126e1f5f41fd5043121e162103460d (patch) | |
tree | 5783c365ca75835ffeb02421644de31663125abe /gcc/c-common.h | |
parent | add284e6eaeae270757d98d3d682cb764eeb5fa7 (diff) | |
download | gcc-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.h | 51 |
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 |