diff options
author | kan <kan@FreeBSD.org> | 2004-07-28 03:11:36 +0000 |
---|---|---|
committer | kan <kan@FreeBSD.org> | 2004-07-28 03:11:36 +0000 |
commit | 5e00ec74d8ce58f99801200d4d3d0412c7cc1b28 (patch) | |
tree | 052f4bb635f2bea2c5e350bd60c902be100a0d1e /contrib/gcc/input.h | |
parent | 87b8398a7d9f9bf0e28bbcd54a4fc27db2125f38 (diff) | |
download | FreeBSD-src-5e00ec74d8ce58f99801200d4d3d0412c7cc1b28.zip FreeBSD-src-5e00ec74d8ce58f99801200d4d3d0412c7cc1b28.tar.gz |
Gcc 3.4.2 20040728.
Diffstat (limited to 'contrib/gcc/input.h')
-rw-r--r-- | contrib/gcc/input.h | 48 |
1 files changed, 31 insertions, 17 deletions
diff --git a/contrib/gcc/input.h b/contrib/gcc/input.h index 28bb648..ff014f6 100644 --- a/contrib/gcc/input.h +++ b/contrib/gcc/input.h @@ -1,6 +1,6 @@ /* Declarations for variables relating to reading the source file. Used by parsers, lexical analyzers, and error message routines. - Copyright (C) 1993, 1997, 1998, 2000 Free Software Foundation, Inc. + Copyright (C) 1993, 1997, 1998, 2000, 2003 Free Software Foundation, Inc. This file is part of GCC. @@ -19,31 +19,45 @@ along with GCC; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* Source file current line is coming from. */ -extern const char *input_filename; +#ifndef GCC_INPUT_H +#define GCC_INPUT_H -/* Top-level source file. */ -extern const char *main_input_filename; - -/* Line number in current source file. */ -extern int lineno; +/* The data structure used to record a location in a translation unit. */ +/* Long-term, we want to get rid of this and typedef fileline location_t. */ +struct location_s GTY (()) +{ + /* The name of the source file involved. */ + const char *file; -/* Stream for reading from input file. */ -extern FILE *finput; + /* The line-location in the source file. */ + int line; +}; +typedef struct location_s location_t; struct file_stack - { - const char *name; - struct file_stack *next; - int line; - }; +{ + struct file_stack *next; + location_t location; +}; + +/* Top-level source file. */ +extern const char *main_input_filename; + +extern location_t input_location; +#define input_line (input_location.line) +#define input_filename (input_location.file) /* Stack of currently pending input files. The line member is not accurate for the innermost file on the stack. */ extern struct file_stack *input_file_stack; +/* Stack of EXPR_WITH_FILE_LOCATION nested expressions. */ +extern struct file_stack *expr_wfl_stack; + /* Incremented on each change to input_file_stack. */ extern int input_file_stack_tick; -extern void push_srcloc PARAMS ((const char *name, int line)); -extern void pop_srcloc PARAMS ((void)); +extern void push_srcloc (const char *name, int line); +extern void pop_srcloc (void); + +#endif |