OSDN Git Service

* line-map.h (fileline): New typedef.
authorbothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 6 Aug 2003 19:34:43 +0000 (19:34 +0000)
committerbothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 6 Aug 2003 19:34:43 +0000 (19:34 +0000)
(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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70205 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/input.h
gcc/line-map.h

index 2041409..b918929 100644 (file)
@@ -1,3 +1,10 @@
+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>
 
        Fix SHcompact exception handling:
 2003-08-06  J"orn Rennecke <joern.rennecke@superh.com>
 
        Fix SHcompact exception handling:
index f422f74..7d08e11 100644 (file)
@@ -23,6 +23,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 #define GCC_INPUT_H
 
 /* The data structure used to record a location in a translation unit.  */
 #define GCC_INPUT_H
 
 /* 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.  */
 struct location_s GTY (())
 {
   /* The name of the source file involved.  */
index dcb6f7d..983ba69 100644 (file)
@@ -30,6 +30,11 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
    (e.g. a #line directive in C).  */
 enum lc_reason {LC_ENTER = 0, LC_LEAVE, LC_RENAME};
 
    (e.g. a #line directive in C).  */
 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
    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
 /* 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
    structure in the set.  INCLUDED_FROM is an index into the set that
@@ -42,7 +47,7 @@ struct line_map
 {
   const char *to_file;
   unsigned int to_line;
 {
   const char *to_file;
   unsigned int to_line;
-  unsigned int from_line;
+  fileline from_line;
   int included_from;
   ENUM_BITFIELD (lc_reason) reason : CHAR_BIT;
   unsigned char sysp;
   int included_from;
   ENUM_BITFIELD (lc_reason) reason : CHAR_BIT;
   unsigned char sysp;
@@ -87,12 +92,11 @@ extern void linemap_free (struct line_maps *);
    maps, so any stored line_map pointers should not be used.  */
 extern const struct line_map *linemap_add
   (struct line_maps *, enum lc_reason, unsigned int sysp,
    maps, so any stored line_map pointers should not be used.  */
 extern const struct line_map *linemap_add
   (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
    (source file, line) pair can be deduced.  */
 
 /* Given a logical line, returns the map from which the corresponding
    (source file, line) pair can be deduced.  */
-extern const struct line_map *linemap_lookup (struct line_maps *,
-                                             unsigned int);
+extern const struct line_map *linemap_lookup (struct line_maps *, fileline);
 
 /* 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
 
 /* 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