From 248dfc421d6e30bdeb86fba2ff4c682ea5ada460 Mon Sep 17 00:00:00 2001 From: ian Date: Mon, 21 May 2007 23:43:53 +0000 Subject: * internal.h (struct cpp_reader): Add new fields: nonexistent_file_hash and nonexistent_file_ob. * files.c: Include "obstack.h". (find_file_in_dir): Before trying to open the file, look up the path name in the hash table of nonexistent files. After failing to open the file, add the path name to the hash table. (_cpp_find_file): Cache the results of looking up the file name starting with the quote and bracket chain heads, if we can. (nonexistent_file_hash_eq): New static function. (_cpp_init_files): Initialize pfile->nonexistent_file_hash and pfile->nonexistent_file_ob. (_cpp_cleanup_files): Free pfile->nonexistent_file_hash and pfile->nonexistent_file_ob. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124929 138bc75d-0d04-0410-961f-82ee72b054a4 --- libcpp/internal.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'libcpp/internal.h') diff --git a/libcpp/internal.h b/libcpp/internal.h index 20f42358051..9395f6aa10e 100644 --- a/libcpp/internal.h +++ b/libcpp/internal.h @@ -355,6 +355,10 @@ struct cpp_reader struct file_hash_entry *file_hash_entries; unsigned int file_hash_entries_allocated, file_hash_entries_used; + /* Negative path lookup hash table. */ + struct htab *nonexistent_file_hash; + struct obstack nonexistent_file_ob; + /* Nonzero means don't look for #include "foo" the source-file directory. */ bool quote_ignores_source_dir; -- cgit v1.2.1