Index: libcpp/ChangeLog

2005-01-03  Geoffrey Keating  <geoffk@apple.com>

	* 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  <geoffk@apple.com>
	    Robert Bowdidge <bowdidge@apple.com>

	* 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.

Co-Authored-By: Robert Bowdidge <bowdidge@apple.com>

From-SVN: r92883
This commit is contained in:
Geoffrey Keating 2005-01-04 02:13:56 +00:00 committed by Geoffrey Keating
parent 1eb3331e96
commit 942926ad9a
8 changed files with 46 additions and 1 deletions

View File

@ -1,3 +1,12 @@
2005-01-03 Geoffrey Keating <geoffk@apple.com>
Robert Bowdidge <bowdidge@apple.com>
* 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.
2005-01-03 Geoffrey Keating <geoffk@apple.com>
* gcc.dg/darwin-weakimport-1.c: Remove check for variables

View File

@ -0,0 +1 @@
#import <OneSub/C.h>

View File

@ -0,0 +1 @@
#import <OneSub/C.h>

View File

@ -0,0 +1,4 @@
#ifdef ONESUB_C_INCLUDED
#error should only be imported once
#endif
#define ONESUB_C_INCLUDED 1

View File

@ -0,0 +1,2 @@
#import <OneSub/A.h>
#import <OneSub/B.h>

View File

@ -0,0 +1,15 @@
/* Copyright (C) 2004 Free Software Foundation, Inc. */
/* { dg-do preprocess } */
/* { dg-options "-F$srcdir/gcc.dg/cpp/frame" } */
/* Contributed by Robert Bowdidge <bowdidge@apple.com> */
/* include a file from a subframework that will import two files that
both look at the same file. Make sure we only include that file once;
if so, the program will compile fine. If not, we'll get redefinition
errors */
#include <one/one-includeSubs.h>
#ifndef ONESUB_C_INCLUDED
#error C.h not included
#endif

View File

@ -1,3 +1,8 @@
2005-01-03 Geoffrey Keating <geoffk@apple.com>
* files.c (_cpp_find_file): Add files found by search_path_exhausted
to the list of all files.
2005-01-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
* internal.h: Update references to Cpp lib filenames.

View File

@ -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)