mirror of git://gcc.gnu.org/git/gcc.git
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
This commit is contained in:
parent
b185792f52
commit
5dc99c4678
|
|
@ -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>
|
2012-11-16 Vladimir Makarov <vmakarov@redhat.com>
|
||||||
|
|
||||||
PR rtl-optimization/55330
|
PR rtl-optimization/55330
|
||||||
|
|
|
||||||
|
|
@ -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>
|
2012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
|
||||||
|
|
||||||
PR c++/54413
|
PR c++/54413
|
||||||
|
|
|
||||||
|
|
@ -456,6 +456,10 @@ c_common_handle_option (size_t scode, const char *arg, int value,
|
||||||
handle_OPT_d (arg);
|
handle_OPT_d (arg);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case OPT_fcanonical_system_headers:
|
||||||
|
cpp_opts->canonical_system_headers = value;
|
||||||
|
break;
|
||||||
|
|
||||||
case OPT_fcond_mismatch:
|
case OPT_fcond_mismatch:
|
||||||
if (!c_dialect_cxx ())
|
if (!c_dialect_cxx ())
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -840,6 +840,10 @@ Recognize built-in functions
|
||||||
fbuiltin-
|
fbuiltin-
|
||||||
C ObjC C++ ObjC++ Joined
|
C ObjC C++ ObjC++ Joined
|
||||||
|
|
||||||
|
fcanonical-system-headers
|
||||||
|
C ObjC C++ ObjC++
|
||||||
|
Where shorter, use canonicalized paths to systems headers.
|
||||||
|
|
||||||
fcheck-new
|
fcheck-new
|
||||||
C++ ObjC++ Var(flag_check_new)
|
C++ ObjC++ Var(flag_check_new)
|
||||||
Check the return value of new
|
Check the return value of new
|
||||||
|
|
|
||||||
|
|
@ -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
|
experimental; in a future version of GCC, it will be enabled by
|
||||||
default for C99 and C++.
|
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
|
@item -fpreprocessed
|
||||||
@opindex fpreprocessed
|
@opindex fpreprocessed
|
||||||
Indicate to the preprocessor that the input file has already been
|
Indicate to the preprocessor that the input file has already been
|
||||||
|
|
|
||||||
|
|
@ -1719,6 +1719,14 @@ link time when @option{-fuse-linker-plugin} is enabled.
|
||||||
This linker should have plugin support such as gold starting with
|
This linker should have plugin support such as gold starting with
|
||||||
version 2.20 or GNU ld starting with version 2.21.
|
version 2.20 or GNU ld starting with version 2.21.
|
||||||
See @option{-fuse-linker-plugin} for details.
|
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
|
@end table
|
||||||
|
|
||||||
@subheading Cross-Compiler-Specific Options
|
@subheading Cross-Compiler-Specific Options
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,13 @@
|
||||||
|
2012-11-16 Simon Baldwin <simonb@google.com>
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
2012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
|
2012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
|
||||||
|
|
||||||
PR c++/54413
|
PR c++/54413
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,9 @@
|
||||||
/* Define to 1 if using `alloca.c'. */
|
/* Define to 1 if using `alloca.c'. */
|
||||||
#undef C_ALLOCA
|
#undef C_ALLOCA
|
||||||
|
|
||||||
|
/* Define to enable system headers canonicalization. */
|
||||||
|
#undef ENABLE_CANONICAL_SYSTEM_HEADERS
|
||||||
|
|
||||||
/* Define if you want more run-time sanity checks. */
|
/* Define if you want more run-time sanity checks. */
|
||||||
#undef ENABLE_CHECKING
|
#undef ENABLE_CHECKING
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -700,6 +700,7 @@ enable_rpath
|
||||||
with_libiconv_prefix
|
with_libiconv_prefix
|
||||||
enable_maintainer_mode
|
enable_maintainer_mode
|
||||||
enable_checking
|
enable_checking
|
||||||
|
enable_canonical_system_headers
|
||||||
'
|
'
|
||||||
ac_precious_vars='build_alias
|
ac_precious_vars='build_alias
|
||||||
host_alias
|
host_alias
|
||||||
|
|
@ -1333,6 +1334,8 @@ Optional Features:
|
||||||
--disable-rpath do not hardcode runtime library paths
|
--disable-rpath do not hardcode runtime library paths
|
||||||
--enable-maintainer-mode enable rules only needed by maintainers
|
--enable-maintainer-mode enable rules only needed by maintainers
|
||||||
--enable-checking enable expensive run-time checks
|
--enable-checking enable expensive run-time checks
|
||||||
|
--enable-canonical-system-headers
|
||||||
|
enable or disable system headers canonicalization
|
||||||
|
|
||||||
Optional Packages:
|
Optional Packages:
|
||||||
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
|
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
|
||||||
|
|
@ -7094,6 +7097,19 @@ $as_echo "#define ENABLE_CHECKING 1" >>confdefs.h
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Check whether --enable-canonical-system-headers was given.
|
||||||
|
if test "${enable_canonical_system_headers+set}" = set; then :
|
||||||
|
enableval=$enable_canonical_system_headers;
|
||||||
|
else
|
||||||
|
enable_canonical_system_headers=yes
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $enable_canonical_system_headers != no; then
|
||||||
|
|
||||||
|
$as_echo "#define ENABLE_CANONICAL_SYSTEM_HEADERS 1" >>confdefs.h
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
case $target in
|
case $target in
|
||||||
aarch64*-*-* | \
|
aarch64*-*-* | \
|
||||||
|
|
|
||||||
|
|
@ -132,6 +132,16 @@ if test $enable_checking != no ; then
|
||||||
[Define if you want more run-time sanity checks.])
|
[Define if you want more run-time sanity checks.])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(canonical-system-headers,
|
||||||
|
[ --enable-canonical-system-headers
|
||||||
|
enable or disable system headers canonicalization],
|
||||||
|
[],
|
||||||
|
enable_canonical_system_headers=yes)
|
||||||
|
if test $enable_canonical_system_headers != no; then
|
||||||
|
AC_DEFINE(ENABLE_CANONICAL_SYSTEM_HEADERS,
|
||||||
|
1, [Define to enable system headers canonicalization.])
|
||||||
|
fi
|
||||||
|
|
||||||
m4_changequote(,)
|
m4_changequote(,)
|
||||||
case $target in
|
case $target in
|
||||||
aarch64*-*-* | \
|
aarch64*-*-* | \
|
||||||
|
|
|
||||||
|
|
@ -389,7 +389,7 @@ find_file_in_dir (cpp_reader *pfile, _cpp_file *file, bool *invalid_pch)
|
||||||
void **pp;
|
void **pp;
|
||||||
|
|
||||||
/* We try to canonicalize system headers. */
|
/* We try to canonicalize system headers. */
|
||||||
if (file->dir->sysp)
|
if (CPP_OPTION (pfile, canonical_system_headers) && file->dir->sysp)
|
||||||
{
|
{
|
||||||
char * canonical_path = maybe_shorter_path (path);
|
char * canonical_path = maybe_shorter_path (path);
|
||||||
if (canonical_path)
|
if (canonical_path)
|
||||||
|
|
|
||||||
|
|
@ -493,6 +493,9 @@ struct cpp_options
|
||||||
|
|
||||||
/* True disables tokenization outside of preprocessing directives. */
|
/* True disables tokenization outside of preprocessing directives. */
|
||||||
bool directives_only;
|
bool directives_only;
|
||||||
|
|
||||||
|
/* True enables canonicalization of system header file paths. */
|
||||||
|
bool canonical_system_headers;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Callback for header lookup for HEADER, which is the name of a
|
/* Callback for header lookup for HEADER, which is the name of a
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,10 @@ along with this program; see the file COPYING3. If not see
|
||||||
#include "localedir.h"
|
#include "localedir.h"
|
||||||
#include "filenames.h"
|
#include "filenames.h"
|
||||||
|
|
||||||
|
#ifndef ENABLE_CANONICAL_SYSTEM_HEADERS
|
||||||
|
#define ENABLE_CANONICAL_SYSTEM_HEADERS 0
|
||||||
|
#endif
|
||||||
|
|
||||||
static void init_library (void);
|
static void init_library (void);
|
||||||
static void mark_named_operators (cpp_reader *, int);
|
static void mark_named_operators (cpp_reader *, int);
|
||||||
static void read_original_filename (cpp_reader *);
|
static void read_original_filename (cpp_reader *);
|
||||||
|
|
@ -182,6 +186,8 @@ cpp_create_reader (enum c_lang lang, cpp_hash_table *table,
|
||||||
CPP_OPTION (pfile, track_macro_expansion) = 2;
|
CPP_OPTION (pfile, track_macro_expansion) = 2;
|
||||||
CPP_OPTION (pfile, warn_normalize) = normalized_C;
|
CPP_OPTION (pfile, warn_normalize) = normalized_C;
|
||||||
CPP_OPTION (pfile, warn_literal_suffix) = 1;
|
CPP_OPTION (pfile, warn_literal_suffix) = 1;
|
||||||
|
CPP_OPTION (pfile, canonical_system_headers)
|
||||||
|
= ENABLE_CANONICAL_SYSTEM_HEADERS;
|
||||||
CPP_OPTION (pfile, ext_numeric_literals) = 1;
|
CPP_OPTION (pfile, ext_numeric_literals) = 1;
|
||||||
|
|
||||||
/* Default CPP arithmetic to something sensible for the host for the
|
/* Default CPP arithmetic to something sensible for the host for the
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue