aboutsummaryrefslogtreecommitdiff
path: root/gcc/cpplib.h
diff options
context:
space:
mode:
authorBen Elliston <bje@au.ibm.com>2004-05-22 02:39:35 +0000
committerBen Elliston <bje@gcc.gnu.org>2004-05-22 12:39:35 +1000
commitb02398bd5bebe35bc44def2963fee7a4c4cf3568 (patch)
tree0fb35652621330c19f8e8ce0ffeb987cb15f69d5 /gcc/cpplib.h
parent12fea1f9fcb7129531fa3f30a0688a80e68b5353 (diff)
downloadgcc-b02398bd5bebe35bc44def2963fee7a4c4cf3568.zip
gcc-b02398bd5bebe35bc44def2963fee7a4c4cf3568.tar.gz
gcc-b02398bd5bebe35bc44def2963fee7a4c4cf3568.tar.bz2
c.opt (Wmissing-include-dirs): New.
* c.opt (Wmissing-include-dirs): New. * c-opts.c (c_common_handle_option): Pass true for user_supplied_p to add_path () for -I, but false for OPT_idirafter, OPT_iquote and OPT_isystem. Handle case OPT_Wmissing_include_dirs. * c-incpath.h (add_path): Add fourth (bool) argument. * c-incpath.c (add_env_var_paths): Pass false to add_path (). (add_standard_paths): Likewise. (remove_duplicates) [REASON_NOENT]: Warn if -Wmissing-include-dirs is used and the directory was user-supplied via -I. (add_path): Set p->user_supplied_p. Remove duplicated code by using add_cpp_dir_path (). * cpplib.h (struct cpp_options): Add warn_missing_include_dirs. (struct cpp_dir): Add user_supplied_p. * doc/invoke.texi (Warning Options): Document new option. [testsuite] * gcc.dg/cpp/Wmissingdirs.c: New. From-SVN: r82121
Diffstat (limited to 'gcc/cpplib.h')
-rw-r--r--gcc/cpplib.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/cpplib.h b/gcc/cpplib.h
index 5ac0a19..d006192 100644
--- a/gcc/cpplib.h
+++ b/gcc/cpplib.h
@@ -264,6 +264,10 @@ struct cpp_options
/* Nonzero means warn if slash-star appears in a comment. */
unsigned char warn_comments;
+ /* Nonzero means warn if a user-supplied include directory does not
+ exist. */
+ unsigned char warn_missing_include_dirs;
+
/* Nonzero means warn if there are any trigraphs. */
unsigned char warn_trigraphs;
@@ -439,6 +443,9 @@ struct cpp_dir
directories in the search path. */
ino_t ino;
dev_t dev;
+
+ /* Is this a user-supplied directory? */
+ bool user_supplied_p;
};
/* Name under which this program was invoked. */