summaryrefslogtreecommitdiffstats
path: root/gcc/cpphash.h
diff options
context:
space:
mode:
authorzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>2000-02-10 23:47:04 +0000
committerzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>2000-02-10 23:47:04 +0000
commiteb3948d14fb48860754f84cdc8c0d507d89899fa (patch)
tree62eef5d947b8384b8147ec6d6b0b4aecba2485ac /gcc/cpphash.h
parent36cf37bea77749a21754b4de93aa6a3f317605a6 (diff)
downloadppe42-gcc-eb3948d14fb48860754f84cdc8c0d507d89899fa.tar.gz
ppe42-gcc-eb3948d14fb48860754f84cdc8c0d507d89899fa.zip
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31908 138bc75d-0d04-0410-961f-82ee72b054a4
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 960700cc9c2..b9742843ed9 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 *,
OpenPOWER on IntegriCloud