diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cppfiles.c | 6 |
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6d2d771..df37319 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2000-03-29 Zack Weinberg <zack@wolery.cumb.org> + + * cppfiles.c (cpp_read_file): Don't pass zero-length string to + _cpp_calc_hash. + 2000-03-29 Jakub Jelinek <jakub@redhat.com> * dwarf2out.c (gen_enumeration_type_die): If enum has a negative diff --git a/gcc/cppfiles.c b/gcc/cppfiles.c index f46052e..a64307b 100644 --- a/gcc/cppfiles.c +++ b/gcc/cppfiles.c @@ -623,7 +623,11 @@ cpp_read_file (pfile, fname) fname = ""; dummy.nshort = fname; - dummy.hash = _cpp_calc_hash (fname, strlen (fname)); + /* _cpp_calc_hash doesn't like zero-length strings. */ + if (*fname == 0) + dummy.hash = 0; + else + dummy.hash = _cpp_calc_hash (fname, strlen (fname)); slot = (IHASH **) htab_find_slot_with_hash (pfile->all_include_files, (const void *) &dummy, dummy.hash, 1); |