From: Joel Rosdahl Date: Sat, 1 Jun 2024 10:57:23 +0000 (+0200) Subject: refactor: Convert ArgsInfo::orig_input_file to fs::path X-Git-Tag: v4.11~130 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=65779ae5bdaec6f70fdc49be16e2605fc7321d41;p=thirdparty%2Fccache.git refactor: Convert ArgsInfo::orig_input_file to fs::path --- diff --git a/src/ccache/ArgsInfo.hpp b/src/ccache/ArgsInfo.hpp index b9c7ac2d..607466ee 100644 --- a/src/ccache/ArgsInfo.hpp +++ b/src/ccache/ArgsInfo.hpp @@ -20,6 +20,7 @@ #include +#include #include #include #include @@ -29,7 +30,7 @@ struct ArgsInfo { // The source file path. - std::string orig_input_file; + std::filesystem::path orig_input_file; // The source file path, potentially rewritten into relative. std::string input_file; diff --git a/src/ccache/argprocessing.cpp b/src/ccache/argprocessing.cpp index 08835e60..9e6dc8f7 100644 --- a/src/ccache/argprocessing.cpp +++ b/src/ccache/argprocessing.cpp @@ -1308,7 +1308,7 @@ process_args(Context& ctx) } } - args_info.orig_input_file = util::pstr(state.input_files.front()); + args_info.orig_input_file = state.input_files.front(); // Rewrite to relative to increase hit rate. args_info.input_file = util::pstr(core::make_relative_path(ctx, args_info.orig_input_file)); @@ -1453,8 +1453,8 @@ process_args(Context& ctx) || is_precompiled_header(args_info.output_obj); if (args_info.output_is_precompiled_header && output_obj_by_source) { - args_info.orig_output_obj = - args_info.orig_input_file + get_default_pch_file_extension(config); + args_info.orig_output_obj = util::pstr(util::add_extension( + args_info.orig_input_file, get_default_pch_file_extension(config))); args_info.output_obj = util::pstr(core::make_relative_path(ctx, args_info.orig_output_obj)); } @@ -1615,7 +1615,7 @@ process_args(Context& ctx) // GCC strangely uses the base name of the source file but with a .o // extension. dep_target = util::pstr(util::with_extension( - fs::path(args_info.orig_input_file).filename(), + args_info.orig_input_file.filename(), get_default_object_file_extension(ctx.config))); } else { // How other compilers behave is currently unknown, so bail out. @@ -1645,8 +1645,8 @@ process_args(Context& ctx) } if (args_info.generating_ipa_clones) { - fs::path ipa_path(args_info.orig_input_file + ".000i.ipa-clones"); - args_info.output_ipa = util::pstr(core::make_relative_path(ctx, ipa_path)); + args_info.output_ipa = util::pstr(core::make_relative_path( + ctx, util::add_extension(args_info.orig_input_file, ".000i.ipa-clones"))); } Args compiler_args = state.common_args;