aboutsummaryrefslogtreecommitdiff
path: root/gcc/cpplib.h
diff options
context:
space:
mode:
authorMike Stump <mrs@apple.com>2004-05-05 18:25:52 +0000
committerMike Stump <mrs@gcc.gnu.org>2004-05-05 18:25:52 +0000
commite3c287c9f3141a97a75ea54ca9d99d940765d831 (patch)
treec90d3529878cc7887b1b4e333bac9bb10c41467a /gcc/cpplib.h
parentf08a3544c21fba472a946b93ad506d6469481311 (diff)
downloadgcc-e3c287c9f3141a97a75ea54ca9d99d940765d831.zip
gcc-e3c287c9f3141a97a75ea54ca9d99d940765d831.tar.gz
gcc-e3c287c9f3141a97a75ea54ca9d99d940765d831.tar.bz2
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
Diffstat (limited to 'gcc/cpplib.h')
-rw-r--r--gcc/cpplib.h3
1 files changed, 2 insertions, 1 deletions
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 *);