Language: Cpp
BasedOnStyle: LLVM
+AlignArrayOfStructures: Left
AllowAllConstructorInitializersOnNextLine: false
AllowShortFunctionsOnASingleLine: None
AlwaysBreakAfterReturnType: AllDefinitions
- Regex: '^<'
Priority: 5
IndentPPDirectives: AfterHash
+InsertNewlineAtEOF: true
KeepEmptyLinesAtTheStartOfBlocks: false
+PackConstructorInitializers: Never
PointerAlignment: Left
SpaceAfterTemplateKeyword: false
Standard: Cpp11
#include <ccache/util/logging.hpp>
#include <ccache/util/string.hpp>
-Args::Args(Args&& other) noexcept : m_args(std::move(other.m_args))
+Args::Args(Args&& other) noexcept
+ : m_args(std::move(other.m_args))
{
}
std::optional<int> m_exit_code;
};
-inline Failure::Failure(const Statistic statistic) : m_counters({statistic})
+inline Failure::Failure(const Statistic statistic)
+ : m_counters({statistic})
{
}
};
const CompOpt compopts[] = {
- {"--Werror", TAKES_ARG | AFFECTS_COMP}, // nvcc
- {"--analyzer-output", TOO_HARD}, // Clang
- {"--compiler-bindir", AFFECTS_CPP | TAKES_ARG}, // nvcc
- {"--compiler-options", AFFECTS_CPP | TAKES_ARG}, // nvcc
- {"--config", TAKES_ARG}, // Clang
- {"--em-config", TAKES_ARG}, // emcc
- {"--gcc-toolchain=", TAKES_CONCAT_ARG | TAKES_PATH}, // Clang
- {"--include", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
- {"--libdevice-directory", AFFECTS_CPP | TAKES_ARG}, // nvcc
- {"--offload-compress", AFFECTS_COMP}, // Clang
- {"--output-directory", AFFECTS_CPP | TAKES_ARG}, // nvcc
- {"--param", TAKES_ARG},
- {"--save-temps", TOO_HARD},
- {"--save-temps=cwd", TOO_HARD},
- {"--save-temps=obj", TOO_HARD},
- {"--serialize-diagnostics", TAKES_ARG | TAKES_PATH},
- {"--specs", TAKES_ARG},
- {"-A", TAKES_ARG},
- {"-AI", TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH}, // msvc
- {"-B", TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
- {"-D", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG},
- {"-E", TOO_HARD},
- {"-EP", TOO_HARD}, // msvc
- {"-F", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
- {"-FI", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH}, // msvc
- {"-FU", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH}, // msvc
- {"-Fp", AFFECTS_CPP | TAKES_CONCAT_ARG | TAKES_PATH}, // msvc
- {"-G", TAKES_ARG},
- {"-I", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
- {"-L", TAKES_ARG},
- {"-M", TOO_HARD},
- {"-MF", TAKES_ARG},
- {"-MJ", TAKES_ARG | TOO_HARD},
- {"-MM", TOO_HARD},
- {"-MQ", TAKES_ARG},
- {"-MT", TAKES_ARG},
- {"-Tc", TAKES_ARG | TAKES_PATH | TOO_HARD}, // msvc
- {"-Tp", TAKES_ARG | TAKES_PATH | TOO_HARD}, // msvc
- {"-U", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG},
- {"-V", TAKES_ARG},
- {"-Wa,", TAKES_CONCAT_ARG | AFFECTS_COMP},
- {"-Werror", AFFECTS_COMP}, // don't exit with error when preprocessing
- {"-Wl,", TAKES_CONCAT_ARG | AFFECTS_COMP},
- {"-Wno-error", AFFECTS_COMP},
- {"-Xassembler", TAKES_ARG | TAKES_CONCAT_ARG | AFFECTS_COMP},
- {"-Xclang", TAKES_ARG},
- {"-Xcompiler", AFFECTS_CPP | TAKES_ARG}, // nvcc
- {"-Xlinker", TAKES_ARG | TAKES_CONCAT_ARG | AFFECTS_COMP},
- {"-Xpreprocessor", AFFECTS_CPP | TAKES_ARG},
- {"-Yc", AFFECTS_CPP | TAKES_CONCAT_ARG | TAKES_PATH}, // msvc
- {"-Yu", AFFECTS_CPP | TAKES_CONCAT_ARG | TAKES_PATH}, // msvc
- {"-all_load", AFFECTS_COMP},
- {"-analyze", TOO_HARD}, // Clang
- {"-arch", TAKES_ARG},
- {"-ast-dump", AFFECTS_COMP}, // Clang
- {"-ast-dump-all", AFFECTS_COMP}, // Clang
- {"-ast-dump-all=", AFFECTS_COMP | TAKES_CONCAT_ARG}, // Clang
- {"-ast-dump-decl-types", AFFECTS_COMP}, // Clang
- {"-ast-dump-filter", AFFECTS_COMP | TAKES_ARG}, // Clang
- {"-ast-dump-lookups", AFFECTS_COMP}, // Clang
- {"-ast-dump=", AFFECTS_COMP | TAKES_CONCAT_ARG}, // Clang
- {"-ast-list", AFFECTS_COMP}, // Clang
- {"-ast-merge", TOO_HARD | TAKES_ARG}, // Clang
- {"-ast-print", AFFECTS_COMP}, // Clang
- {"-ast-view", TOO_HARD}, // Clang
- {"-aux-info", TAKES_ARG},
- {"-b", TAKES_ARG},
- {"-bind_at_load", AFFECTS_COMP},
- {"-bundle", AFFECTS_COMP},
- {"-ccbin", AFFECTS_CPP | TAKES_ARG}, // nvcc
- {"-emit-pch", AFFECTS_COMP}, // Clang
- {"-emit-pth", AFFECTS_COMP}, // Clang
+ {"--Werror", TAKES_ARG | AFFECTS_COMP }, // nvcc
+ {"--analyzer-output", TOO_HARD }, // Clang
+ {"--compiler-bindir", AFFECTS_CPP | TAKES_ARG }, // nvcc
+ {"--compiler-options", AFFECTS_CPP | TAKES_ARG }, // nvcc
+ {"--config", TAKES_ARG }, // Clang
+ {"--em-config", TAKES_ARG }, // emcc
+ {"--gcc-toolchain=", TAKES_CONCAT_ARG | TAKES_PATH }, // Clang
+ {"--include", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
+ {"--libdevice-directory", AFFECTS_CPP | TAKES_ARG }, // nvcc
+ {"--offload-compress", AFFECTS_COMP }, // Clang
+ {"--output-directory", AFFECTS_CPP | TAKES_ARG }, // nvcc
+ {"--param", TAKES_ARG },
+ {"--save-temps", TOO_HARD },
+ {"--save-temps=cwd", TOO_HARD },
+ {"--save-temps=obj", TOO_HARD },
+ {"--serialize-diagnostics", TAKES_ARG | TAKES_PATH },
+ {"--specs", TAKES_ARG },
+ {"-A", TAKES_ARG },
+ {"-AI", TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH }, // msvc
+ {"-B", TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH },
+ {"-D", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG },
+ {"-E", TOO_HARD },
+ {"-EP", TOO_HARD }, // msvc
+ {"-F", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
+ {"-FI", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH}, // msvc
+ {"-FU", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH}, // msvc
+ {"-Fp", AFFECTS_CPP | TAKES_CONCAT_ARG | TAKES_PATH }, // msvc
+ {"-G", TAKES_ARG },
+ {"-I", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
+ {"-L", TAKES_ARG },
+ {"-M", TOO_HARD },
+ {"-MF", TAKES_ARG },
+ {"-MJ", TAKES_ARG | TOO_HARD },
+ {"-MM", TOO_HARD },
+ {"-MQ", TAKES_ARG },
+ {"-MT", TAKES_ARG },
+ {"-Tc", TAKES_ARG | TAKES_PATH | TOO_HARD }, // msvc
+ {"-Tp", TAKES_ARG | TAKES_PATH | TOO_HARD }, // msvc
+ {"-U", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG },
+ {"-V", TAKES_ARG },
+ {"-Wa,", TAKES_CONCAT_ARG | AFFECTS_COMP },
+ {"-Werror", AFFECTS_COMP }, // don't exit with error when preprocessing
+ {"-Wl,", TAKES_CONCAT_ARG | AFFECTS_COMP },
+ {"-Wno-error", AFFECTS_COMP },
+ {"-Xassembler", TAKES_ARG | TAKES_CONCAT_ARG | AFFECTS_COMP },
+ {"-Xclang", TAKES_ARG },
+ {"-Xcompiler", AFFECTS_CPP | TAKES_ARG }, // nvcc
+ {"-Xlinker", TAKES_ARG | TAKES_CONCAT_ARG | AFFECTS_COMP },
+ {"-Xpreprocessor", AFFECTS_CPP | TAKES_ARG },
+ {"-Yc", AFFECTS_CPP | TAKES_CONCAT_ARG | TAKES_PATH }, // msvc
+ {"-Yu", AFFECTS_CPP | TAKES_CONCAT_ARG | TAKES_PATH }, // msvc
+ {"-all_load", AFFECTS_COMP },
+ {"-analyze", TOO_HARD }, // Clang
+ {"-arch", TAKES_ARG },
+ {"-ast-dump", AFFECTS_COMP }, // Clang
+ {"-ast-dump-all", AFFECTS_COMP }, // Clang
+ {"-ast-dump-all=", AFFECTS_COMP | TAKES_CONCAT_ARG }, // Clang
+ {"-ast-dump-decl-types", AFFECTS_COMP }, // Clang
+ {"-ast-dump-filter", AFFECTS_COMP | TAKES_ARG }, // Clang
+ {"-ast-dump-lookups", AFFECTS_COMP }, // Clang
+ {"-ast-dump=", AFFECTS_COMP | TAKES_CONCAT_ARG }, // Clang
+ {"-ast-list", AFFECTS_COMP }, // Clang
+ {"-ast-merge", TOO_HARD | TAKES_ARG }, // Clang
+ {"-ast-print", AFFECTS_COMP }, // Clang
+ {"-ast-view", TOO_HARD }, // Clang
+ {"-aux-info", TAKES_ARG },
+ {"-b", TAKES_ARG },
+ {"-bind_at_load", AFFECTS_COMP },
+ {"-bundle", AFFECTS_COMP },
+ {"-ccbin", AFFECTS_CPP | TAKES_ARG }, // nvcc
+ {"-emit-pch", AFFECTS_COMP }, // Clang
+ {"-emit-pth", AFFECTS_COMP }, // Clang
{"-external:I",
- AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH}, // msvc
- {"-fbuild-session-file=", TAKES_CONCAT_ARG | TAKES_PATH},
- {"-fmodule-header", TOO_HARD},
- {"-fmodule-map-file=", TAKES_CONCAT_ARG | TAKES_PATH},
- {"-fmodules-cache-path=", TAKES_CONCAT_ARG | TAKES_PATH},
- {"-fmodules-ts", TOO_HARD},
- {"-fno-working-directory", AFFECTS_CPP},
- {"-fplugin=libcc1plugin", TOO_HARD}, // interaction with GDB
- {"-frepo", TOO_HARD},
- {"-ftime-trace", TOO_HARD}, // Clang
- {"-fworking-directory", AFFECTS_CPP},
- {"-gcc-toolchain", TAKES_ARG | TAKES_PATH}, // Clang
- {"-gen-cdb-fragment-path", TAKES_ARG | TOO_HARD}, // Clang
- {"-gtoggle", TOO_HARD},
- {"-idirafter", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
- {"-iframework", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
- {"-imacros", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
- {"-imsvc", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
- {"-imultilib", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
- {"-include", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
- {"-include-pch", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
- {"-include-pth", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
- {"-install_name", TAKES_ARG}, // Darwin linker option
- {"-iprefix", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
- {"-iquote", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
- {"-isysroot", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
- {"-isystem", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
- {"-ivfsoverlay", TAKES_ARG | TAKES_PATH},
- {"-ivfsstatcache", TAKES_ARG},
- {"-iwithprefix", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
+ AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH }, // msvc
+ {"-fbuild-session-file=", TAKES_CONCAT_ARG | TAKES_PATH },
+ {"-fmodule-header", TOO_HARD },
+ {"-fmodule-map-file=", TAKES_CONCAT_ARG | TAKES_PATH },
+ {"-fmodules-cache-path=", TAKES_CONCAT_ARG | TAKES_PATH },
+ {"-fmodules-ts", TOO_HARD },
+ {"-fno-working-directory", AFFECTS_CPP },
+ {"-fplugin=libcc1plugin", TOO_HARD }, // interaction with GDB
+ {"-frepo", TOO_HARD },
+ {"-ftime-trace", TOO_HARD }, // Clang
+ {"-fworking-directory", AFFECTS_CPP },
+ {"-gcc-toolchain", TAKES_ARG | TAKES_PATH }, // Clang
+ {"-gen-cdb-fragment-path", TAKES_ARG | TOO_HARD }, // Clang
+ {"-gtoggle", TOO_HARD },
+ {"-idirafter", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
+ {"-iframework", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
+ {"-imacros", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
+ {"-imsvc", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
+ {"-imultilib", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
+ {"-include", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
+ {"-include-pch", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
+ {"-include-pth", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
+ {"-install_name", TAKES_ARG }, // Darwin linker option
+ {"-iprefix", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
+ {"-iquote", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
+ {"-isysroot", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
+ {"-isystem", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
+ {"-ivfsoverlay", TAKES_ARG | TAKES_PATH },
+ {"-ivfsstatcache", TAKES_ARG },
+ {"-iwithprefix", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
{"-iwithprefixbefore",
- AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
- {"-ldir", AFFECTS_CPP | TAKES_ARG}, // nvcc
- {"-link", TOO_HARD}, // msvc
- {"-nolibc", AFFECTS_COMP},
- {"-nostdinc", AFFECTS_CPP},
- {"-nostdinc++", AFFECTS_CPP},
- {"-odir", AFFECTS_CPP | TAKES_ARG}, // nvcc
- {"-pie", AFFECTS_COMP},
- {"-prebind", AFFECTS_COMP},
- {"-preload", AFFECTS_COMP},
- {"-rdynamic", AFFECTS_COMP},
- {"-remap", AFFECTS_CPP},
- {"-save-temps", TOO_HARD},
- {"-save-temps=cwd", TOO_HARD},
- {"-save-temps=obj", TOO_HARD},
- {"-specs", TAKES_ARG},
- {"-stdlib=", AFFECTS_CPP | TAKES_CONCAT_ARG},
- {"-trigraphs", AFFECTS_CPP},
- {"-u", TAKES_ARG | TAKES_CONCAT_ARG},
- {"-v", AFFECTS_COMP},
- {"-wrapper", TAKES_ARG | TOO_HARD},
- {"-z", TAKES_ARG | TAKES_CONCAT_ARG | AFFECTS_COMP},
+ AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH },
+ {"-ldir", AFFECTS_CPP | TAKES_ARG }, // nvcc
+ {"-link", TOO_HARD }, // msvc
+ {"-nolibc", AFFECTS_COMP },
+ {"-nostdinc", AFFECTS_CPP },
+ {"-nostdinc++", AFFECTS_CPP },
+ {"-odir", AFFECTS_CPP | TAKES_ARG }, // nvcc
+ {"-pie", AFFECTS_COMP },
+ {"-prebind", AFFECTS_COMP },
+ {"-preload", AFFECTS_COMP },
+ {"-rdynamic", AFFECTS_COMP },
+ {"-remap", AFFECTS_CPP },
+ {"-save-temps", TOO_HARD },
+ {"-save-temps=cwd", TOO_HARD },
+ {"-save-temps=obj", TOO_HARD },
+ {"-specs", TAKES_ARG },
+ {"-stdlib=", AFFECTS_CPP | TAKES_CONCAT_ARG },
+ {"-trigraphs", AFFECTS_CPP },
+ {"-u", TAKES_ARG | TAKES_CONCAT_ARG },
+ {"-v", AFFECTS_COMP },
+ {"-wrapper", TAKES_ARG | TOO_HARD },
+ {"-z", TAKES_ARG | TAKES_CONCAT_ARG | AFFECTS_COMP },
};
static int
const std::unordered_map<std::string, ConfigKeyTableEntry> k_config_key_table =
{
- {"absolute_paths_in_stderr", {ConfigItem::absolute_paths_in_stderr}},
- {"base_dir", {ConfigItem::base_dir}},
- {"cache_dir", {ConfigItem::cache_dir}},
- {"compiler", {ConfigItem::compiler}},
- {"compiler_check", {ConfigItem::compiler_check}},
- {"compiler_type", {ConfigItem::compiler_type}},
- {"compression", {ConfigItem::compression}},
- {"compression_level", {ConfigItem::compression_level}},
- {"cpp_extension", {ConfigItem::cpp_extension}},
- {"debug", {ConfigItem::debug}},
- {"debug_dir", {ConfigItem::debug_dir}},
- {"debug_level", {ConfigItem::debug_level}},
- {"depend_mode", {ConfigItem::depend_mode}},
- {"direct_mode", {ConfigItem::direct_mode}},
- {"disable", {ConfigItem::disable}},
- {"extra_files_to_hash", {ConfigItem::extra_files_to_hash}},
- {"file_clone", {ConfigItem::file_clone}},
- {"hard_link", {ConfigItem::hard_link}},
- {"hash_dir", {ConfigItem::hash_dir}},
- {"ignore_headers_in_manifest", {ConfigItem::ignore_headers_in_manifest}},
- {"ignore_options", {ConfigItem::ignore_options}},
- {"inode_cache", {ConfigItem::inode_cache}},
- {"keep_comments_cpp", {ConfigItem::keep_comments_cpp}},
- {"log_file", {ConfigItem::log_file}},
- {"max_files", {ConfigItem::max_files}},
- {"max_size", {ConfigItem::max_size}},
- {"msvc_dep_prefix", {ConfigItem::msvc_dep_prefix}},
- {"namespace", {ConfigItem::namespace_}},
- {"path", {ConfigItem::path}},
- {"pch_external_checksum", {ConfigItem::pch_external_checksum}},
- {"prefix_command", {ConfigItem::prefix_command}},
- {"prefix_command_cpp", {ConfigItem::prefix_command_cpp}},
- {"read_only", {ConfigItem::read_only}},
- {"read_only_direct", {ConfigItem::read_only_direct}},
- {"recache", {ConfigItem::recache}},
- {"remote_only", {ConfigItem::remote_only}},
- {"remote_storage", {ConfigItem::remote_storage}},
- {"reshare", {ConfigItem::reshare}},
- {"response_file_format", {ConfigItem::response_file_format}},
- {"run_second_cpp", {ConfigItem::run_second_cpp}},
- {"secondary_storage", {ConfigItem::remote_storage, "remote_storage"}},
- {"sloppiness", {ConfigItem::sloppiness}},
- {"stats", {ConfigItem::stats}},
- {"stats_log", {ConfigItem::stats_log}},
- {"temporary_dir", {ConfigItem::temporary_dir}},
- {"umask", {ConfigItem::umask}},
+ {"absolute_paths_in_stderr", {ConfigItem::absolute_paths_in_stderr} },
+ {"base_dir", {ConfigItem::base_dir} },
+ {"cache_dir", {ConfigItem::cache_dir} },
+ {"compiler", {ConfigItem::compiler} },
+ {"compiler_check", {ConfigItem::compiler_check} },
+ {"compiler_type", {ConfigItem::compiler_type} },
+ {"compression", {ConfigItem::compression} },
+ {"compression_level", {ConfigItem::compression_level} },
+ {"cpp_extension", {ConfigItem::cpp_extension} },
+ {"debug", {ConfigItem::debug} },
+ {"debug_dir", {ConfigItem::debug_dir} },
+ {"debug_level", {ConfigItem::debug_level} },
+ {"depend_mode", {ConfigItem::depend_mode} },
+ {"direct_mode", {ConfigItem::direct_mode} },
+ {"disable", {ConfigItem::disable} },
+ {"extra_files_to_hash", {ConfigItem::extra_files_to_hash} },
+ {"file_clone", {ConfigItem::file_clone} },
+ {"hard_link", {ConfigItem::hard_link} },
+ {"hash_dir", {ConfigItem::hash_dir} },
+ {"ignore_headers_in_manifest", {ConfigItem::ignore_headers_in_manifest} },
+ {"ignore_options", {ConfigItem::ignore_options} },
+ {"inode_cache", {ConfigItem::inode_cache} },
+ {"keep_comments_cpp", {ConfigItem::keep_comments_cpp} },
+ {"log_file", {ConfigItem::log_file} },
+ {"max_files", {ConfigItem::max_files} },
+ {"max_size", {ConfigItem::max_size} },
+ {"msvc_dep_prefix", {ConfigItem::msvc_dep_prefix} },
+ {"namespace", {ConfigItem::namespace_} },
+ {"path", {ConfigItem::path} },
+ {"pch_external_checksum", {ConfigItem::pch_external_checksum} },
+ {"prefix_command", {ConfigItem::prefix_command} },
+ {"prefix_command_cpp", {ConfigItem::prefix_command_cpp} },
+ {"read_only", {ConfigItem::read_only} },
+ {"read_only_direct", {ConfigItem::read_only_direct} },
+ {"recache", {ConfigItem::recache} },
+ {"remote_only", {ConfigItem::remote_only} },
+ {"remote_storage", {ConfigItem::remote_storage} },
+ {"reshare", {ConfigItem::reshare} },
+ {"response_file_format", {ConfigItem::response_file_format} },
+ {"run_second_cpp", {ConfigItem::run_second_cpp} },
+ {"secondary_storage", {ConfigItem::remote_storage, "remote_storage"}},
+ {"sloppiness", {ConfigItem::sloppiness} },
+ {"stats", {ConfigItem::stats} },
+ {"stats_log", {ConfigItem::stats_log} },
+ {"temporary_dir", {ConfigItem::temporary_dir} },
+ {"umask", {ConfigItem::umask} },
};
const std::unordered_map<std::string, std::string> k_env_variable_table = {
- {"ABSSTDERR", "absolute_paths_in_stderr"},
- {"BASEDIR", "base_dir"},
- {"CC", "compiler"}, // Alias for CCACHE_COMPILER
- {"COMMENTS", "keep_comments_cpp"},
- {"COMPILER", "compiler"},
- {"COMPILERCHECK", "compiler_check"},
- {"COMPILERTYPE", "compiler_type"},
- {"COMPRESS", "compression"},
- {"COMPRESSLEVEL", "compression_level"},
- {"CPP2", "run_second_cpp"},
- {"DEBUG", "debug"},
- {"DEBUGDIR", "debug_dir"},
- {"DEBUGLEVEL", "debug_level"},
- {"DEPEND", "depend_mode"},
- {"DIR", "cache_dir"},
- {"DIRECT", "direct_mode"},
- {"DISABLE", "disable"},
- {"EXTENSION", "cpp_extension"},
- {"EXTRAFILES", "extra_files_to_hash"},
- {"FILECLONE", "file_clone"},
- {"HARDLINK", "hard_link"},
- {"HASHDIR", "hash_dir"},
- {"IGNOREHEADERS", "ignore_headers_in_manifest"},
- {"IGNOREOPTIONS", "ignore_options"},
- {"INODECACHE", "inode_cache"},
- {"LOGFILE", "log_file"},
- {"MAXFILES", "max_files"},
- {"MAXSIZE", "max_size"},
- {"MSVC_DEP_PREFIX", "msvc_dep_prefix"},
- {"NAMESPACE", "namespace"},
- {"PATH", "path"},
- {"PCH_EXTSUM", "pch_external_checksum"},
- {"PREFIX", "prefix_command"},
- {"PREFIX_CPP", "prefix_command_cpp"},
- {"READONLY", "read_only"},
- {"READONLY_DIRECT", "read_only_direct"},
- {"RECACHE", "recache"},
- {"REMOTE_ONLY", "remote_only"},
- {"REMOTE_STORAGE", "remote_storage"},
- {"RESHARE", "reshare"},
- {"RESPONSE_FILE_FORMAT", "response_file_format"},
- {"SECONDARY_STORAGE", "remote_storage"}, // Alias for CCACHE_REMOTE_STORAGE
- {"SLOPPINESS", "sloppiness"},
- {"STATS", "stats"},
- {"STATSLOG", "stats_log"},
- {"TEMPDIR", "temporary_dir"},
- {"UMASK", "umask"},
+ {"ABSSTDERR", "absolute_paths_in_stderr" },
+ {"BASEDIR", "base_dir" },
+ {"CC", "compiler" }, // Alias for CCACHE_COMPILER
+ {"COMMENTS", "keep_comments_cpp" },
+ {"COMPILER", "compiler" },
+ {"COMPILERCHECK", "compiler_check" },
+ {"COMPILERTYPE", "compiler_type" },
+ {"COMPRESS", "compression" },
+ {"COMPRESSLEVEL", "compression_level" },
+ {"CPP2", "run_second_cpp" },
+ {"DEBUG", "debug" },
+ {"DEBUGDIR", "debug_dir" },
+ {"DEBUGLEVEL", "debug_level" },
+ {"DEPEND", "depend_mode" },
+ {"DIR", "cache_dir" },
+ {"DIRECT", "direct_mode" },
+ {"DISABLE", "disable" },
+ {"EXTENSION", "cpp_extension" },
+ {"EXTRAFILES", "extra_files_to_hash" },
+ {"FILECLONE", "file_clone" },
+ {"HARDLINK", "hard_link" },
+ {"HASHDIR", "hash_dir" },
+ {"IGNOREHEADERS", "ignore_headers_in_manifest"},
+ {"IGNOREOPTIONS", "ignore_options" },
+ {"INODECACHE", "inode_cache" },
+ {"LOGFILE", "log_file" },
+ {"MAXFILES", "max_files" },
+ {"MAXSIZE", "max_size" },
+ {"MSVC_DEP_PREFIX", "msvc_dep_prefix" },
+ {"NAMESPACE", "namespace" },
+ {"PATH", "path" },
+ {"PCH_EXTSUM", "pch_external_checksum" },
+ {"PREFIX", "prefix_command" },
+ {"PREFIX_CPP", "prefix_command_cpp" },
+ {"READONLY", "read_only" },
+ {"READONLY_DIRECT", "read_only_direct" },
+ {"RECACHE", "recache" },
+ {"REMOTE_ONLY", "remote_only" },
+ {"REMOTE_STORAGE", "remote_storage" },
+ {"RESHARE", "reshare" },
+ {"RESPONSE_FILE_FORMAT", "response_file_format" },
+ {"SECONDARY_STORAGE", "remote_storage" }, // Alias for CCACHE_REMOTE_STORAGE
+ {"SLOPPINESS", "sloppiness" },
+ {"STATS", "stats" },
+ {"STATSLOG", "stats_log" },
+ {"TEMPDIR", "temporary_dir" },
+ {"UMASK", "umask" },
};
Args::ResponseFileFormat
namespace core {
-AtomicFile::AtomicFile(const fs::path& path, Mode mode) : m_path(path)
+AtomicFile::AtomicFile(const fs::path& path, Mode mode)
+ : m_path(path)
{
auto tmp_file =
util::value_or_throw<core::Error>(util::TemporaryFile::create(path));
- k_epilogue_fields_size);
}
-CacheEntry::CacheEntry(nonstd::span<const uint8_t> data) : m_header(data)
+CacheEntry::CacheEntry(nonstd::span<const uint8_t> data)
+ : m_header(data)
{
const size_t non_payload_size =
m_header.serialized_size() + k_epilogue_fields_size;
TRIM_MAX_SIZE,
TRIM_METHOD,
TRIM_RECOMPRESS,
- TRIM_RECOMPRESS_THREADS,
+ TRIM_RECOMP_THREADS,
};
const char options_string[] = "cCd:k:hF:M:po:svVxX:z";
const option long_options[] = {
- {"checksum-file", required_argument, nullptr, CHECKSUM_FILE},
- {"cleanup", no_argument, nullptr, 'c'},
- {"clear", no_argument, nullptr, 'C'},
- {"config-path", required_argument, nullptr, CONFIG_PATH},
- {"dir", required_argument, nullptr, 'd'},
- {"directory", required_argument, nullptr, 'd'}, // bwd compat
- {"dump-manifest", required_argument, nullptr, DUMP_MANIFEST}, // bwd compat
- {"dump-result", required_argument, nullptr, DUMP_RESULT}, // bwd compat
- {"evict-namespace", required_argument, nullptr, EVICT_NAMESPACE},
- {"evict-older-than", required_argument, nullptr, EVICT_OLDER_THAN},
- {"extract-result", required_argument, nullptr, EXTRACT_RESULT},
- {"format", required_argument, nullptr, FORMAT},
- {"get-config", required_argument, nullptr, 'k'},
- {"hash-file", required_argument, nullptr, HASH_FILE},
- {"help", no_argument, nullptr, 'h'},
- {"inspect", required_argument, nullptr, INSPECT},
- {"max-files", required_argument, nullptr, 'F'},
- {"max-size", required_argument, nullptr, 'M'},
- {"print-log-stats", no_argument, nullptr, PRINT_LOG_STATS},
- {"print-stats", no_argument, nullptr, PRINT_STATS},
- {"print-version", no_argument, nullptr, PRINT_VERSION},
- {"recompress", required_argument, nullptr, 'X'},
- {"recompress-threads", required_argument, nullptr, RECOMPRESS_THREADS},
- {"set-config", required_argument, nullptr, 'o'},
- {"show-compression", no_argument, nullptr, 'x'},
- {"show-config", no_argument, nullptr, 'p'},
- {"show-log-stats", no_argument, nullptr, SHOW_LOG_STATS},
- {"show-stats", no_argument, nullptr, 's'},
- {"trim-dir", required_argument, nullptr, TRIM_DIR},
- {"trim-max-size", required_argument, nullptr, TRIM_MAX_SIZE},
- {"trim-method", required_argument, nullptr, TRIM_METHOD},
- {"trim-recompress", required_argument, nullptr, TRIM_RECOMPRESS},
- {"trim-recompress-threads",
- required_argument,
- nullptr,
- TRIM_RECOMPRESS_THREADS},
- {"verbose", no_argument, nullptr, 'v'},
- {"version", no_argument, nullptr, 'V'},
- {"zero-stats", no_argument, nullptr, 'z'},
- {nullptr, 0, nullptr, 0}};
+ {"checksum-file", required_argument, nullptr, CHECKSUM_FILE },
+ {"cleanup", no_argument, nullptr, 'c' },
+ {"clear", no_argument, nullptr, 'C' },
+ {"config-path", required_argument, nullptr, CONFIG_PATH },
+ {"dir", required_argument, nullptr, 'd' },
+ {"directory", required_argument, nullptr, 'd' }, // bwd compat
+ {"dump-manifest", required_argument, nullptr, DUMP_MANIFEST }, // bwd compat
+ {"dump-result", required_argument, nullptr, DUMP_RESULT }, // bwd compat
+ {"evict-namespace", required_argument, nullptr, EVICT_NAMESPACE },
+ {"evict-older-than", required_argument, nullptr, EVICT_OLDER_THAN },
+ {"extract-result", required_argument, nullptr, EXTRACT_RESULT },
+ {"format", required_argument, nullptr, FORMAT },
+ {"get-config", required_argument, nullptr, 'k' },
+ {"hash-file", required_argument, nullptr, HASH_FILE },
+ {"help", no_argument, nullptr, 'h' },
+ {"inspect", required_argument, nullptr, INSPECT },
+ {"max-files", required_argument, nullptr, 'F' },
+ {"max-size", required_argument, nullptr, 'M' },
+ {"print-log-stats", no_argument, nullptr, PRINT_LOG_STATS },
+ {"print-stats", no_argument, nullptr, PRINT_STATS },
+ {"print-version", no_argument, nullptr, PRINT_VERSION },
+ {"recompress", required_argument, nullptr, 'X' },
+ {"recompress-threads", required_argument, nullptr, RECOMPRESS_THREADS },
+ {"set-config", required_argument, nullptr, 'o' },
+ {"show-compression", no_argument, nullptr, 'x' },
+ {"show-config", no_argument, nullptr, 'p' },
+ {"show-log-stats", no_argument, nullptr, SHOW_LOG_STATS },
+ {"show-stats", no_argument, nullptr, 's' },
+ {"trim-dir", required_argument, nullptr, TRIM_DIR },
+ {"trim-max-size", required_argument, nullptr, TRIM_MAX_SIZE },
+ {"trim-method", required_argument, nullptr, TRIM_METHOD },
+ {"trim-recompress", required_argument, nullptr, TRIM_RECOMPRESS },
+ {"trim-recompress-threads", required_argument, nullptr, TRIM_RECOMP_THREADS},
+ {"verbose", no_argument, nullptr, 'v' },
+ {"version", no_argument, nullptr, 'V' },
+ {"zero-stats", no_argument, nullptr, 'z' },
+ {nullptr, 0, nullptr, 0 }
+};
int
process_main_options(int argc, const char* const* argv)
trim_recompress = parse_compression_level(arg);
break;
- case TRIM_RECOMPRESS_THREADS:
+ case TRIM_RECOMP_THREADS:
trim_recompress_threads =
static_cast<uint32_t>(util::value_or_throw<Error>(util::parse_unsigned(
arg, 1, std::numeric_limits<uint32_t>::max(), "threads")));
case TRIM_MAX_SIZE:
case TRIM_METHOD:
case TRIM_RECOMPRESS:
- case TRIM_RECOMPRESS_THREADS:
+ case TRIM_RECOMP_THREADS:
case 'v': // --verbose
// Already handled in the first pass.
break;
return util::with_extension(ctx.args_info.output_obj, ".gcno");
}
-Deserializer::Deserializer(nonstd::span<const uint8_t> data) : m_data(data)
+Deserializer::Deserializer(nonstd::span<const uint8_t> data)
+ : m_data(data)
{
}
namespace core {
-ResultInspector::ResultInspector(FILE* stream) : m_stream(stream)
+ResultInspector::ResultInspector(FILE* stream)
+ : m_stream(stream)
{
}
// --- Inline implementations ---
-inline StatsLog::StatsLog(const std::filesystem::path& path) : m_path(path)
+inline StatsLog::StatsLog(const std::filesystem::path& path)
+ : m_path(path)
{
}
const char* extension;
const char* language;
} k_ext_lang_table[] = {
- {".c", "c"},
- {".C", "c++"},
- {".cc", "c++"},
- {".CC", "c++"},
- {".cp", "c++"},
- {".CP", "c++"},
- {".cpp", "c++"},
- {".CPP", "c++"},
- {".cxx", "c++"},
- {".CXX", "c++"},
- {".c++", "c++"},
- {".C++", "c++"},
- {".m", "objective-c"},
- {".M", "objective-c++"},
- {".mm", "objective-c++"},
- {".sx", "assembler-with-cpp"},
- {".S", "assembler-with-cpp"},
+ {".c", "c" },
+ {".C", "c++" },
+ {".cc", "c++" },
+ {".CC", "c++" },
+ {".cp", "c++" },
+ {".CP", "c++" },
+ {".cpp", "c++" },
+ {".CPP", "c++" },
+ {".cxx", "c++" },
+ {".CXX", "c++" },
+ {".c++", "c++" },
+ {".C++", "c++" },
+ {".m", "objective-c" },
+ {".M", "objective-c++" },
+ {".mm", "objective-c++" },
+ {".sx", "assembler-with-cpp" },
+ {".S", "assembler-with-cpp" },
// Preprocessed:
- {".i", "cpp-output"},
- {".ii", "c++-cpp-output"},
- {".mi", "objective-c-cpp-output"},
- {".mii", "objective-c++-cpp-output"},
- {".s", "assembler"},
+ {".i", "cpp-output" },
+ {".ii", "c++-cpp-output" },
+ {".mi", "objective-c-cpp-output" },
+ {".mii", "objective-c++-cpp-output"},
+ {".s", "assembler" },
// Header file (for precompilation):
- {".h", "c-header"},
- {".H", "c++-header"},
- {".h++", "c++-header"},
- {".H++", "c++-header"},
- {".hh", "c++-header"},
- {".HH", "c++-header"},
- {".hp", "c++-header"},
- {".HP", "c++-header"},
- {".hpp", "c++-header"},
- {".HPP", "c++-header"},
- {".hxx", "c++-header"},
- {".HXX", "c++-header"},
- {".tcc", "c++-header"},
- {".TCC", "c++-header"},
- {".cu", "cu"}, // Special case in language_for_file: "cuda" for Clang
- {".hip", "hip"},
- {nullptr, nullptr},
+ {".h", "c-header" },
+ {".H", "c++-header" },
+ {".h++", "c++-header" },
+ {".H++", "c++-header" },
+ {".hh", "c++-header" },
+ {".HH", "c++-header" },
+ {".hp", "c++-header" },
+ {".HP", "c++-header" },
+ {".hpp", "c++-header" },
+ {".HPP", "c++-header" },
+ {".hxx", "c++-header" },
+ {".HXX", "c++-header" },
+ {".tcc", "c++-header" },
+ {".TCC", "c++-header" },
+ {".cu", "cu" }, // Special case in language_for_file: "cuda" for Clang
+ {".hip", "hip" },
+ {nullptr, nullptr },
};
// Supported languages and corresponding preprocessed languages.
const char* language;
const char* p_language;
} k_lang_p_lang_table[] = {
- {"c", "cpp-output"},
- {"cpp-output", "cpp-output"},
- {"c-header", "cpp-output"},
- {"c++", "c++-cpp-output"},
- {"c++-cpp-output", "c++-cpp-output"},
- {"c++-header", "c++-cpp-output"},
- {"cu", "cpp-output"}, // NVCC
- {"cuda", "cpp-output"}, // Clang
- {"hip", "cpp-output"},
- {"objective-c", "objective-c-cpp-output"},
- {"objective-c-header", "objective-c-cpp-output"},
- {"objc-cpp-output", "objective-c-cpp-output"},
- {"objective-c-cpp-output", "objective-c-cpp-output"},
- {"objective-c++", "objective-c++-cpp-output"},
- {"objc++-cpp-output", "objective-c++-cpp-output"},
- {"objective-c++-header", "objective-c++-cpp-output"},
+ {"c", "cpp-output" },
+ {"cpp-output", "cpp-output" },
+ {"c-header", "cpp-output" },
+ {"c++", "c++-cpp-output" },
+ {"c++-cpp-output", "c++-cpp-output" },
+ {"c++-header", "c++-cpp-output" },
+ {"cu", "cpp-output" }, // NVCC
+ {"cuda", "cpp-output" }, // Clang
+ {"hip", "cpp-output" },
+ {"objective-c", "objective-c-cpp-output" },
+ {"objective-c-header", "objective-c-cpp-output" },
+ {"objc-cpp-output", "objective-c-cpp-output" },
+ {"objective-c-cpp-output", "objective-c-cpp-output" },
+ {"objective-c++", "objective-c++-cpp-output"},
+ {"objc++-cpp-output", "objective-c++-cpp-output"},
+ {"objective-c++-header", "objective-c++-cpp-output"},
{"objective-c++-cpp-output", "objective-c++-cpp-output"},
- {"assembler-with-cpp", "assembler"},
- {"assembler", "assembler"},
- {nullptr, nullptr},
+ {"assembler-with-cpp", "assembler" },
+ {"assembler", "assembler" },
+ {nullptr, nullptr },
};
} // namespace
} // namespace
-SignalHandler::SignalHandler(Context& ctx) : m_ctx(ctx)
+SignalHandler::SignalHandler(Context& ctx)
+ : m_ctx(ctx)
{
ASSERT(!g_the_signal_handler);
g_the_signal_handler = this;
}
}
-LocalStorage::LocalStorage(const Config& config) : m_config(config)
+LocalStorage::LocalStorage(const Config& config)
+ : m_config(config)
{
}
namespace storage::local {
-StatsFile::StatsFile(const fs::path& path) : m_path(path)
+StatsFile::StatsFile(const fs::path& path)
+ : m_path(path)
{
}
const std::unordered_map<std::string /*scheme*/,
std::shared_ptr<remote::RemoteStorage>>
k_remote_storage_implementations = {
- {"file", std::make_shared<remote::FileStorage>()},
+ {"file", std::make_shared<remote::FileStorage>() },
#ifdef HAVE_HTTP_STORAGE_BACKEND
- {"http", std::make_shared<remote::HttpStorage>()},
+ {"http", std::make_shared<remote::HttpStorage>() },
#endif
#ifdef HAVE_REDIS_STORAGE_BACKEND
- {"redis", std::make_shared<remote::RedisStorage>()},
+ {"redis", std::make_shared<remote::RedisStorage>()},
{"redis+unix", std::make_shared<remote::RedisStorage>()},
#endif
};
}
}
-Storage::Storage(const Config& config) : local(config), m_config(config)
+Storage::Storage(const Config& config)
+ : local(config),
+ m_config(config)
{
}
}
template<typename T>
-inline BitSet<T>::BitSet(const BitSet& set) : m_value(set.m_value)
+inline BitSet<T>::BitSet(const BitSet& set)
+ : m_value(set.m_value)
{
}
std::function<void()> m_func;
};
-inline Deferrer::Deferrer(std::function<void()> func) : m_func(func)
+inline Deferrer::Deferrer(std::function<void()> func)
+ : m_func(func)
{
}
int m_fd = -1;
};
-inline Fd::Fd(int fd) : m_fd(fd)
+inline Fd::Fd(int fd)
+ : m_fd(fd)
{
}
-inline Fd::Fd(Fd&& other_fd) noexcept : m_fd(other_fd.release())
+inline Fd::Fd(Fd&& other_fd) noexcept
+ : m_fd(other_fd.release())
{
}
namespace util {
-FileLock::FileLock(int fd) : m_fd(fd)
+FileLock::FileLock(int fd)
+ : m_fd(fd)
{
}
bool m_owned = false;
};
-inline FileStream::FileStream(FILE* const file) : m_file(file), m_owned(false)
+inline FileStream::FileStream(FILE* const file)
+ : m_file(file),
+ m_owned(false)
{
}
}
}
-BulkLogger::BulkLogger() : m_file_lock(logfile ? fileno(*logfile) : -1)
+BulkLogger::BulkLogger()
+ : m_file_lock(logfile ? fileno(*logfile) : -1)
{
if (logfile) {
std::ignore = m_file_lock.acquire(); // Garbled logs are better than no logs
return result;
}
-TextTable::Cell::Cell(const std::string& text) : m_text(text)
+TextTable::Cell::Cell(const std::string& text)
+ : m_text(text)
{
}
-TextTable::Cell::Cell(std::string_view text) : Cell(std::string(text))
+TextTable::Cell::Cell(std::string_view text)
+ : Cell(std::string(text))
{
}
-TextTable::Cell::Cell(const char* text) : Cell(std::string(text))
+TextTable::Cell::Cell(const char* text)
+ : Cell(std::string(text))
{
}
{
}
-inline TimePoint::TimePoint(const TimePoint& other) : m_ns(other.m_ns)
+inline TimePoint::TimePoint(const TimePoint& other)
+ : m_ns(other.m_ns)
{
}
std::chrono::steady_clock::time_point m_start;
};
-inline Timer::Timer() : m_start(std::chrono::steady_clock::now())
+inline Timer::Timer()
+ : m_start(std::chrono::steady_clock::now())
{
}
XXH3_state_t* m_state;
};
-inline XXH3_128::XXH3_128() : m_state(XXH3_createState())
+inline XXH3_128::XXH3_128()
+ : m_state(XXH3_createState())
{
reset();
}
XXH3_state_t* m_state;
};
-inline XXH3_64::XXH3_64() : m_state(XXH3_createState())
+inline XXH3_64::XXH3_64()
+ : m_state(XXH3_createState())
{
reset();
}
TestContext test_context;
Context ctx;
- ctx.config.update_from_map({{"sloppiness", "ivfsoverlay"}});
+ ctx.config.update_from_map({
+ {"sloppiness", "ivfsoverlay"}
+ });
util::write_file("foo.c", "");
ctx.config.set_base_dir(get_root());
TestContext test_context;
Context ctx;
- ctx.config.update_from_map({{"sloppiness", "modules"}});
+ ctx.config.update_from_map({
+ {"sloppiness", "modules"}
+ });
util::write_file("foo.c", "");
ctx.config.set_base_dir(get_root());
TestContext test_context;
Context ctx;
- ctx.config.update_from_map({{"sloppiness", "modules"}});
+ ctx.config.update_from_map({
+ {"sloppiness", "modules"}
+ });
util::write_file("foo.c", "");
ctx.config.set_base_dir(get_root());
}
util::write_file("pch.cpp.pch", "");
- ctx.config.update_from_map({{"sloppiness", "pch_defines,time_macros"}});
+ ctx.config.update_from_map({
+ {"sloppiness", "pch_defines,time_macros"}
+ });
SUBCASE("Consume PCH")
{
}
util::write_file("pch.cpp.pch", "");
- ctx.config.update_from_map({{"sloppiness", "pch_defines,time_macros"}});
+ ctx.config.update_from_map({
+ {"sloppiness", "pch_defines,time_macros"}
+ });
SUBCASE("Consume PCH")
{
}
util::write_file("pch.pch", "");
- ctx.config.update_from_map({{"sloppiness", "pch_defines,time_macros"}});
+ ctx.config.update_from_map({
+ {"sloppiness", "pch_defines,time_macros"}
+ });
SUBCASE("Consume PCH")
{
}
util::write_file("pch.pch", "");
- ctx.config.update_from_map({{"sloppiness", "pch_defines,time_macros"}});
+ ctx.config.update_from_map({
+ {"sloppiness", "pch_defines,time_macros"}
+ });
SUBCASE("Consume PCH")
{
public:
ScopedHANDLE() = default;
- explicit ScopedHANDLE(HANDLE handle) : m_handle(handle)
+ explicit ScopedHANDLE(HANDLE handle)
+ : m_handle(handle)
{
}
- ScopedHANDLE(ScopedHANDLE&& other) : ScopedHANDLE(other.release())
+ ScopedHANDLE(ScopedHANDLE&& other)
+ : ScopedHANDLE(other.release())
{
}