X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=preprocessor.h;h=5757672e3616cd202248dc0d0cb18b02c028dd51;hb=10842603c042d3c62f128519d6356b3817b6a0db;hp=ce4002fc177983c6477b757fe1003a6878718145;hpb=0b51d8dd64a117bfca6119be6d8fd1d35570ee1f;p=cparser diff --git a/preprocessor.h b/preprocessor.h index ce4002f..5757672 100644 --- a/preprocessor.h +++ b/preprocessor.h @@ -7,10 +7,12 @@ void init_preprocessor(void); void exit_preprocessor(void); +typedef struct searchpath_entry_t searchpath_entry_t; + /** Switch input to another file. The current token is not changed. */ -void switch_input(FILE *file, char const *filename); +void switch_pp_input(FILE *file, char const *filename, searchpath_entry_t *entry, bool is_system_header); -FILE* close_input(void); +FILE *close_pp_input(void); void next_preprocessing_token(void); @@ -19,4 +21,18 @@ string_t make_string(char const *string); extern bool allow_dollar_in_symbol; extern token_t pp_token; +void set_preprocessor_output(FILE *output); +void emit_pp_token(void); +void check_unclosed_conditionals(void); + +typedef struct searchpath_t searchpath_t; +extern searchpath_t bracket_searchpath; /**< paths for < > includes */ +extern searchpath_t quote_searchpath; /**< paths for " " includes */ +extern searchpath_t system_searchpath; /**< system searchpath (appended to + quote searchpath) */ +extern searchpath_t after_searchpath; /**< searchpath for -idirafter (also system paths) */ + +void init_include_paths(void); +void append_include_path(searchpath_t *searchpath, const char *path); + #endif