* internal.h (struct cpp_reader): Add new fields:
commit248dfc421d6e30bdeb86fba2ff4c682ea5ada460
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 21 May 2007 23:43:53 +0000 (21 23:43 +0000)
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 21 May 2007 23:43:53 +0000 (21 23:43 +0000)
tree8192afa5cfab60d4b4ee6d27b517d13b9f66f4fd
parent9c77efff7733012da96d583a9d037298f7317612
* 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/ChangeLog
libcpp/files.c
libcpp/internal.h