diff options
author | Zack Weinberg <zack@wolery.cumb.org> | 2000-02-10 23:47:04 +0000 |
---|---|---|
committer | Zack Weinberg <zack@gcc.gnu.org> | 2000-02-10 23:47:04 +0000 |
commit | cf4ed945eab57de7fe5b2f736cc773659a966a0c (patch) | |
tree | 62eef5d947b8384b8147ec6d6b0b4aecba2485ac /gcc/cpphash.h | |
parent | 26439cc59cd34989b7a98d676a5e210302da15c0 (diff) | |
download | gcc-cf4ed945eab57de7fe5b2f736cc773659a966a0c.zip gcc-cf4ed945eab57de7fe5b2f736cc773659a966a0c.tar.gz gcc-cf4ed945eab57de7fe5b2f736cc773659a966a0c.tar.bz2 |
cppexp.c: Don't include cpphash.h.
* cppexp.c: Don't include cpphash.h.
(parse_charconst, cpp_lex): Use cpp_defined.
(cpp_lex): Use get_directive_token throughout. Remove
unnecessary cases from switch. Move assertion-handling code
down to OTHER case.
(cpp_parse_expr): If we see '+' or '-', check the context to
determine if they are unary or binary operators. Streamline
the jumps a bit. Do not call skip_rest_of_line.
* cpplib.c: Make skip_rest_of_line and cpp_skip_hspace
static. Export get_directive_token. Update commentary.
(cpp_defined): New function.
(do_define): Remove reference to T_PCSTRING. Call
free_definition to release memory for old definition, when
redefining a macro.
(eval_if_expression): Set only_seen_white to 0 before calling
cpp_parse_expr. Call skip_rest_of_line after it returns.
(cpp_read_check_assertion): Don't preserve a pointer into the
token buffer across a call to cpp_get_token.
* Makefile.in (cppexp.o): Don't depend on cpphash.h.
* cppfiles.c (redundant_include_p): Use cpp_defined.
* cpphash.c (free_definition): New function.
(delete_macro): Use it. Update commentary.
* cpphash.h: Typedef HASHNODE here. Prototype cpp_lookup and
free_definition.
* cpplib.h: Don't typedef HASHNODE here. Delete T_PCSTRING
from enum node_type. Prototype cpp_defined and get_directive_token.
Don't prototype cpp_lookup, skip_rest_of_line, or cpp_skip_hspace.
* fix-header.c (check_macro_names): Use cpp_defined.
(read_scan_file): Set inhibit_warnings and inhibit_errors in
the options structure.
From-SVN: r31908
Diffstat (limited to 'gcc/cpphash.h')
-rw-r--r-- | gcc/cpphash.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/cpphash.h b/gcc/cpphash.h index 960700c..b974284 100644 --- a/gcc/cpphash.h +++ b/gcc/cpphash.h @@ -83,6 +83,7 @@ union hashval struct hashnode *aschain; /* #assert */ }; +typedef struct hashnode HASHNODE; struct hashnode { struct hashnode *next; /* double links for easy deletion */ struct hashnode *prev; @@ -97,6 +98,8 @@ struct hashnode { extern HASHNODE *cpp_install PARAMS ((cpp_reader *, const U_CHAR *, int, enum node_type, const char *)); +extern HASHNODE *cpp_lookup PARAMS ((cpp_reader *, const U_CHAR *, int)); +extern void free_definition PARAMS ((DEFINITION *)); extern void delete_macro PARAMS ((HASHNODE *)); extern MACRODEF create_definition PARAMS ((U_CHAR *, U_CHAR *, |