]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
Merge branch '3.2-maint'
authorJoel Rosdahl <joel@rosdahl.net>
Thu, 28 Jul 2016 13:38:28 +0000 (15:38 +0200)
committerJoel Rosdahl <joel@rosdahl.net>
Thu, 28 Jul 2016 13:38:28 +0000 (15:38 +0200)
* 3.2-maint:
  Detect undocumented -coverage (only one dash) GCC option

1  2 
NEWS.txt
ccache.c

diff --cc NEWS.txt
index 83cf69ad8c6c639a60f40b7909ee213795db7a04,fe16d27522747b713c3b92a3b95088f1c4787ed8..092b03bec56186421992275c09150e5f1e7e6fdd
+++ b/NEWS.txt
@@@ -2,90 -2,16 +2,100 @@@ ccache new
  ===========
  
  
 +Unreleased 3.3
 +--------------
 +
 +Notes
 +~~~~~
 +
 +- A C99-compatible compiler is now required to build ccache.
 +
 +
 +New features and improvements
 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 +
 +- The configuration option `run_second_cpp` (`CCACHE_CPP2`) now defaults to
 +  true. This improves ccache's out-of-the-box experience for compilers that
 +  can't compile their own preprocessed output with the same outcome as if they
 +  compiled the real source code directly, e.g. newer versions of GCC and Clang.
 +
 +- The configuration option `hash_dir` (`CCACHE_HASHDIR`) now defaults to true.
 +
 +- Added support for cuda including the -optf/--options-file option.
 +
 +- Added new sloppiness option `no_system_headers`, which tells ccache not to
 +  include system headers in manifest files.
 +
 +- Multiple identical `-arch` arguments are now handled without bailing.
 +
 +- Added new `ignore_headers_in_manifest` configuration option, which specifies
 +  headers that should be ignored in the direct mode.
 +
 +- Added new `prefix_command_cpp` (`CCACHE_PREFIX_CPP`) configuration option,
 +  which specifies one or several prefixes to add to the command line ccache
 +  uses when invoking the preprocessor.
 +
 +- The concatenated form of some long compiler options is now recognized, for
 +  example when using `-isystemPATH` instead of `-isystem PATH`.
 +
 +- If hard-linking is enabled and but fails (e.g. due to cross-device linking),
 +  ccache now falls back to copying instead of running the compiler.
 +
 +- Made the `hash_dir` option only have effect when generating debug info.
 +
 +- Added support for relocating debug info directory using `-fdebug-prefix-map`.
 +  This allows for cache hits even when `hash_dir` is used in combination with
 +  `base_dir`.
 +
 +- Added a new `keep_comments_cpp` (`CCACHE_COMMENTS`) configuration option,
 +  which tells ccache not to discard the comments before hashing preprocessor
 +  output. This can be used to check documentation with *-Wdocumentation*.
 +
 +- ccache now knows how to convert absolute paths to relative paths inside
 +  dependency files when using `base_dir`.
 +
 +- Improved parsing of `-g*` options.
 +
 +- Made ccache understand `-Wp,-D*` options.
 +
 +- Added a new statistics counter that tracks the number of performed cleanups
 +  due to the cache size being over the limit. The value is shown in the output
 +  of ``ccache -s''.
 +
 +- Added a new ``cache hit rate'' field to the output of ``ccache -s''.
 +
 +- Names of included files are no longer included in the hash of the compiler's
 +  preprocessed output. This leads to more potential cache hits when not using
 +  the direct mode.
 +
 +- Added support for multiple `-arch` options to produce "fat binaries".
 +
 +- Added support for caching compilation of assembler code produced by e.g.
 +  ``gcc -S file.c''.
 +
 +- Added support for Fortran 77.
 +
 +
 +Bug fixes
 +~~~~~~~~~
 +
 +- Bail out on too hard compiler option `-P`.
 +
 +- Fixed clang test suite when running on Linux.
 +
 +- Fixed build and test for MinGW32 and Windows.
 +
 +
+ Unreleased 3.2.8
+ ----------------
+ Bug fixes
+ ~~~~~~~~~
+ - ccache now understands the undocumented `-coverage` (only one dash) GCC
+   option.
  ccache 3.2.7
  ------------
  Release date: 2016-07-20
diff --cc ccache.c
index 263c077b825ecda984a6f5dc57113f243e008cd2,591c7d7cb8be3c2bcec713cb28ffd1a6c58027be..f60adb6c7a5fbf4fefaa1bc33fe2c482a362f208
+++ b/ccache.c
@@@ -2381,7 -2205,8 +2381,8 @@@ cc_process_args(struct args *args, stru
                        args_add(stripped_args, argv[i]);
                        continue;
                }
-               if (str_eq(argv[i], "--coverage")) { // = -fprofile-arcs -ftest-coverage
 -              if (str_eq(argv[i], "--coverage") /* = -fprofile-arcs -ftest-coverage */
 -                  || str_eq(argv[i], "-coverage")) { /* Undocumented but still works */
++              if (str_eq(argv[i], "--coverage") // = -fprofile-arcs -ftest-coverage
++                  || str_eq(argv[i], "-coverage")) { // Undocumented but still works.
                        profile_arcs = true;
                        generating_coverage = true;
                        args_add(stripped_args, argv[i]);