===========
+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
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]);