From e3c287c9f3141a97a75ea54ca9d99d940765d831 Mon Sep 17 00:00:00 2001 From: Mike Stump Date: Wed, 5 May 2004 18:25:52 +0000 Subject: darwin-c.c (add_framework): Copy the directory name as it can be freed later. * config/darwin-c.c (add_framework): Copy the directory name as it can be freed later. Also, ensure we always allocate enough room for the cached framework information. (find_subframework_header): Keep track of the directory where the subframework header was found. (framework_construct_pathname): Speed up by not trying to re-add a framework. * cppfiles.c (search_path_exhausted): Arrange for the missing header callback to be able to set the directory where the header was found. (cpp_get_dir): Add. * cpplib.h (missing_header_cb): Add a parameter. (cpp_get_dir): Add. From-SVN: r81534 --- gcc/cpplib.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gcc/cpplib.h') diff --git a/gcc/cpplib.h b/gcc/cpplib.h index 905ca5d..5ac0a19 100644 --- a/gcc/cpplib.h +++ b/gcc/cpplib.h @@ -385,7 +385,7 @@ struct cpp_options The return value is the malloced name of a header to try and open, if any, or NULL otherwise. This callback is called only if the header is otherwise unfound. */ -typedef const char *(*missing_header_cb)(cpp_reader *, const char *header); +typedef const char *(*missing_header_cb)(cpp_reader *, const char *header, cpp_dir **); /* Call backs to cpplib client. */ struct cpp_callbacks @@ -744,6 +744,7 @@ extern void cpp_make_system_header (cpp_reader *, int, int); extern bool cpp_push_include (cpp_reader *, const char *); extern void cpp_change_file (cpp_reader *, enum lc_reason, const char *); extern const char *cpp_get_path (struct _cpp_file *); +extern cpp_dir *cpp_get_dir (struct _cpp_file *); extern cpp_buffer *cpp_get_buffer (cpp_reader *); extern struct _cpp_file *cpp_get_file (cpp_buffer *); extern cpp_buffer *cpp_get_prev (cpp_buffer *); -- cgit v1.1