cppfiles.c (stack_file): Leave filename as "" rather than "<stdin>".

* cppfiles.c (stack_file): Leave filename as "" rather than "<stdin>".
	* line-map.h (linemap_add): Update comments.
	* line-map.c (linemap_add): Update comments, interpret zero-length
	filename as "<stdin>".

From-SVN: r69952
This commit is contained in:
Geoffrey Keating 2003-07-30 06:43:33 +00:00 committed by Geoffrey Keating
parent c1516eae87
commit 9074464c14
4 changed files with 24 additions and 7 deletions

View File

@ -1,3 +1,10 @@
2003-07-29 Geoffrey Keating <geoffk@apple.com>
* cppfiles.c (stack_file): Leave filename as "" rather than "<stdin>".
* line-map.h (linemap_add): Update comments.
* line-map.c (linemap_add): Update comments, interpret zero-length
filename as "<stdin>".
2003-07-29 Nathanael Nerode <neroden@gcc.gnu.org>
* mkinstalldirs: Import autoconf 2.57 / automake 1.7 version.

View File

@ -558,8 +558,6 @@ stack_file (cpp_reader *pfile, _cpp_file *file, bool import)
/* Generate the call back. */
fname = file->name;
if (*fname == '\0')
fname = "<stdin>";
_cpp_do_file_change (pfile, LC_ENTER, fname, 1, sysp);
return true;

View File

@ -61,11 +61,17 @@ linemap_free (struct line_maps *set)
}
/* Add a mapping of logical source line to physical source file and
line number. The text pointed to by TO_FILE must have a lifetime
at least as long as the final call to lookup_line ().
line number.
The text pointed to by TO_FILE must have a lifetime
at least as long as the final call to lookup_line (). An empty
TO_FILE means standard input. If reason is LC_LEAVE, and
TO_FILE is NULL, then TO_FILE, TO_LINE and SYSP are given their
natural values considering the file we are returning to.
FROM_LINE should be monotonic increasing across calls to this
function. */
function. A call to this function can relocate the previous set of
maps, so any stored line_map pointers should not be used. */
const struct line_map *
linemap_add (struct line_maps *set, enum lc_reason reason,
@ -85,6 +91,9 @@ linemap_add (struct line_maps *set, enum lc_reason reason,
map = &set->maps[set->used++];
if (to_file && *to_file == '\0')
to_file = "<stdin>";
/* If we don't keep our line maps consistent, we can easily
segfault. Don't rely on the client to do it for us. */
if (set->depth == 0)

View File

@ -74,8 +74,11 @@ extern void linemap_init (struct line_maps *);
extern void linemap_free (struct line_maps *);
/* Add a mapping of logical source line to physical source file and
line number. The text pointed to by TO_FILE must have a lifetime
at least as long as the line maps. If reason is LC_LEAVE, and
line number.
The text pointed to by TO_FILE must have a lifetime
at least as long as the final call to lookup_line (). An empty
TO_FILE means standard input. If reason is LC_LEAVE, and
TO_FILE is NULL, then TO_FILE, TO_LINE and SYSP are given their
natural values considering the file we are returning to.