aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSimon Baldwin <simonb@google.com>2012-11-16 17:14:05 +0000
committerSimon Baldwin <simonb@gcc.gnu.org>2012-11-16 17:14:05 +0000
commit5dc99c46786e91f2892c4318ed36054302e0c964 (patch)
tree709320b578253406cba90335431f68194bf6b70a /gcc
parentb185792f5216497c74664bdf9ba2d465628d6f4c (diff)
downloadgcc-5dc99c46786e91f2892c4318ed36054302e0c964.zip
gcc-5dc99c46786e91f2892c4318ed36054302e0c964.tar.gz
gcc-5dc99c46786e91f2892c4318ed36054302e0c964.tar.bz2
cpplib.h (struct cpp_options): Add canonical_system_headers.
* include/cpplib.h (struct cpp_options): Add canonical_system_headers. * files.c (find_file_in_dir): Call maybe_shorter_path() only if canonical_system_headers is set. * init.c (cpp_create_reader): Initialize canonical_system_headers. * configure.ac: Add new --enable-canonical-system-headers. * configure: Regenerate. * config.in: Regenerate. * doc/cppopts.texi: Document -f[no-]canonical-system-headers. * doc/install.texi: Document --enable-canonical-system-headers. * c.opt: Add f[no-]canonical-system-headers. * c-opts.c (c_common_handle_option): Handle OPT_fcanonical_system_headers. From-SVN: r193569
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/c-family/ChangeLog6
-rw-r--r--gcc/c-family/c-opts.c4
-rw-r--r--gcc/c-family/c.opt4
-rw-r--r--gcc/doc/cppopts.texi4
-rw-r--r--gcc/doc/install.texi8
6 files changed, 31 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0f149c4..e430af9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2012-11-16 Simon Baldwin <simonb@google.com>
+
+ * doc/cppopts.texi: Document -f[no-]canonical-system-headers.
+ * doc/install.texi: Document --enable-canonical-system-headers.
+
2012-11-16 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/55330
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index 85e113c..2938662 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,9 @@
+2012-11-16 Simon Baldwin <simonb@google.com>
+
+ * c.opt: Add f[no-]canonical-system-headers.
+ * c-opts.c (c_common_handle_option): Handle
+ OPT_fcanonical_system_headers.
+
2012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
PR c++/54413
diff --git a/gcc/c-family/c-opts.c b/gcc/c-family/c-opts.c
index d86a165..488c085 100644
--- a/gcc/c-family/c-opts.c
+++ b/gcc/c-family/c-opts.c
@@ -456,6 +456,10 @@ c_common_handle_option (size_t scode, const char *arg, int value,
handle_OPT_d (arg);
break;
+ case OPT_fcanonical_system_headers:
+ cpp_opts->canonical_system_headers = value;
+ break;
+
case OPT_fcond_mismatch:
if (!c_dialect_cxx ())
{
diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt
index 1b5c51a..f5f0867 100644
--- a/gcc/c-family/c.opt
+++ b/gcc/c-family/c.opt
@@ -840,6 +840,10 @@ Recognize built-in functions
fbuiltin-
C ObjC C++ ObjC++ Joined
+fcanonical-system-headers
+C ObjC C++ ObjC++
+Where shorter, use canonicalized paths to systems headers.
+
fcheck-new
C++ ObjC++ Var(flag_check_new)
Check the return value of new
diff --git a/gcc/doc/cppopts.texi b/gcc/doc/cppopts.texi
index a2eb79d..37e0b7b5 100644
--- a/gcc/doc/cppopts.texi
+++ b/gcc/doc/cppopts.texi
@@ -564,6 +564,10 @@ Accept universal character names in identifiers. This option is
experimental; in a future version of GCC, it will be enabled by
default for C99 and C++.
+@item -fno-canonical-system-headers
+@opindex fno-canonical-system-headers
+When preprocessing, do not shorten system header paths with canonicalization.
+
@item -fpreprocessed
@opindex fpreprocessed
Indicate to the preprocessor that the input file has already been
diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
index 7396158..b78d127 100644
--- a/gcc/doc/install.texi
+++ b/gcc/doc/install.texi
@@ -1719,6 +1719,14 @@ link time when @option{-fuse-linker-plugin} is enabled.
This linker should have plugin support such as gold starting with
version 2.20 or GNU ld starting with version 2.21.
See @option{-fuse-linker-plugin} for details.
+
+@item --enable-canonical-system-headers
+@itemx --disable-canonical-system-headers
+Enable system header path canonicalization for @file{libcpp}. This can
+produce shorter header file paths in diagnostics and dependency output
+files, but these changed header paths may conflict with some compilation
+environments. Enabled by default, and may be disabled using
+@option{--disable-canonical-system-headers}.
@end table
@subheading Cross-Compiler-Specific Options