summaryrefslogtreecommitdiff
path: root/gcc/input.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/input.h')
-rw-r--r--gcc/input.h52
1 files changed, 11 insertions, 41 deletions
diff --git a/gcc/input.h b/gcc/input.h
index c360a1d5312..4a3040c3d50 100644
--- a/gcc/input.h
+++ b/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, 2003, 2004, 2007
+ Copyright (C) 1993, 1997, 1998, 2000, 2003, 2004, 2007, 2008
Free Software Foundation, Inc.
This file is part of GCC.
@@ -23,17 +23,16 @@ along with GCC; see the file COPYING3. If not see
#define GCC_INPUT_H
#include "line-map.h"
+
extern GTY(()) struct line_maps *line_table;
+/* A value which will never be used to represent a real location. */
+#define UNKNOWN_LOCATION ((source_location) 0)
+
/* The location for declarations in "<built-in>" */
#define BUILTINS_LOCATION ((source_location) 2)
-/* Note: if any of the types defined inside this #ifdef are changed,
- gengtype.c:define_location_structures must be updated to match. */
-
-#ifdef USE_MAPPED_LOCATION
-
-typedef struct
+typedef struct GTY (())
{
/* The name of the source file involved. */
const char *file;
@@ -46,34 +45,9 @@ typedef struct
extern expanded_location expand_location (source_location);
-#define UNKNOWN_LOCATION ((source_location) 0)
-typedef source_location location_t; /* deprecated typedef */
-typedef source_location source_locus; /* to be removed */
-
-#define location_from_locus(LOCUS) (LOCUS)
-
-#else /* ! USE_MAPPED_LOCATION */
-
-struct location_s GTY(())
-{
- /* The name of the source file involved. */
- const char *file;
-
- /* The line-location in the source file. */
- int line;
-};
-
-typedef struct location_s expanded_location;
-typedef struct location_s location_t;
-typedef location_t *source_locus;
-
-#define expand_location(FILELINE) (FILELINE)
-extern location_t unknown_location;
-#define UNKNOWN_LOCATION unknown_location
-
-#define location_from_locus(LOCUS) (* (LOCUS))
-
-#endif /* ! USE_MAPPED_LOCATION */
+/* Historically GCC used location_t, while cpp used source_location.
+ This could be removed but it hardly seems worth the effort. */
+typedef source_location location_t;
struct file_stack
{
@@ -85,19 +59,15 @@ struct file_stack
extern const char *main_input_filename;
extern location_t input_location;
-#ifdef USE_MAPPED_LOCATION
extern void push_srcloc (location_t);
-#else /* ! USE_MAPPED_LOCATION */
-extern void push_srcloc (const char *name, int line);
-#endif /* ! USE_MAPPED_LOCATION */
extern void pop_srcloc (void);
extern void restore_input_file_stack (int);
#define LOCATION_FILE(LOC) ((expand_location (LOC)).file)
#define LOCATION_LINE(LOC) ((expand_location (LOC)).line)
-#define input_line LOCATION_LINE(input_location)
-#define input_filename LOCATION_FILE(input_location)
+#define input_line LOCATION_LINE (input_location)
+#define input_filename LOCATION_FILE (input_location)
/* Stack of currently pending input files.
The line member is not accurate for the innermost file on the stack. */