]> git.ipfire.org Git - thirdparty/ccache.git/log
thirdparty/ccache.git
10 months agofeat: Option absolute_paths_in_stderr also rewrites relative paths in MSVC diagnostic... 1504/head
huangqinjin [Mon, 26 Aug 2024 15:18:42 +0000 (23:18 +0800)] 
feat: Option absolute_paths_in_stderr also rewrites relative paths in MSVC diagnostics messages

10 months agoenhance: Add utility to get path length in compiler diagnostics messages
huangqinjin [Mon, 26 Aug 2024 15:03:09 +0000 (23:03 +0800)] 
enhance: Add utility to get path length in compiler diagnostics messages

10 months agofeat: Add support for MSVC /TC and /TP options (#1499)
huangqinjin [Tue, 10 Sep 2024 17:33:53 +0000 (01:33 +0800)] 
feat: Add support for MSVC /TC and /TP options (#1499)

11 months agochore: Improve type of boolean
Joel Rosdahl [Wed, 7 Aug 2024 09:03:40 +0000 (11:03 +0200)] 
chore: Improve type of boolean

11 months agodocs: Remove repeated word
Joel Rosdahl [Fri, 26 Jul 2024 12:37:38 +0000 (14:37 +0200)] 
docs: Remove repeated word

11 months agochore: Correct my name (#1498)
huangqinjin [Mon, 26 Aug 2024 17:54:40 +0000 (01:54 +0800)] 
chore: Correct my name (#1498)

11 months agofeat: Add ability to send arbitrary HTTP headers to HTTP storage (#1496)
dsrowell [Mon, 26 Aug 2024 17:37:29 +0000 (13:37 -0400)] 
feat: Add ability to send arbitrary HTTP headers to HTTP storage (#1496)

12 months agochore: Update authors
Joel Rosdahl [Mon, 22 Jul 2024 14:02:41 +0000 (16:02 +0200)] 
chore: Update authors

(cherry picked from commit cc653c59b715833f452cb9d696b35975fbc5952d)

12 months agochore: Update NEWS
Joel Rosdahl [Mon, 22 Jul 2024 08:52:24 +0000 (10:52 +0200)] 
chore: Update NEWS

(cherry picked from commit 17744ca1c39facaed1f0ed0464aae58f22f69b94)

12 months agotest: Only run -fprofile-update=atomic test when supported by compiler
Joel Rosdahl [Wed, 17 Jul 2024 08:31:07 +0000 (10:31 +0200)] 
test: Only run -fprofile-update=atomic test when supported by compiler

This fixes an issue with the arm-linux-gnueabi GCC which doesn't support
-fprofile-update=atomic.

12 months agochore: Remove no longer relevant Gitter links
Joel Rosdahl [Mon, 15 Jul 2024 07:28:19 +0000 (09:28 +0200)] 
chore: Remove no longer relevant Gitter links

12 months agotest: Use bash for running script command (#1482)
Anders Björklund [Tue, 9 Jul 2024 17:45:00 +0000 (19:45 +0200)] 
test: Use bash for running script command (#1482)

The script program will try to run the --command parameter with the
login shell, rather than the currently running test shell (bash).

12 months agochore: Fix copyright row order
Joel Rosdahl [Thu, 4 Jul 2024 11:21:59 +0000 (13:21 +0200)] 
chore: Fix copyright row order

12 months agorefactor: Introduce and use DEFER macro, replacing util::Finalizer
Joel Rosdahl [Sun, 30 Jun 2024 19:22:26 +0000 (21:22 +0200)] 
refactor: Introduce and use DEFER macro, replacing util::Finalizer

12 months agorefactor: Introduce and use CHECK_LIB_CALL macro
Joel Rosdahl [Sun, 30 Jun 2024 16:54:13 +0000 (18:54 +0200)] 
refactor: Introduce and use CHECK_LIB_CALL macro

12 months agobuild: Fix detection of Fmt version for Fmt<11
Joel Rosdahl [Tue, 2 Jul 2024 15:05:43 +0000 (17:05 +0200)] 
build: Fix detection of Fmt version for Fmt<11

Fixes regression in 71f772e9d3d4f8045cfa7bccd03bd21c1e8fbef1.

12 months agobuild: Try harder to determine FMT_VERSION (#1478)
Holger Hoffstätte [Tue, 2 Jul 2024 13:46:44 +0000 (15:46 +0200)] 
build: Try harder to determine FMT_VERSION (#1478)

fmt-11.0 moved the FMT_VERSION from core.h to base.h, so try the
new header first and then fall back to the old one.

Closes: #1477
13 months agochore: Update authors
Joel Rosdahl [Sun, 30 Jun 2024 17:13:58 +0000 (19:13 +0200)] 
chore: Update authors

(cherry picked from commit 4c6181f7f93f8dad8106973aaf55475cddfd2730)

13 months agochore: Update NEWS
Joel Rosdahl [Sun, 30 Jun 2024 17:12:07 +0000 (19:12 +0200)] 
chore: Update NEWS

(cherry picked from commit 14a0714cbfe2b1e5eaebf50c8fef17529a60a01b)

13 months agochore: Fix reference to format.cc in LICENSE.adoc
Joel Rosdahl [Sun, 30 Jun 2024 18:45:24 +0000 (20:45 +0200)] 
chore: Fix reference to format.cc in LICENSE.adoc

13 months agorefactor: Convert some std::string paths to fs::path
Joel Rosdahl [Wed, 12 Jun 2024 18:20:25 +0000 (20:20 +0200)] 
refactor: Convert some std::string paths to fs::path

13 months agochore: Rename source files to lowercase for consistency
Joel Rosdahl [Sun, 9 Jun 2024 14:26:54 +0000 (16:26 +0200)] 
chore: Rename source files to lowercase for consistency

13 months agorefactor: Clean up some fs::path usage
Joel Rosdahl [Sat, 8 Jun 2024 18:57:13 +0000 (20:57 +0200)] 
refactor: Clean up some fs::path usage

13 months agorefactor: Convert Config::m_temporary_dir to fs::path
Joel Rosdahl [Sat, 8 Jun 2024 18:50:38 +0000 (20:50 +0200)] 
refactor: Convert Config::m_temporary_dir to fs::path

13 months agorefactor: Convert Config::m_stats_log to fs::path
Joel Rosdahl [Sat, 8 Jun 2024 18:43:00 +0000 (20:43 +0200)] 
refactor: Convert Config::m_stats_log to fs::path

13 months agorefactor: Convert Config::m_log_file to fs::path
Joel Rosdahl [Sat, 8 Jun 2024 18:41:23 +0000 (20:41 +0200)] 
refactor: Convert Config::m_log_file to fs::path

13 months agorefactor: Convert Config::m_cache_dir to fs::path
Joel Rosdahl [Sat, 8 Jun 2024 18:31:19 +0000 (20:31 +0200)] 
refactor: Convert Config::m_cache_dir to fs::path

13 months agorefactor: Convert Context::i_tmpfile to fs::path
Joel Rosdahl [Fri, 7 Jun 2024 14:30:12 +0000 (16:30 +0200)] 
refactor: Convert Context::i_tmpfile to fs::path

13 months agorefactor: Use fs::path for Context::register_pending_tmp_file
Joel Rosdahl [Fri, 7 Jun 2024 14:29:08 +0000 (16:29 +0200)] 
refactor: Use fs::path for Context::register_pending_tmp_file

13 months agorefactor: Improve handling of ignore_header_paths matching
Joel Rosdahl [Fri, 7 Jun 2024 14:24:21 +0000 (16:24 +0200)] 
refactor: Improve handling of ignore_header_paths matching

13 months agorefactor: Convert ArgsInfo::sanitize_blacklists to fs::path
Joel Rosdahl [Thu, 6 Jun 2024 15:06:40 +0000 (17:06 +0200)] 
refactor: Convert ArgsInfo::sanitize_blacklists to fs::path

13 months agorefactor: Convert ArgsInfo::profile_path to fs::path
Joel Rosdahl [Thu, 6 Jun 2024 15:04:50 +0000 (17:04 +0200)] 
refactor: Convert ArgsInfo::profile_path to fs::path

13 months agorefactor: Convert ArgsInfo::included_pch_file to fs::path
Joel Rosdahl [Thu, 6 Jun 2024 10:54:12 +0000 (12:54 +0200)] 
refactor: Convert ArgsInfo::included_pch_file to fs::path

13 months agochore: Add ubuntu-24.04 Dockerfile
Joel Rosdahl [Thu, 6 Jun 2024 07:52:25 +0000 (09:52 +0200)] 
chore: Add ubuntu-24.04 Dockerfile

13 months agorefactor: Convert ArgsInfo::orig_included_pch_file to fs::path
Joel Rosdahl [Sun, 2 Jun 2024 12:45:37 +0000 (14:45 +0200)] 
refactor: Convert ArgsInfo::orig_included_pch_file to fs::path

13 months agorefactor: Convert ArgsInfo::output_al to fs::path
Joel Rosdahl [Sun, 2 Jun 2024 12:43:56 +0000 (14:43 +0200)] 
refactor: Convert ArgsInfo::output_al to fs::path

13 months agorefactor: Convert ArgsInfo::output_ipa to fs::path
Joel Rosdahl [Sun, 2 Jun 2024 12:43:13 +0000 (14:43 +0200)] 
refactor: Convert ArgsInfo::output_ipa to fs::path

13 months agorefactor: Convert ArgsInfo::output_dwo to fs::path
Joel Rosdahl [Sun, 2 Jun 2024 12:42:10 +0000 (14:42 +0200)] 
refactor: Convert ArgsInfo::output_dwo to fs::path

13 months agorefactor: Convert ArgsInfo::output_dia to fs::path
Joel Rosdahl [Sun, 2 Jun 2024 11:02:17 +0000 (13:02 +0200)] 
refactor: Convert ArgsInfo::output_dia to fs::path

13 months agorefactor: Convert ArgsInfo::output_ci to fs::path
Joel Rosdahl [Sun, 2 Jun 2024 11:01:35 +0000 (13:01 +0200)] 
refactor: Convert ArgsInfo::output_ci to fs::path

13 months agorefactor: Convert ArgsInfo::output_su to fs::path
Joel Rosdahl [Sun, 2 Jun 2024 11:01:04 +0000 (13:01 +0200)] 
refactor: Convert ArgsInfo::output_su to fs::path

13 months agorefactor: Convert ArgsInfo::output_dep to fs::path
Joel Rosdahl [Sun, 2 Jun 2024 10:59:45 +0000 (12:59 +0200)] 
refactor: Convert ArgsInfo::output_dep to fs::path

13 months agorefactor: Convert ArgsInfo::output_obj to fs::path
Joel Rosdahl [Sun, 2 Jun 2024 08:45:14 +0000 (10:45 +0200)] 
refactor: Convert ArgsInfo::output_obj to fs::path

13 months agorefactor: Convert APIs to use std::filesystem::path for paths
Joel Rosdahl [Sun, 2 Jun 2024 08:59:38 +0000 (10:59 +0200)] 
refactor: Convert APIs to use std::filesystem::path for paths

13 months agoenhance: Add Args::push_back(const std::filesystem::path&)
Joel Rosdahl [Sun, 2 Jun 2024 08:48:39 +0000 (10:48 +0200)] 
enhance: Add Args::push_back(const std::filesystem::path&)

13 months agorefactor: Convert ArgsInfo::orig_output_obj to fs::path
Joel Rosdahl [Sat, 1 Jun 2024 18:46:26 +0000 (20:46 +0200)] 
refactor: Convert ArgsInfo::orig_output_obj to fs::path

13 months agorefactor: Convert ArgsInfo::input_file to fs::path
Joel Rosdahl [Sat, 1 Jun 2024 11:05:32 +0000 (13:05 +0200)] 
refactor: Convert ArgsInfo::input_file to fs::path

13 months agorefactor: Improve language_for_file signature
Joel Rosdahl [Sat, 1 Jun 2024 11:01:23 +0000 (13:01 +0200)] 
refactor: Improve language_for_file signature

13 months agorefactor: Convert ArgsInfo::orig_input_file to fs::path
Joel Rosdahl [Sat, 1 Jun 2024 10:57:23 +0000 (12:57 +0200)] 
refactor: Convert ArgsInfo::orig_input_file to fs::path

13 months agorefactor: Use util::with_extension
Joel Rosdahl [Sun, 2 Jun 2024 08:28:25 +0000 (10:28 +0200)] 
refactor: Use util::with_extension

13 months agoenhance: Add util::with_extension
Joel Rosdahl [Sun, 2 Jun 2024 06:58:02 +0000 (08:58 +0200)] 
enhance: Add util::with_extension

13 months agoenhance: Add util::add_extension
Joel Rosdahl [Sat, 1 Jun 2024 12:04:28 +0000 (14:04 +0200)] 
enhance: Add util::add_extension

13 months agorefactor: Add and use util::pstr type alias
Joel Rosdahl [Sat, 1 Jun 2024 12:00:07 +0000 (14:00 +0200)] 
refactor: Add and use util::pstr type alias

Also removed less common util::PathString::operator const char* to make
some call sites unambiguous.

13 months agorefactor: Convert APIs to use std::filesystem::path for paths
Joel Rosdahl [Sat, 1 Jun 2024 11:49:15 +0000 (13:49 +0200)] 
refactor: Convert APIs to use std::filesystem::path for paths

13 months agochore: Add note about --compile being an NVCC option
Joel Rosdahl [Sun, 30 Jun 2024 12:42:58 +0000 (14:42 +0200)] 
chore: Add note about --compile being an NVCC option

13 months agofeat: Support NVCC --compile option (#1475)
Laurent Bouhier [Sun, 30 Jun 2024 12:42:11 +0000 (14:42 +0200)] 
feat: Support NVCC --compile option (#1475)

The nvcc (CUDA) compiler has a extra option compliant with -c: --compile.
https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/#supported-phases

So ccache should see the --compile option as the -c option (especially because the CUDA MVS plugin use it!)

13 months agoperf: Use posix_spawn to execute the compiler (#1471)
Brendan Shanks [Sun, 30 Jun 2024 12:41:31 +0000 (05:41 -0700)] 
perf: Use posix_spawn to execute the compiler (#1471)

13 months agobuild: Simplify cxxurl build script
Joel Rosdahl [Mon, 24 Jun 2024 19:01:42 +0000 (21:01 +0200)] 
build: Simplify cxxurl build script

13 months agobuild: Remove no longer needed workaround when building downloaded Zstd
Joel Rosdahl [Mon, 24 Jun 2024 19:01:02 +0000 (21:01 +0200)] 
build: Remove no longer needed workaround when building downloaded Zstd

13 months agobuild: Bundle Fmt again
Joel Rosdahl [Mon, 24 Jun 2024 18:55:33 +0000 (20:55 +0200)] 
build: Bundle Fmt again

Fmt is currently the only required C++ dependency that isn't bundled.
Since the Fmt API is still evolving, it's convenient for Ccache users
that lack a proper Fmt version locally to be able to build without
having to download Fmt. Thus, bundle Fmt again for now. (When we can
bump compiler requirements to versions that implement std::format
properly in the future we will switch to std::format instead.)

Closes #1470.

13 months agotest: Improve CCACHE_PREFIX test to catch regression fixed in PR #1474
Joel Rosdahl [Fri, 21 Jun 2024 08:14:15 +0000 (10:14 +0200)] 
test: Improve CCACHE_PREFIX test to catch regression fixed in PR #1474

13 months agodocs: Clarify that --set-config writes to the configuration file
Joel Rosdahl [Fri, 14 Jun 2024 18:11:52 +0000 (20:11 +0200)] 
docs: Clarify that --set-config writes to the configuration file

See also discussion #1468.

13 months agobuild: Search for libcpp-httplib before libhttplib
Joel Rosdahl [Fri, 14 Jun 2024 18:00:13 +0000 (20:00 +0200)] 
build: Search for libcpp-httplib before libhttplib

The cpp-httplib project has now standardized on libcpp-httplib.so for
the shared library, so search for that name first.

13 months agofix: Fix prefix command lookup from PATH (#1474)
Romain Geissler @ Amadeus [Fri, 21 Jun 2024 08:00:15 +0000 (10:00 +0200)] 
fix: Fix prefix command lookup from PATH (#1474)

This fixes regression in 6b85822b50cc509b4d595bf89340bdf0da526dc9.

13 months agobuild: Find CppHttplib named libhttplib.so as well (#1465)
Sam James [Sat, 8 Jun 2024 14:11:48 +0000 (15:11 +0100)] 
build: Find CppHttplib named libhttplib.so as well (#1465)

On Gentoo, the library name is 'httplib', not 'cpp-httplib'. Search
for that first (as it appears to be "more vanilla"), then fall back
to 'cpp-httplib'.

14 months agochore: Fix blake3.h pattern in .clang-format after 2950646b473e
Joel Rosdahl [Fri, 31 May 2024 18:37:12 +0000 (20:37 +0200)] 
chore: Fix blake3.h pattern in .clang-format after 2950646b473e

14 months agochore: Include fedora-40 in test-all-systems and remove duplicates
Joel Rosdahl [Fri, 31 May 2024 18:35:48 +0000 (20:35 +0200)] 
chore: Include fedora-40 in test-all-systems and remove duplicates

14 months agobuild: Fix detection and usage of system blake3 (#1464)
Carlo Cabrera [Fri, 31 May 2024 18:35:16 +0000 (02:35 +0800)] 
build: Fix detection and usage of system blake3 (#1464)

14 months agochore: Remove Xcode assembly workaround for zstd (#1463)
Gregor Jasny [Fri, 31 May 2024 18:20:03 +0000 (20:20 +0200)] 
chore: Remove Xcode assembly workaround for zstd (#1463)

The fix is included in upstream zstd 1.5.6.

14 months agochore: Update authors v4.10
Joel Rosdahl [Wed, 29 May 2024 19:32:55 +0000 (21:32 +0200)] 
chore: Update authors

14 months agochore: Update NEWS
Joel Rosdahl [Wed, 29 May 2024 19:32:49 +0000 (21:32 +0200)] 
chore: Update NEWS

14 months agoci: Disable Ubuntu 24.04 builds temporarily
Joel Rosdahl [Wed, 29 May 2024 19:16:38 +0000 (21:16 +0200)] 
ci: Disable Ubuntu 24.04 builds temporarily

Logs end like this:

    Running kernel seems to be up-to-date.

    Restarting services...
     systemctl restart chrony.service containerd.service cron.service fwupd.service haveged.service hv-kvp-daemon.service multipathd.service packagekit.service php8.3-fpm.service polkit.service redis-server.service rsyslog.service runner-provisioner.service systemd-journald.service systemd-networkd.service systemd-resolved.service systemd-udevd.service udisks2.service walinuxagent.service
    Error: The operation was canceled.

14 months agobuild: Fix zstd build for older CMake versions
Joel Rosdahl [Wed, 29 May 2024 18:54:31 +0000 (20:54 +0200)] 
build: Fix zstd build for older CMake versions

With CMake 3.17.5 on CentOS7:

    -- Downloading Zstd from the internet since Zstd>=1.3.4 was not found locally and DEPS=AUTO
    CMake Error at cmake/FindZstd.cmake:60 (set_target_properties):
      set_target_properties Can not find target to add properties to:
      libzstd_static
    Call Stack (most recent call first):
      cmake/Dependencies.cmake:29 (find_package)
      CMakeLists.txt:88 (include)

    CMake Error at cmake/FindZstd.cmake:68 (add_library):
      add_library cannot create ALIAS target "dep_zstd" because target
      "libzstd_static" does not already exist.
    Call Stack (most recent call first):
      cmake/Dependencies.cmake:29 (find_package)
      CMakeLists.txt:88 (include)

14 months agochore: Juggle some include headers
Joel Rosdahl [Tue, 28 May 2024 19:47:19 +0000 (21:47 +0200)] 
chore: Juggle some include headers

14 months agobuild: Fix MSVC /Zc:preprocessor warning (#1461)
Silver Zachara [Tue, 28 May 2024 17:03:29 +0000 (19:03 +0200)] 
build: Fix MSVC /Zc:preprocessor warning (#1461)

Don't add the /Zc:preprocessor- compiler flag when it's not needed, to
avoid the following warning:
D9025 : overriding '/Zc:preprocessor' with '/Zc:preprocessor-

The latest Windows SDK v10.0.22621 compiles fine with conforming
preprocessor enabled, the bug was in older SDK-s like <=10.0.20348.0.

Add the /Zc:preprocessor for msvc >=v19.25, it didn't exist before this
version (it existed as /experimental:preprocessor before).

14 months agochore: Remove unused headers (#1460)
Silver Zachara [Tue, 28 May 2024 17:01:29 +0000 (19:01 +0200)] 
chore: Remove unused headers (#1460)

14 months agorefactor: Use tl::expected for process_args return value
Joel Rosdahl [Mon, 27 May 2024 17:55:22 +0000 (19:55 +0200)] 
refactor: Use tl::expected for process_args return value

This should make the error paths more obvious.

As discussed in #1459.

14 months agochore: Fix some Cppcheck warnings
Joel Rosdahl [Sun, 26 May 2024 14:46:12 +0000 (16:46 +0200)] 
chore: Fix some Cppcheck warnings

14 months agochore: Remove obsolete os_path helper in test_storage_local_util
Joel Rosdahl [Sun, 26 May 2024 16:08:39 +0000 (18:08 +0200)] 
chore: Remove obsolete os_path helper in test_storage_local_util

14 months agochore: Improve cast and avoid repeating types (#1459)
Silver Zachara [Mon, 27 May 2024 19:48:05 +0000 (21:48 +0200)] 
chore: Improve cast and avoid repeating types (#1459)

14 months agofeat: Add argument handling for Emscripten's --em-config (#1458)
Byoungchan Lee [Sun, 26 May 2024 09:07:35 +0000 (18:07 +0900)] 
feat: Add argument handling for Emscripten's --em-config (#1458)

14 months agobuild: Fix setting of DEPS=LOCAL if FETCHCONTENT_FULLY_DISCONNECTED=ON
Joel Rosdahl [Tue, 21 May 2024 19:20:50 +0000 (21:20 +0200)] 
build: Fix setting of DEPS=LOCAL if FETCHCONTENT_FULLY_DISCONNECTED=ON

Fixes #1456.

14 months agochore: Fix spelling
Joel Rosdahl [Fri, 17 May 2024 20:21:45 +0000 (22:21 +0200)] 
chore: Fix spelling

14 months agoperf: Use posix_spawn for executing compiler check command (#1451)
Brendan Shanks [Tue, 21 May 2024 16:48:50 +0000 (09:48 -0700)] 
perf: Use posix_spawn for executing compiler check command (#1451)

14 months agorefactor: Simplify code
Joel Rosdahl [Fri, 17 May 2024 19:15:45 +0000 (21:15 +0200)] 
refactor: Simplify code

14 months agoci: Add GCC 14 build
Joel Rosdahl [Fri, 17 May 2024 19:14:16 +0000 (21:14 +0200)] 
ci: Add GCC 14 build

14 months agoci: Use ubuntu-24.04 for GCC 13
Joel Rosdahl [Fri, 17 May 2024 17:26:32 +0000 (19:26 +0200)] 
ci: Use ubuntu-24.04 for GCC 13

Apparently the ubuntu-22.04 image no longer has the g++-13-multilib
package, at least not in GitHub.

14 months agofeat: Add --print-version option (#1454)
Silver Zachara [Fri, 17 May 2024 19:12:25 +0000 (21:12 +0200)] 
feat: Add --print-version option (#1454)

I have added a new `--print-version` option as ccache will support PCH
on msvc and I will need to somehow detect the ccache version to
correctly decide if PCH should be disabled
(`CMAKE_DISABLE_PRECOMPILE_HEADERS`).

So if ccache >=4.10 then don't disable PCH and if it's below then set
`CMAKE_DISABLE_PRECOMPILE_HEADERS=ON`.

14 months agofix: Remove TAKES_ARG for /Fp and /Yu MSVC options (#1453)
Silver Zachara [Fri, 17 May 2024 16:29:40 +0000 (18:29 +0200)] 
fix: Remove TAKES_ARG for /Fp and /Yu MSVC options (#1453)

/Fp and /Yu don't allow space between option and option value.

Fixes #1452

14 months agofix: Handle -Yc without -Fp and -Fo for msvc (#1450)
Silver Zachara [Wed, 15 May 2024 19:05:25 +0000 (21:05 +0200)] 
fix: Handle -Yc without -Fp and -Fo for msvc (#1450)

It allows passing the `-Yc` option without the `-Fp` option and also
without the `-Fo` option.

14 months agofix: Handle -Yc without filepath for msvc (#1448)
Silver Zachara [Wed, 15 May 2024 18:44:21 +0000 (20:44 +0200)] 
fix: Handle -Yc without filepath for msvc (#1448)

This PR further fixes the #1384. Fixes the case when the `/Yc` option is
without the filepath and the `/Fppathname` is also defined.

The `/Yc` can be passed in two ways with and w/o the filepath. When it's
passed w/o the filepath it must take the value of the `/Fp` option and
if the `/Fp` option isn't defined then the resulting .pch file must have
the same base name as the base source file with appended `.pch`
extension (this case isn't handled correctly by ccache).

The `/Yc` option doesn't support passing a filepath with the space
between like `/Yc filepath`. Because of this the `TAKES_ARG` must be
removed. All occurrences of `compopt_takes_path()` can't be invoked for

I have also added a new unittest for this case: "MSVC PCH options with
empty -Yc" and also tested it manually on my example project. Just now,
I have also tested it on a big project with 200 TU with qmake and cmake
build systems with msvc and also clang-cl with msvc compilers with 100%
cache hits (PCH enabled and /Zi replaced with /Z7).

14 months agofeat: Add support for -fdump-ipa-clones (#1449)
Jiri Slaby [Sun, 12 May 2024 07:48:28 +0000 (09:48 +0200)] 
feat: Add support for -fdump-ipa-clones (#1449)

Fixes #1447. Citing:

`-fdump-ipa-clones` is used heavily for live patching. Especially, when
one builds a distro kernel (like SLE 15 SP6), the build uses the option
to generate additional `.000i.ipa-clones` files.

14 months agofix: Force run_second_cpp=true when generating profiling information
Joel Rosdahl [Wed, 8 May 2024 18:45:13 +0000 (20:45 +0200)] 
fix: Force run_second_cpp=true when generating profiling information

If run_second_cpp=false the coverage report will refer to the temporary
preprocessed file instead of the source file. Fix this by forcing
run_second_cpp=true if profiling information is being generated.

Fixes #1441.

14 months agofix: Hash "apparent real path" of object file when using -fprofile-arcs
Joel Rosdahl [Mon, 6 May 2024 18:43:43 +0000 (20:43 +0200)] 
fix: Hash "apparent real path" of object file when using -fprofile-arcs

The object file stores an absolute path based on apparent CWD when
-fprofile-arcs is used, not only the relative object filename.

14 months agotest: Improve verbose printing of test names
Joel Rosdahl [Mon, 6 May 2024 18:41:51 +0000 (20:41 +0200)] 
test: Improve verbose printing of test names

14 months agorefactor: Add more Hash::hash overloads
Joel Rosdahl [Mon, 6 May 2024 18:35:22 +0000 (20:35 +0200)] 
refactor: Add more Hash::hash overloads

14 months agodocs: Improve documentation of gcno_cwd sloppiness
Joel Rosdahl [Sun, 5 May 2024 17:03:47 +0000 (19:03 +0200)] 
docs: Improve documentation of gcno_cwd sloppiness

As suggested by Ben Portner in #1444.

14 months agofix: Handle -fdiagnostics-color for Clang again
Joel Rosdahl [Sun, 5 May 2024 16:56:39 +0000 (18:56 +0200)] 
fix: Handle -fdiagnostics-color for Clang again

Regression in 96ec6c9d98b88f00e1a69bdd0214c237bc7ed04e (ccache 4.6.2).

Fixes #1446.

14 months agochore: Clean up comment and debug log string
Joel Rosdahl [Sat, 4 May 2024 19:03:00 +0000 (21:03 +0200)] 
chore: Clean up comment and debug log string

14 months agotest: Improve printing of test suite
Joel Rosdahl [Thu, 2 May 2024 19:31:24 +0000 (21:31 +0200)] 
test: Improve printing of test suite