diff options
Diffstat (limited to 'srcpos.h')
-rw-r--r-- | srcpos.h | 27 |
1 files changed, 12 insertions, 15 deletions
@@ -27,19 +27,27 @@ #include <stdio.h> -struct dtc_file { +struct srcfile_state { + FILE *f; + char *name; char *dir; - const char *name; - FILE *file; + int lineno; + struct srcfile_state *prev; }; +extern struct srcfile_state *current_srcfile; /* = NULL */ + +FILE *srcfile_relative_open(const char *fname, char **fullnamep); +void srcfile_push(const char *fname); +int srcfile_pop(void); + #if ! defined(YYLTYPE) && ! defined(YYLTYPE_IS_DECLARED) typedef struct YYLTYPE { int first_line; int first_column; int last_line; int last_column; - struct dtc_file *file; + struct srcfile_state *file; } YYLTYPE; #define YYLTYPE_IS_DECLARED 1 @@ -81,17 +89,6 @@ typedef YYLTYPE srcpos; */ extern srcpos srcpos_empty; -extern struct dtc_file *srcpos_file; - -struct search_path { - const char *dir; /* NULL for current directory */ - struct search_path *prev, *next; -}; - -extern struct dtc_file *dtc_open_file(const char *fname, - const struct search_path *search); -extern void dtc_close_file(struct dtc_file *file); - extern srcpos *srcpos_copy(srcpos *pos); extern char *srcpos_string(srcpos *pos); extern void srcpos_dump(srcpos *pos); |