aboutsummaryrefslogtreecommitdiff
path: root/gcc/cpphash.h
diff options
context:
space:
mode:
authorZack Weinberg <zack@wolery.cumb.org>2000-02-10 23:47:04 +0000
committerZack Weinberg <zack@gcc.gnu.org>2000-02-10 23:47:04 +0000
commitcf4ed945eab57de7fe5b2f736cc773659a966a0c (patch)
tree62eef5d947b8384b8147ec6d6b0b4aecba2485ac /gcc/cpphash.h
parent26439cc59cd34989b7a98d676a5e210302da15c0 (diff)
downloadgcc-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.h3
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 *,