From ba841ef875de313d62028a0b3f8af3f006767142 Mon Sep 17 00:00:00 2001 From: geoffk Date: Tue, 4 Jan 2005 02:13:56 +0000 Subject: Index: libcpp/ChangeLog 2005-01-03 Geoffrey Keating * files.c (_cpp_find_file): Add files found by search_path_exhausted to the list of all files. Index: gcc/testsuite/ChangeLog 2005-01-03 Geoffrey Keating Robert Bowdidge * gcc.dg/cpp/subframework1.c: New. * gcc.dg/cpp/frame/one.framework/Frameworks/OneSub.framework/Headers/A.h: New. * gcc.dg/cpp/frame/one.framework/Frameworks/OneSub.framework/Headers/B.h: New. * gcc.dg/cpp/frame/one.framework/Frameworks/OneSub.framework/Headers/C.h: New. * gcc.dg/cpp/frame/one.framework/Headers/one-includeSubs.h: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92883 138bc75d-0d04-0410-961f-82ee72b054a4 --- libcpp/ChangeLog | 5 +++++ libcpp/files.c | 10 +++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) (limited to 'libcpp') diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index 88e5b8f312b..fb3e9284341 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,3 +1,8 @@ +2005-01-03 Geoffrey Keating + + * files.c (_cpp_find_file): Add files found by search_path_exhausted + to the list of all files. + 2005-01-01 Gabriel Dos Reis * internal.h: Update references to Cpp lib filenames. diff --git a/libcpp/files.c b/libcpp/files.c index bd5f8dd5114..df5d9d7c972 100644 --- a/libcpp/files.c +++ b/libcpp/files.c @@ -438,7 +438,15 @@ _cpp_find_file (cpp_reader *pfile, const char *fname, cpp_dir *start_dir, bool f if (file->dir == NULL) { if (search_path_exhausted (pfile, fname, file)) - return file; + { + /* Although this file must not go in the cache, because + the file found might depend on things (like the current file) + that aren't represented in the cache, it still has to go in + the list of all files so that #import works. */ + file->next_file = pfile->all_files; + pfile->all_files = file; + return file; + } open_file_failed (pfile, file); if (invalid_pch) -- cgit v1.2.3