Commit 8b82c528 by Per Bothner Committed by Per Bothner

line-map.h (fileline): New typedef.


	* line-map.h (fileline):  New typedef.
	(struct line_map, linemap_add, linemap_lookup):  Use it.
	* input.h (struct location_s):  Comment notes that long-term we want
	to replace it by fileline.

From-SVN: r70205
parent b869f904
2003-08-06 Per Bothner <pbothner@apple.com>
* line-map.h (fileline): New typedef.
(struct line_map, linemap_add, linemap_lookup): Use it.
* input.h (struct location_s): Comment notes that long-term we want
to replace it by fileline.
2003-08-06 J"orn Rennecke <joern.rennecke@superh.com> 2003-08-06 J"orn Rennecke <joern.rennecke@superh.com>
Fix SHcompact exception handling: Fix SHcompact exception handling:
......
...@@ -23,6 +23,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA ...@@ -23,6 +23,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#define GCC_INPUT_H #define GCC_INPUT_H
/* The data structure used to record a location in a translation unit. */ /* 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 (()) struct location_s GTY (())
{ {
/* The name of the source file involved. */ /* The name of the source file involved. */
......
...@@ -30,6 +30,11 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ...@@ -30,6 +30,11 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
(e.g. a #line directive in C). */ (e.g. a #line directive in C). */
enum lc_reason {LC_ENTER = 0, LC_LEAVE, LC_RENAME}; enum lc_reason {LC_ENTER = 0, LC_LEAVE, LC_RENAME};
/* A logical line number, i,e, an "index" into a line_map. */
/* Long-term, we want to use this to replace struct location_s (in input.h),
and effectively typedef fileline location_t. */
typedef unsigned int fileline;
/* The logical line FROM_LINE maps to physical source file TO_FILE at /* The logical line FROM_LINE maps to physical source file TO_FILE at
line TO_LINE, and subsequently one-to-one until the next line_map line TO_LINE, and subsequently one-to-one until the next line_map
structure in the set. INCLUDED_FROM is an index into the set that structure in the set. INCLUDED_FROM is an index into the set that
...@@ -42,7 +47,7 @@ struct line_map ...@@ -42,7 +47,7 @@ struct line_map
{ {
const char *to_file; const char *to_file;
unsigned int to_line; unsigned int to_line;
unsigned int from_line; fileline from_line;
int included_from; int included_from;
ENUM_BITFIELD (lc_reason) reason : CHAR_BIT; ENUM_BITFIELD (lc_reason) reason : CHAR_BIT;
unsigned char sysp; unsigned char sysp;
...@@ -87,12 +92,11 @@ extern void linemap_free (struct line_maps *); ...@@ -87,12 +92,11 @@ extern void linemap_free (struct line_maps *);
maps, so any stored line_map pointers should not be used. */ maps, so any stored line_map pointers should not be used. */
extern const struct line_map *linemap_add extern const struct line_map *linemap_add
(struct line_maps *, enum lc_reason, unsigned int sysp, (struct line_maps *, enum lc_reason, unsigned int sysp,
unsigned int from_line, const char *to_file, unsigned int to_line); fileline from_line, const char *to_file, unsigned int to_line);
/* Given a logical line, returns the map from which the corresponding /* Given a logical line, returns the map from which the corresponding
(source file, line) pair can be deduced. */ (source file, line) pair can be deduced. */
extern const struct line_map *linemap_lookup (struct line_maps *, extern const struct line_map *linemap_lookup (struct line_maps *, fileline);
unsigned int);
/* Print the file names and line numbers of the #include commands /* Print the file names and line numbers of the #include commands
which led to the map MAP, if any, to stderr. Nothing is output if which led to the map MAP, if any, to stderr. Nothing is output if
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment