]> git.ipfire.org Git - thirdparty/ccache.git/log
thirdparty/ccache.git
3 years agofeat: Download dependencies from the Internet when unavailable (#1112)
Rafael Kitover [Tue, 19 Jul 2022 08:29:27 +0000 (01:29 -0700)] 
feat: Download dependencies from the Internet when unavailable (#1112)

Change the behavior of ZSTD_FROM_INTERNET and HIREDIS_FROM_INTERNET to
always be on and only come into affect when the package is not found on
the system by normal means.

Also use the cmake standard module FetchContent for the
download/checksum/unpack logic.

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
3 years agofix: Avoid false positive cache hits for __asm__(".incbin" " \"file\"")
Joel Rosdahl [Tue, 19 Jul 2022 07:52:00 +0000 (09:52 +0200)] 
fix: Avoid false positive cache hits for __asm__(".incbin" " \"file\"")

Regression in #983.

Fixes #1120.

3 years agofeat: Add download-redis script matching the upload-redis (#1111)
Anders Björklund [Mon, 18 Jul 2022 16:47:28 +0000 (18:47 +0200)] 
feat: Add download-redis script matching the upload-redis (#1111)

3 years agofix(file-storage): Remove duplicate backslash from directory
Joel Rosdahl [Mon, 18 Jul 2022 13:10:46 +0000 (15:10 +0200)] 
fix(file-storage): Remove duplicate backslash from directory

3 years agoci: Add VS2022 and MSBuild to Windows CI runners (#1108)
Rafael Kitover [Mon, 18 Jul 2022 12:42:50 +0000 (05:42 -0700)] 
ci: Add VS2022 and MSBuild to Windows CI runners (#1108)

3 years agofeat(file-storage): Support server name in URL on Windows
Joel Rosdahl [Mon, 18 Jul 2022 12:19:44 +0000 (14:19 +0200)] 
feat(file-storage): Support server name in URL on Windows

3 years agofix: Avoid false success for -fcolor-diagnostics probe with GCC
Joel Rosdahl [Sun, 17 Jul 2022 19:55:06 +0000 (21:55 +0200)] 
fix: Avoid false success for -fcolor-diagnostics probe with GCC

Ccache will produce a false hit in the following scenario, if "cc" is
GCC without being a symlink to "gcc":

  1. ccache cc -c example.c                      # adds a cache entry
  2. ccache cc -c example.c -fcolor-diagnostics  # unexpectedly succeeds

(Most major Linux distributions install cc as a symlink to gcc, and then
the problem doesn't show up since ccache then is able to guess that the
compiler is GCC.)

This bug was introduced by [1] which tried to make yet another tweak of
the color diagnostics guessing/probing by no longer rejecting
-fcolor-diagnostics for an unknown compiler, based on the assumption
that the probing call (speculatively adding -fdiagnostics-color) is only
made when we have guessed a GCC compiler. Unfortunately, this broke the
fix in [2] when the compiler is unknown.

All of this is inherently brittle and I don't see any good way to make
it better with the current compiler guessing approach and adding options
speculatively. The cure is to start doing proper compiler identification
instead (#958). Until that is done, the only reasonable fix is to avoid
doing anything related to color diagnostics flags when the compiler is
unknown. This means that an unknown compiler from now on won't produce
colors when used via ccache even if the compiler actually is GCC or
Clang.

[1]: 97a40af49f56e4be2db5e4318d8131e937bd5598
[2]: 61ce8c44c5b1da0be7a8d10c014f1a85b7967433

Closes #1116.

3 years agofeat: Add support for GCC -fprofile-abs-path option
Joel Rosdahl [Sun, 17 Jul 2022 11:43:22 +0000 (13:43 +0200)] 
feat: Add support for GCC -fprofile-abs-path option

Note: -fprofile-abs-path makes the compiler include absolute paths based
on actual CWD in the .gcno file. We therefore need to include the actual
CWD in the hash in order not to get false positive cache hits. To opt
out of this, set "gcno_cwd" sloppiness.

Closes #1060.

3 years agorefactor: Improve formatting of test_lockfile.cpp
Joel Rosdahl [Fri, 8 Jul 2022 10:53:30 +0000 (12:53 +0200)] 
refactor: Improve formatting of test_lockfile.cpp

3 years agotest: Simplify secondary_redis_unix tests
Joel Rosdahl [Thu, 7 Jul 2022 10:32:57 +0000 (12:32 +0200)] 
test: Simplify secondary_redis_unix tests

3 years agochore: Improve Redis log and exception message
Joel Rosdahl [Thu, 7 Jul 2022 10:32:26 +0000 (12:32 +0200)] 
chore: Improve Redis log and exception message

3 years agorefactor: Simplify Redis URL parameter parsing
Joel Rosdahl [Thu, 7 Jul 2022 10:31:58 +0000 (12:31 +0200)] 
refactor: Simplify Redis URL parameter parsing

3 years agodoc: Improve description of Redis URLs
Joel Rosdahl [Thu, 7 Jul 2022 10:31:19 +0000 (12:31 +0200)] 
doc: Improve description of Redis URLs

3 years agofix: Handle more cases of invalid secondary storage URLs
Joel Rosdahl [Thu, 7 Jul 2022 10:25:57 +0000 (12:25 +0200)] 
fix: Handle more cases of invalid secondary storage URLs

3 years agofeat: Support Redis over unix socket (#1064)
Anders Björklund [Tue, 5 Jul 2022 21:01:01 +0000 (23:01 +0200)] 
feat: Support Redis over unix socket (#1064)

3 years agobuild: Fix FTBFS with not yet released GCC 13
Joel Rosdahl [Tue, 5 Jul 2022 19:42:58 +0000 (21:42 +0200)] 
build: Fix FTBFS with not yet released GCC 13

Reference: https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes

Fixes #1105.

3 years agofix: Don't display max size in ccache -s if it's 0 (= unlimited)
Joel Rosdahl [Tue, 5 Jul 2022 19:33:26 +0000 (21:33 +0200)] 
fix: Don't display max size in ccache -s if it's 0 (= unlimited)

3 years agoenhance: Improve lock file implementation
Joel Rosdahl [Tue, 5 Jul 2022 18:04:25 +0000 (20:04 +0200)] 
enhance: Improve lock file implementation

This commit improves brings two improvements to the lock file
implementation:

1. Support for long-lived locks.
2. Support for non-blocking lock acquisition.

There are now two types of lock file classes: ShortLivedLockFile and
LongLivedLockFile. On Windows the implementations are identical. On
other systems, LongLivedLockFile creates a separate "alive file" whose
mtime will be updated regularly by a helper thread until the lock is
released. This makes it possible for another process to wait for the
lock indefinitely but also to know then a lock is stale and can be
broken. The ShortLivedLockFile class works like the lock file class used
to work before: it considers a lock stale after waiting for two seconds
and noticing that the symlink target has not changed during that time.
ShortLivedLockFile is to be used when the lock is expected to be held
for a very short time so that it's a waste of resources to start a
helper thread to keep the lock alive.

On some systems it would be possible to update mtime of the symlink
itself instead of a separate file, but that does not seem to be portable
enough.

Also worth mentioning is that the reason to not use proper fcntl/flock
locks on non-Windows systems is to continue supporting a cache directory
on NFS since file locks on NFS don't have a good track record.

3 years agotest: Add program for manually testing the lock file implementation
Joel Rosdahl [Sun, 3 Jul 2022 09:48:14 +0000 (11:48 +0200)] 
test: Add program for manually testing the lock file implementation

3 years agoenhance: Fall back to utimes(2) if utimensat(2) is unavailable
Joel Rosdahl [Sat, 2 Jul 2022 09:26:28 +0000 (11:26 +0200)] 
enhance: Fall back to utimes(2) if utimensat(2) is unavailable

3 years agofix: Remove AsciiDoc markup from help text of --trim-dir
Joel Rosdahl [Mon, 4 Jul 2022 18:58:02 +0000 (20:58 +0200)] 
fix: Remove AsciiDoc markup from help text of --trim-dir

3 years agofeat: Let -s/--show-stats show cleanups counter with verbosity 2
Joel Rosdahl [Mon, 4 Jul 2022 18:55:55 +0000 (20:55 +0200)] 
feat: Let -s/--show-stats show cleanups counter with verbosity 2

3 years agobump: Upgrade to nonstd::expected 0.6.1
Joel Rosdahl [Wed, 29 Jun 2022 18:12:42 +0000 (20:12 +0200)] 
bump: Upgrade to nonstd::expected 0.6.1

3 years agofeat: Add support for Intel compiler on Windows (#1100)
Daniel Richtmann [Wed, 29 Jun 2022 18:08:31 +0000 (20:08 +0200)] 
feat: Add support for Intel compiler on Windows (#1100)

3 years agorefactor: Remove now unneeded defines of nodiscard and maybe_unused
Joel Rosdahl [Sun, 19 Jun 2022 12:26:19 +0000 (14:26 +0200)] 
refactor: Remove now unneeded defines of nodiscard and maybe_unused

3 years agorefactor: Use [[fallthrough]] attribute
Joel Rosdahl [Sun, 19 Jun 2022 12:24:50 +0000 (14:24 +0200)] 
refactor: Use [[fallthrough]] attribute

3 years agorefactor: Use structured binding declarations
Joel Rosdahl [Sun, 19 Jun 2022 11:52:56 +0000 (13:52 +0200)] 
refactor: Use structured binding declarations

3 years agorefactor: Use uppercase literal suffixes
Joel Rosdahl [Sun, 19 Jun 2022 11:26:11 +0000 (13:26 +0200)] 
refactor: Use uppercase literal suffixes

Clang-Analyzer prefers it that way.

3 years agorefactor: Remove some now unnecessary static_assert messages
Joel Rosdahl [Sun, 19 Jun 2022 08:11:28 +0000 (10:11 +0200)] 
refactor: Remove some now unnecessary static_assert messages

3 years agorefactor: Use std::clamp
Joel Rosdahl [Sun, 19 Jun 2022 08:09:45 +0000 (10:09 +0200)] 
refactor: Use std::clamp

3 years agoci: Run CodeQL on Ubuntu 20.04
Joel Rosdahl [Sun, 19 Jun 2022 19:00:16 +0000 (21:00 +0200)] 
ci: Run CodeQL on Ubuntu 20.04

3 years agofix: Use a cleanup stamp instead of directory timestamp for cleanup
Joel Rosdahl [Sat, 18 Jun 2022 18:08:10 +0000 (20:08 +0200)] 
fix: Use a cleanup stamp instead of directory timestamp for cleanup

In order to know when to clean up the temporary directory, ccache checks
mtime of $CCACHE_DIR and updates it to "now" on cleanup. This doesn't
work well when the configuration file is modified often since that also
updates the same mtime.

Fix this by using a separate cleanup stamp file instead.

3 years agofix: Clean up temporary dir if it's left the default
Joel Rosdahl [Sat, 18 Jun 2022 17:55:02 +0000 (19:55 +0200)] 
fix: Clean up temporary dir if it's left the default

Cleanup of the temporary directory is done if it is $CCACHE_DIR/tmp,
which used to be the default until [1] where the default was changed to
/run/user/$UID/ccache-tmp. Improve this so that cleanup happens if the
temporary directory is equal to the default regardless of the default.

[1]: 213d9883a0c3944749f8512eeb784d8572ad8d91

3 years agobump: Upgrade to doctest 2.4.9
Joel Rosdahl [Sat, 18 Jun 2022 17:11:23 +0000 (19:11 +0200)] 
bump: Upgrade to doctest 2.4.9

3 years agodocs: Mention that mtime is used for LRU cleanup
Joel Rosdahl [Sat, 11 Jun 2022 18:11:50 +0000 (20:11 +0200)] 
docs: Mention that mtime is used for LRU cleanup

Closes #1095.

3 years agochore: Fix typo in comment about MSVC object files
Joel Rosdahl [Sat, 11 Jun 2022 17:50:53 +0000 (19:50 +0200)] 
chore: Fix typo in comment about MSVC object files

3 years agobuild: Fix build with newer MSVC 2022 versions (#1093)
Sergey Semushin [Sat, 11 Jun 2022 17:42:35 +0000 (20:42 +0300)] 
build: Fix build with newer MSVC 2022 versions (#1093)

3 years agofeat: Include timestamp in per-object debug filenames
Joel Rosdahl [Sat, 11 Jun 2022 12:13:02 +0000 (14:13 +0200)] 
feat: Include timestamp in per-object debug filenames

Including a timestamp in the filenames makes it easier to compare two
builds without having to save previous debug files before the second
build. It also makes sure debug files won't be overwritten if an object
file is compiled several times during one build.

3 years agotest: Avoid warning when running inode_cache in isolation
Joel Rosdahl [Sat, 11 Jun 2022 12:06:28 +0000 (14:06 +0200)] 
test: Avoid warning when running inode_cache in isolation

3 years agochore: Fix spelling
Joel Rosdahl [Fri, 10 Jun 2022 18:04:30 +0000 (20:04 +0200)] 
chore: Fix spelling

3 years agofeat: Support masquerading as a compiler via copy or hard link
Joel Rosdahl [Fri, 10 Jun 2022 14:17:03 +0000 (16:17 +0200)] 
feat: Support masquerading as a compiler via copy or hard link

Setting up ccache to masquerade as a compiler has always meant using
symbolic links, but there is no technical reason why that has to be the
case. This commit adds support for masquerading via a copy or hard link
of the ccache executable as well. This is mostly useful on platforms or
file systems where symbolic links are not supported.

3 years agofeat: Set CCACHE_DISABLE when calling compiler
Joel Rosdahl [Fri, 10 Jun 2022 14:12:27 +0000 (16:12 +0200)] 
feat: Set CCACHE_DISABLE when calling compiler

If ccache for some reason executes a compiler that in turn calls ccache
then ccache will be run twice (and will potentially store two different
result in the cache since the compiler identications differ), which is
not very useful. This could for instance happen if the compiler is a
wrapper script that in turn calls "ccache $compiler ...".

Improve this by setting CCACHE_DISABLE when executing the compiler. Any
subsequent ccache invocations will then fall back to running the real
compiler.

3 years agofix: Add and use Util::{get,set}_umask functions
Joel Rosdahl [Wed, 8 Jun 2022 18:15:23 +0000 (20:15 +0200)] 
fix: Add and use Util::{get,set}_umask functions

Using

    mode_t mask = umask(0);
    umask(mask);

to retrieve the current umask isn't thread-safe. This messed up file
permissions when recompressing the cache.

Fix this by caching the last set value and always using
Util::{get,set}_umask to get and set the umask.

3 years agofix: Retain mtime/atime for recompressed files
Joel Rosdahl [Wed, 8 Jun 2022 15:29:22 +0000 (17:29 +0200)] 
fix: Retain mtime/atime for recompressed files

3 years agoenhance: Add util::set_timestamps function for setting mtime/atime
Joel Rosdahl [Wed, 8 Jun 2022 12:04:55 +0000 (14:04 +0200)] 
enhance: Add util::set_timestamps function for setting mtime/atime

3 years agoci: Bump Clang-Tidy job to Clang-Tidy 12
Joel Rosdahl [Wed, 8 Jun 2022 13:54:04 +0000 (15:54 +0200)] 
ci: Bump Clang-Tidy job to Clang-Tidy 12

3 years agobuild: Make it possible to opt out of probing for fastest linker
Joel Rosdahl [Wed, 8 Jun 2022 13:53:29 +0000 (15:53 +0200)] 
build: Make it possible to opt out of probing for fastest linker

3 years agochore: Align arguments in misc/test-all-systems
Joel Rosdahl [Wed, 8 Jun 2022 13:18:30 +0000 (15:18 +0200)] 
chore: Align arguments in misc/test-all-systems

3 years agoci: Use Ubuntu 20.04 for standard jobs
Joel Rosdahl [Wed, 8 Jun 2022 13:18:13 +0000 (15:18 +0200)] 
ci: Use Ubuntu 20.04 for standard jobs

3 years agoci: Remove unsupported platforms
Joel Rosdahl [Wed, 8 Jun 2022 13:16:37 +0000 (15:16 +0200)] 
ci: Remove unsupported platforms

3 years agoci: Bump CUDA job to Ubuntu 20.04
Joel Rosdahl [Wed, 8 Jun 2022 13:08:47 +0000 (15:08 +0200)] 
ci: Bump CUDA job to Ubuntu 20.04

3 years agorefactor: Extract option parsing code from process_arg
Joel Rosdahl [Wed, 8 Jun 2022 08:04:28 +0000 (10:04 +0200)] 
refactor: Extract option parsing code from process_arg

3 years agobump: Upgrade to cpp-httplib 0.10.8
Joel Rosdahl [Tue, 7 Jun 2022 18:11:29 +0000 (20:11 +0200)] 
bump: Upgrade to cpp-httplib 0.10.8

3 years agofix: Use correct umask when populating primary cache from secondary
Joel Rosdahl [Tue, 7 Jun 2022 14:53:44 +0000 (16:53 +0200)] 
fix: Use correct umask when populating primary cache from secondary

Util::get_umask retrieves the process's umask and caches it to avoid
some system calls. This doesn't interact well now when using UmaskScope
to change umask temporarily since Util::get_umask then only sometimes
returns the correct value. This leads to the incorrect umask being used
when writing cache entries to the primary storage for secondary storage
hits.

Fix this by not caching the umask system call.

Closes #1087.

3 years agofix: Create temporary file with cpp extension instead of hard linking
Joel Rosdahl [Tue, 7 Jun 2022 13:12:03 +0000 (15:12 +0200)] 
fix: Create temporary file with cpp extension instead of hard linking

[1] added a suitable file extension to the temporary file used for
capturing the preprocessed output by creating a hard link. This fails
when the temporary directory is on a file system that doesn't support
hard links.

Fix this by making it possible to pass a suffix to TemporaryFile and
passing the proper cpp suffix for the tmp stdout file instead of
creating a hard link as an alias.

[1]: 4da9f2b474b7ee39cd54ab4261f90936f3c944ec

Closes #1079.

3 years agoRevert "fix: Fall back to copying temporary preprocessed output file"
Joel Rosdahl [Tue, 7 Jun 2022 12:40:08 +0000 (14:40 +0200)] 
Revert "fix: Fall back to copying temporary preprocessed output file"

This reverts commit cbedccc9fa30f8958dc3e7fbdf900a952f63d5ad since the
fix doesn't work.

The hard link in question is used in get_result_key_from_cpp to create
an alias of file that captures stdout from the preprocessor, where the
alias has the correct cpp extension. It can't just be a copy since
do_execute writes to the original name. See #1079.

3 years agofix: Fix build for MSVC (#1078)
Florin T [Tue, 7 Jun 2022 09:06:12 +0000 (02:06 -0700)] 
fix: Fix build for MSVC (#1078)

For Windows the order of the includes is important in wincompat.hpp.

3 years agofeat: Fetch/update secondary storage manifest on primary miss (#1065)
bengtj [Tue, 7 Jun 2022 08:53:07 +0000 (10:53 +0200)] 
feat: Fetch/update secondary storage manifest on primary miss (#1065)

3 years agofeat: Generalize STATIC_LINK option + fixes (#1058)
Rafael Kitover [Tue, 7 Jun 2022 07:37:10 +0000 (07:37 +0000)] 
feat: Generalize STATIC_LINK option + fixes (#1058)

3 years agofix: Fall back to compiler when producing assembler listing file
Joel Rosdahl [Mon, 6 Jun 2022 20:23:00 +0000 (22:23 +0200)] 
fix: Fall back to compiler when producing assembler listing file

Ccache currently doesn't store the listing produced by -Wa,...=file, so
fall back to running the real compiler.

See #1083.

3 years agochore: Add debug log for -P + other preprocessor option
Joel Rosdahl [Mon, 6 Jun 2022 20:22:11 +0000 (22:22 +0200)] 
chore: Add debug log for -P + other preprocessor option

3 years agotest(test-all-systems): Enable ccache if available in Docker image
Joel Rosdahl [Mon, 6 Jun 2022 18:35:57 +0000 (20:35 +0200)] 
test(test-all-systems): Enable ccache if available in Docker image

3 years agotest: Add Ubuntu 22.04 Dockerfile
Joel Rosdahl [Sun, 29 May 2022 07:19:53 +0000 (09:19 +0200)] 
test: Add Ubuntu 22.04 Dockerfile

3 years agodocs: Fix typo in help text
Joel Rosdahl [Sun, 29 May 2022 07:17:50 +0000 (09:17 +0200)] 
docs: Fix typo in help text

3 years agoci: Add GCC 11 build on Ubuntu 22.04
Joel Rosdahl [Sat, 28 May 2022 18:33:07 +0000 (20:33 +0200)] 
ci: Add GCC 11 build on Ubuntu 22.04

3 years agofix: Work around problem with GCC in util::ends_with
Joel Rosdahl [Mon, 6 Jun 2022 18:46:09 +0000 (20:46 +0200)] 
fix: Work around problem with GCC in util::ends_with

The util::ends_with implementation is taken directly from the
implementation suggestion in the C++20 standard, but it produces a
stringop-overread warning with GCC 11.2. There's either some subtle
aspect to this that I don't understand or a compiler bug, but let's work
around it by tweaking the implementation.

Closes #1082.

3 years agobump: Upgrade xxh_x86dispatch.c to xxHash 0.8.1
Joel Rosdahl [Sat, 28 May 2022 17:48:20 +0000 (19:48 +0200)] 
bump: Upgrade xxh_x86dispatch.c to xxHash 0.8.1

xxh_x86dispatch.c was by mistake not included in
6eb7eb340bf163b807cb9267935e39fa619dde0b. See #1078.

3 years agofeat: Improve --show-stats
Joel Rosdahl [Wed, 11 May 2022 17:57:50 +0000 (19:57 +0200)] 
feat: Improve --show-stats

- Added percentage for most values.
- All indented values now have their total count equal to the parent
  value.
- Moved presentation of {direct,preprocessed}_cache_{hit,miss}
  counters to a separate "Successful lookups" section.
- Removed "Use the -v/--verbose option for more details." from
  --show-stats output since it's a bit wordy.

3 years agobump: Upgrade to nonstd::expected 0.6.0
Joel Rosdahl [Fri, 27 May 2022 17:54:10 +0000 (19:54 +0200)] 
bump: Upgrade to nonstd::expected 0.6.0

3 years agofix(win32execute): Handle space in paths when using response file (#1080)
Sergey Semushin [Thu, 26 May 2022 16:46:36 +0000 (19:46 +0300)] 
fix(win32execute): Handle space in paths when using response file (#1080)

3 years agofix: Fall back to copying temporary preprocessed output file
Joel Rosdahl [Thu, 26 May 2022 08:25:11 +0000 (10:25 +0200)] 
fix: Fall back to copying temporary preprocessed output file

[1] added a suitable file extension to the temporary file used for
capturing the preprocessed output by creating a hard link. This fails
when the temporary directory is on a file system that doesn't support
hard links.

Fix this by falling back to copying when hard-linking fails.

Closes #1079.

[1]: 4da9f2b474b7ee39cd54ab4261f90936f3c944ec

3 years agoRevert "build: Bump required compiler versions"
Joel Rosdahl [Mon, 23 May 2022 19:48:01 +0000 (21:48 +0200)] 
Revert "build: Bump required compiler versions"

This reverts commit 077e2a6c279755f6521ab78f4a1a049ae6a93990.

Not needed yet.

3 years agofix: Fix and optimize Redis upload script (#1081)
Anders Björklund [Mon, 23 May 2022 19:40:32 +0000 (21:40 +0200)] 
fix: Fix and optimize Redis upload script (#1081)

3 years agobuild: Bump required compiler versions
Joel Rosdahl [Mon, 23 May 2022 19:20:19 +0000 (21:20 +0200)] 
build: Bump required compiler versions

3 years agobuild: Remove now superfluous cmake policy setting
Joel Rosdahl [Mon, 23 May 2022 19:14:42 +0000 (21:14 +0200)] 
build: Remove now superfluous cmake policy setting

CMP0091 defaults to NEW with cmake_minimum_required 3.15 and later.

3 years agotest: Fix test failure when compiler is masquerading old ccache
Joel Rosdahl [Thu, 19 May 2022 19:58:50 +0000 (21:58 +0200)] 
test: Fix test failure when compiler is masquerading old ccache

3 years agochore: Remove no longer needed workaround for older GCCs
Joel Rosdahl [Thu, 19 May 2022 16:02:35 +0000 (18:02 +0200)] 
chore: Remove no longer needed workaround for older GCCs

3 years agobuild: Enable Clang-Tidy modernize-concat-nested-namespaces check
Joel Rosdahl [Wed, 18 May 2022 18:54:49 +0000 (20:54 +0200)] 
build: Enable Clang-Tidy modernize-concat-nested-namespaces check

3 years agobuild: Enable Clang-Tidy performance-no-automatic-move check
Joel Rosdahl [Wed, 18 May 2022 18:53:02 +0000 (20:53 +0200)] 
build: Enable Clang-Tidy performance-no-automatic-move check

3 years agochore: Replace nonstd::string_view with std::string_view
Joel Rosdahl [Tue, 17 May 2022 19:55:48 +0000 (21:55 +0200)] 
chore: Replace nonstd::string_view with std::string_view

3 years agochore: Replace nonstd::optional with std::optional
Joel Rosdahl [Mon, 16 May 2022 19:57:46 +0000 (21:57 +0200)] 
chore: Replace nonstd::optional with std::optional

3 years agobuild: Require C++17 compiler and CMake 3.15
Joel Rosdahl [Mon, 16 May 2022 19:55:41 +0000 (21:55 +0200)] 
build: Require C++17 compiler and CMake 3.15

A C++17-compatible compiler is now readily available on all systems we
target primarily, so it's time to bump to C++17.

Also, we want to use features in CMake 3.15 (see #1069), so bump that
too.

3 years agobuild: Enable static runtime linking for MSVC (#1069)
Cristian Adam [Mon, 23 May 2022 16:18:29 +0000 (18:18 +0200)] 
build: Enable static runtime linking for MSVC (#1069)

3 years agofix: Fix crash with empty include filename in preprocessor output (#1075)
olegsidorkin [Mon, 16 May 2022 19:21:52 +0000 (22:21 +0300)] 
fix: Fix crash with empty include filename in preprocessor output (#1075)

3 years agochore: Update NEWS v4.6.1
Joel Rosdahl [Sat, 14 May 2022 18:36:48 +0000 (20:36 +0200)] 
chore: Update NEWS

3 years agochore: Update authors
Joel Rosdahl [Sat, 14 May 2022 18:41:43 +0000 (20:41 +0200)] 
chore: Update authors

3 years agostyle: Improve names of Args::AtFileFormat values
Joel Rosdahl [Sat, 14 May 2022 18:36:01 +0000 (20:36 +0200)] 
style: Improve names of Args::AtFileFormat values

3 years agoci: Bump to CodeQL action v2
Joel Rosdahl [Sat, 14 May 2022 07:18:24 +0000 (09:18 +0200)] 
ci: Bump to CodeQL action v2

3 years agofix: Support Redis URL without host
Joel Rosdahl [Fri, 13 May 2022 18:46:20 +0000 (20:46 +0200)] 
fix: Support Redis URL without host

3 years agochore: Don’t store unused return value
Joel Rosdahl [Fri, 13 May 2022 18:45:54 +0000 (20:45 +0200)] 
chore: Don’t store unused return value

3 years agochore: Constify core::Manifest::add_result parameter
Joel Rosdahl [Fri, 13 May 2022 18:44:52 +0000 (20:44 +0200)] 
chore: Constify core::Manifest::add_result parameter

3 years agochore: Set version “unknown” instead of empty string if unknown
Joel Rosdahl [Thu, 12 May 2022 18:46:24 +0000 (20:46 +0200)] 
chore: Set version “unknown” instead of empty string if unknown

3 years agofix: Support Git 1.x when determining ccache version
Joel Rosdahl [Thu, 12 May 2022 18:45:53 +0000 (20:45 +0200)] 
fix: Support Git 1.x when determining ccache version

3 years agochore: Prepare for binary patching SYSCONFDIR
Joel Rosdahl [Thu, 12 May 2022 18:21:08 +0000 (20:21 +0200)] 
chore: Prepare for binary patching SYSCONFDIR

3 years agochore: Add Jacob Young to .mailmap
Joel Rosdahl [Wed, 11 May 2022 18:46:41 +0000 (20:46 +0200)] 
chore: Add Jacob Young to .mailmap

3 years agofix: Avoid incorrect error log for Redis write in reshare mode
Joel Rosdahl [Wed, 11 May 2022 18:30:26 +0000 (20:30 +0200)] 
fix: Avoid incorrect error log for Redis write in reshare mode

3 years agochore: Remove anonymous users from AUTHORS
Joel Rosdahl [Mon, 9 May 2022 16:52:30 +0000 (18:52 +0200)] 
chore: Remove anonymous users from AUTHORS

3 years agofix: Correctly represent statistics counters > 1 in log and stats log
Joel Rosdahl [Mon, 9 May 2022 16:43:03 +0000 (18:43 +0200)] 
fix: Correctly represent statistics counters > 1 in log and stats log

3 years agofix: Fix parsing of MSVC response files (#1071)
jacobly0 [Wed, 11 May 2022 18:45:40 +0000 (14:45 -0400)] 
fix: Fix parsing of MSVC response files (#1071)

3 years agodocs: Add warning about base_dir
Joel Rosdahl [Sun, 8 May 2022 14:31:37 +0000 (16:31 +0200)] 
docs: Add warning about base_dir

See #1042.