aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/cppfiles.c6
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);