From: zack Date: Fri, 16 Jul 2004 17:07:01 +0000 (+0000) Subject: 2004-07-16 Andris Pavenis X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=commitdiff_plain;h=821fa04597c85a989208417116a579a8333810cc 2004-07-16 Andris Pavenis PR preprocessor/16366 * internal.h (struct cpp_reader): New field dir_hash. * files.c (make_cpp_dir): Use dir_hash, not file_hash. (_cpp_init_files, _cpp_cleanup_files): Update for new field. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84821 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index 2cdd78445b8..48fdf38691b 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,3 +1,10 @@ +2004-07-16 Andris Pavenis + + PR preprocessor/16366 + * internal.h (struct cpp_reader): New field dir_hash. + * files.c (make_cpp_dir): Use dir_hash, not file_hash. + (_cpp_init_files, _cpp_cleanup_files): Update for new field. + 2004-07-04 Neil Booth PR preprocessor/16192 diff --git a/libcpp/files.c b/libcpp/files.c index cd8d077ef71..fc1fa2c7f0e 100644 --- a/libcpp/files.c +++ b/libcpp/files.c @@ -884,7 +884,7 @@ make_cpp_dir (cpp_reader *pfile, const char *dir_name, int sysp) cpp_dir *dir; hash_slot = (struct file_hash_entry **) - htab_find_slot_with_hash (pfile->file_hash, dir_name, + htab_find_slot_with_hash (pfile->dir_hash, dir_name, htab_hash_string (dir_name), INSERT); @@ -984,6 +984,8 @@ _cpp_init_files (cpp_reader *pfile) { pfile->file_hash = htab_create_alloc (127, file_hash_hash, file_hash_eq, NULL, xcalloc, free); + pfile->dir_hash = htab_create_alloc (127, file_hash_hash, file_hash_eq, + NULL, xcalloc, free); allocate_file_hash_entries (pfile); } @@ -992,6 +994,7 @@ void _cpp_cleanup_files (cpp_reader *pfile) { htab_delete (pfile->file_hash); + htab_delete (pfile->dir_hash); } /* Enter a file name in the hash for the sake of cpp_included. */ diff --git a/libcpp/internal.h b/libcpp/internal.h index 845f1ebdf08..0a7eb109187 100644 --- a/libcpp/internal.h +++ b/libcpp/internal.h @@ -334,6 +334,7 @@ struct cpp_reader /* File and directory hash table. */ struct htab *file_hash; + struct htab *dir_hash; struct file_hash_entry *file_hash_entries; unsigned int file_hash_entries_allocated, file_hash_entries_used;