cpp crash with gcc-2.95.2 and cpplib
Neil Booth
neil@daikokuya.demon.co.uk
Tue Dec 12 12:12:00 GMT 2000
Niels Möller wrote:-
> should help. But perhaps it's better to change read_name_map to return
> NULL on error?
Yes, that looks like it. Could you try this patch? If it works for
you, I'll commit it.
Neil.
* cppfiles.c (read_name_map): Return NULL on open error.
(remap_filename): Update.
Index: cppfiles.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cppfiles.c,v
retrieving revision 1.92
diff -u -p -r1.92 cppfiles.c
--- cppfiles.c 2000/12/11 07:45:15 1.92
+++ cppfiles.c 2000/12/12 20:10:23
@@ -875,9 +875,9 @@ read_name_map (pfile, dirname)
strcat (name, "/");
strcat (name, FILE_NAME_MAP_FILE);
f = fopen (name, "r");
- if (!f)
- map_list_ptr->map_list_map = (struct file_name_map *)-1;
- else
+
+ /* Silently return NULL if we cannot open. */
+ if (f)
{
int ch;
int dirlen = strlen (dirname);
@@ -938,12 +938,11 @@ remap_filename (pfile, name, loc)
const char *from, *p, *dir;
if (! loc->name_map)
- loc->name_map = read_name_map (pfile,
- loc->name
- ? loc->name : ".");
-
- if (loc->name_map == (struct file_name_map *)-1)
- return name;
+ {
+ loc->name_map = read_name_map (pfile, loc->name ? loc->name : ".");
+ if (! loc->name_map)
+ return name;
+ }
from = name + strlen (loc->name) + 1;
More information about the Gcc-bugs
mailing list