// See comment in get_file_hash_index for why saving of timestamps is forced
// for precompiled headers.
bool save_timestamp = (ctx.config.sloppiness() & SLOPPY_FILE_STAT_MATCHES)
- || output_is_precompiled_header;
+ || ctx.args_info.output_is_precompiled_header;
MTR_BEGIN("manifest", "manifest_put");
cc_log("Adding result name to %s", manifest_path);
// hash. The theory is that these arguments will change the output of -E if
// they are going to have any effect at all. For precompiled headers this
// might not be the case.
- if (!direct_mode && !output_is_precompiled_header
+ if (!direct_mode && !ctx.args_info.output_is_precompiled_header
&& !ctx.args_info.using_precompiled_header) {
if (compopt_affects_cpp(args->argv[i])) {
if (compopt_takes_arg(args->argv[i])) {
// file 'foo.h' has been modified since the precompiled header 'foo.pch'
// was built
if ((guessed_compiler == GUESSED_CLANG || guessed_compiler == GUESSED_UNKNOWN)
- && output_is_precompiled_header && mode == FROMCACHE_CPP_MODE) {
+ && ctx.args_info.output_is_precompiled_header
+ && mode == FROMCACHE_CPP_MODE) {
cc_log("Not considering cached precompiled header in preprocessor mode");
return;
}
has_absolute_include_headers = false;
i_tmpfile = NULL;
free_and_nullify(cpp_stderr);
- output_is_precompiled_header = false;
}
// Make a copy of stderr that will not be cached, so things like distcc can
failed(); // stats_update is called in cc_process_args.
}
- output_is_precompiled_header = ctx.args_info.output_is_precompiled_header;
-
arch_args_size = ctx.args_info.arch_args_size;
for (size_t i = 0; i < ctx.args_info.arch_args_size; ++i) {
arch_args[i] = x_strdup(ctx.args_info.arch_args[i]);
// The stats file to use for the manifest.
char* manifest_stats_file;
-// Whether the output is a precompiled header.
-bool output_is_precompiled_header = false;
-
// Compiler guessing is currently only based on the compiler name, so nothing
// should hard-depend on it if possible.
enum guessed_compiler guessed_compiler = GUESSED_UNKNOWN;
// and will error out if that header is later used without rebuilding.
if ((guessed_compiler == GUESSED_CLANG
|| guessed_compiler == GUESSED_UNKNOWN)
- && output_is_precompiled_header && fi.mtime != fs.mtime) {
+ && ctx.args_info.output_is_precompiled_header && fi.mtime != fs.mtime) {
cc_log("Precompiled header includes %s, which has a new mtime",
path.c_str());
return false;