From: Joel Rosdahl Date: Fri, 1 May 2020 17:44:03 +0000 (+0200) Subject: Let process_args use orig_args from ctx X-Git-Tag: v4.0~514 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=484c0d7210d9db237a727d35758588e85019ebdb;p=thirdparty%2Fccache.git Let process_args use orig_args from ctx --- diff --git a/src/ccache.cpp b/src/ccache.cpp index eacbd3821..2d6d4792f 100644 --- a/src/ccache.cpp +++ b/src/ccache.cpp @@ -2177,7 +2177,6 @@ process_profiling_option(Context& ctx, const std::string& arg) // incremented. optional process_args(Context& ctx, - const Args& args, Args& preprocessor_args, Args& extra_args_to_hash, Args& compiler_args) @@ -2210,7 +2209,7 @@ process_args(Context& ctx, // expanded_args is a copy of the original arguments given to the compiler // but with arguments from @file and similar constructs expanded. It's only // used as a temporary data structure to loop over. - Args expanded_args = args; + Args expanded_args = ctx.orig_args; // common_args contains all original arguments except: // * those that never should be passed to the preprocessor, @@ -3528,8 +3527,8 @@ do_cache_compilation(Context& ctx, const char* const* argv) Args compiler_args; MTR_BEGIN("main", "process_args"); - auto error = process_args( - ctx, ctx.orig_args, preprocessor_args, extra_args_to_hash, compiler_args); + auto error = + process_args(ctx, preprocessor_args, extra_args_to_hash, compiler_args); if (error) { failed(*error); } diff --git a/src/ccache.hpp b/src/ccache.hpp index b52f45354..4cb171b40 100644 --- a/src/ccache.hpp +++ b/src/ccache.hpp @@ -62,7 +62,6 @@ enum class GuessedCompiler { clang, gcc, nvcc, pump, unknown }; void block_signals(); void unblock_signals(); nonstd::optional process_args(Context& ctx, - const Args& args, Args& preprocessor_args, Args& extra_args_to_hash, Args& compiler_args); diff --git a/unittest/test_argument_processing.cpp b/unittest/test_argument_processing.cpp index 4fc681920..576b5fcc8 100644 --- a/unittest/test_argument_processing.cpp +++ b/unittest/test_argument_processing.cpp @@ -71,13 +71,13 @@ TEST(dash_E_should_result_in_called_for_preprocessing) { Context ctx; - Args orig = args_init_from_string("cc -c foo.c -E"); + ctx.orig_args = Args::from_string("cc -c foo.c -E"); Args preprocessed; Args extra; Args compiler; create_file("foo.c", ""); - CHECK(process_args(ctx, orig, preprocessed, extra, compiler) + CHECK(process_args(ctx, preprocessed, extra, compiler) == STATS_PREPROCESSING); } @@ -85,13 +85,13 @@ TEST(dash_M_should_be_unsupported) { Context ctx; - Args orig = args_init_from_string("cc -c foo.c -M"); + ctx.orig_args = Args::from_string("cc -c foo.c -M"); Args preprocessed; Args extra; Args compiler; create_file("foo.c", ""); - CHECK(process_args(ctx, orig, preprocessed, extra, compiler) + CHECK(process_args(ctx, preprocessed, extra, compiler) == STATS_UNSUPPORTED_OPTION); } @@ -102,7 +102,7 @@ TEST(dependency_args_to_preprocessor_if_run_second_cpp_is_false) #define DEP_ARGS \ "-MD -MMD -MP -MF foo.d -MT mt1 -MT mt2 -MQ mq1 -MQ mq2 -Wp,-MD,wpmd" \ " -Wp,-MMD,wpmmd -Wp,-MP -Wp,-MT,wpmt -Wp,-MQ,wpmq -Wp,-MF,wpf" - Args orig = args_init_from_string("cc " DEP_ARGS " -c foo.c -o foo.o"); + ctx.orig_args = Args::from_string("cc " DEP_ARGS " -c foo.c -o foo.o"); Args exp_cpp = args_init_from_string("cc " DEP_ARGS); Args exp_extra = args_init(0, NULL); Args exp_cc = args_init_from_string("cc -c"); @@ -113,7 +113,7 @@ TEST(dependency_args_to_preprocessor_if_run_second_cpp_is_false) create_file("foo.c", ""); ctx.config.set_run_second_cpp(false); - CHECK(!process_args(ctx, orig, act_cpp, act_extra, act_cc)); + CHECK(!process_args(ctx, act_cpp, act_extra, act_cc)); CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp); CHECK_ARGS_EQ_FREE12(exp_extra, act_extra); CHECK_ARGS_EQ_FREE12(exp_cc, act_cc); @@ -126,7 +126,7 @@ TEST(dependency_args_to_compiler_if_run_second_cpp_is_true) #define DEP_ARGS \ "-MD -MMD -MP -MF foo.d -MT mt1 -MT mt2 -MQ mq1 -MQ mq2 -Wp,-MD,wpmd" \ " -Wp,-MMD,wpmmd -Wp,-MP -Wp,-MT,wpmt -Wp,-MQ,wpmq -Wp,-MF,wpf" - Args orig = args_init_from_string("cc " DEP_ARGS " -c foo.c -o foo.o"); + ctx.orig_args = Args::from_string("cc " DEP_ARGS " -c foo.c -o foo.o"); Args exp_cpp = args_init_from_string("cc"); Args exp_extra = args_init_from_string(DEP_ARGS); Args exp_cc = args_init_from_string("cc -c " DEP_ARGS); @@ -136,7 +136,7 @@ TEST(dependency_args_to_compiler_if_run_second_cpp_is_true) Args act_cc; create_file("foo.c", ""); - CHECK(!process_args(ctx, orig, act_cpp, act_extra, act_cc)); + CHECK(!process_args(ctx, act_cpp, act_extra, act_cc)); CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp); CHECK_ARGS_EQ_FREE12(exp_extra, act_extra); CHECK_ARGS_EQ_FREE12(exp_cc, act_cc); @@ -154,8 +154,8 @@ TEST(cpp_only_args_to_preprocessor_if_run_second_cpp_is_false) #define DEP_ARGS \ "-MD -MMD -MP -MF foo.d -MT mt1 -MT mt2 -MQ mq1 -MQ mq2 -Wp,-MD,wpmd" \ " -Wp,-MMD,wpmmd -Wp,-MP -Wp,-MT,wpmt -Wp,-MQ,wpmq -Wp,-MF,wpf" - Args orig = - args_init_from_string("cc " CPP_ARGS " " DEP_ARGS " -c foo.c -o foo.o"); + ctx.orig_args = + Args::from_string("cc " CPP_ARGS " " DEP_ARGS " -c foo.c -o foo.o"); Args exp_cpp = args_init_from_string("cc " CPP_ARGS " " DEP_ARGS); Args exp_extra = args_init(0, NULL); Args exp_cc = args_init_from_string("cc -c"); @@ -167,7 +167,7 @@ TEST(cpp_only_args_to_preprocessor_if_run_second_cpp_is_false) create_file("foo.c", ""); ctx.config.set_run_second_cpp(false); - CHECK(!process_args(ctx, orig, act_cpp, act_extra, act_cc)); + CHECK(!process_args(ctx, act_cpp, act_extra, act_cc)); CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp); CHECK_ARGS_EQ_FREE12(exp_extra, act_extra); CHECK_ARGS_EQ_FREE12(exp_cc, act_cc); @@ -185,8 +185,8 @@ TEST(cpp_only_args_to_preprocessor_and_compiler_if_run_second_cpp_is_true) #define DEP_ARGS \ " -MD -MMD -MP -MF foo.d -MT mt1 -MT mt2 -MQ mq1 -MQ mq2 -Wp,-MD,wpmd" \ " -Wp,-MMD,wpmmd" - Args orig = - args_init_from_string("cc " CPP_ARGS " " DEP_ARGS " -c foo.c -o foo.o"); + ctx.orig_args = + Args::from_string("cc " CPP_ARGS " " DEP_ARGS " -c foo.c -o foo.o"); Args exp_cpp = args_init_from_string("cc " CPP_ARGS); Args exp_extra = args_init_from_string(DEP_ARGS); Args exp_cc = args_init_from_string("cc " CPP_ARGS " -c " DEP_ARGS); @@ -197,7 +197,7 @@ TEST(cpp_only_args_to_preprocessor_and_compiler_if_run_second_cpp_is_true) Args act_cc; create_file("foo.c", ""); - CHECK(!process_args(ctx, orig, act_cpp, act_extra, act_cc)); + CHECK(!process_args(ctx, act_cpp, act_extra, act_cc)); CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp); CHECK_ARGS_EQ_FREE12(exp_extra, act_extra); CHECK_ARGS_EQ_FREE12(exp_cc, act_cc); @@ -208,7 +208,7 @@ TEST(dependency_args_that_take_an_argument_should_not_require_space_delimiter) Context ctx; #define DEP_ARGS "-MMD -MFfoo.d -MT mt -MTmt -MQmq" - Args orig = args_init_from_string("cc -c " DEP_ARGS " foo.c -o foo.o"); + ctx.orig_args = Args::from_string("cc -c " DEP_ARGS " foo.c -o foo.o"); Args exp_cpp = args_init_from_string("cc"); Args exp_extra = args_init_from_string(DEP_ARGS); Args exp_cc = args_init_from_string("cc -c " DEP_ARGS); @@ -218,7 +218,7 @@ TEST(dependency_args_that_take_an_argument_should_not_require_space_delimiter) Args act_cc; create_file("foo.c", ""); - CHECK(!process_args(ctx, orig, act_cpp, act_extra, act_cc)); + CHECK(!process_args(ctx, act_cpp, act_extra, act_cc)); CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp); CHECK_ARGS_EQ_FREE12(exp_extra, act_extra); CHECK_ARGS_EQ_FREE12(exp_cc, act_cc); @@ -228,7 +228,7 @@ TEST(MQ_flag_should_not_be_added_if_run_second_cpp_is_true) { Context ctx; - Args orig = args_init_from_string("cc -c -MD foo.c -MF foo.d -o foo.o"); + ctx.orig_args = Args::from_string("cc -c -MD foo.c -MF foo.d -o foo.o"); Args exp_cpp = args_init_from_string("cc"); Args exp_extra = args_init_from_string("-MD -MF foo.d"); Args exp_cc = args_init_from_string("cc -c -MD -MF foo.d"); @@ -237,7 +237,7 @@ TEST(MQ_flag_should_not_be_added_if_run_second_cpp_is_true) Args act_cc; create_file("foo.c", ""); - CHECK(!process_args(ctx, orig, act_cpp, act_extra, act_cc)); + CHECK(!process_args(ctx, act_cpp, act_extra, act_cc)); CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp); CHECK_ARGS_EQ_FREE12(exp_extra, act_extra); CHECK_ARGS_EQ_FREE12(exp_cc, act_cc); @@ -247,7 +247,7 @@ TEST(MQ_flag_should_be_added_if_run_second_cpp_is_false) { Context ctx; - Args orig = args_init_from_string("cc -c -MD foo.c -MF foo.d -o foo.o"); + ctx.orig_args = Args::from_string("cc -c -MD foo.c -MF foo.d -o foo.o"); Args exp_cpp = args_init_from_string("cc -MD -MF foo.d -MQ foo.o"); Args exp_extra = args_init(0, NULL); Args exp_cc = args_init_from_string("cc -c"); @@ -257,7 +257,7 @@ TEST(MQ_flag_should_be_added_if_run_second_cpp_is_false) create_file("foo.c", ""); ctx.config.set_run_second_cpp(false); - CHECK(!process_args(ctx, orig, act_cpp, act_extra, act_cc)); + CHECK(!process_args(ctx, act_cpp, act_extra, act_cc)); CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp); CHECK_ARGS_EQ_FREE12(exp_extra, act_extra); CHECK_ARGS_EQ_FREE12(exp_cc, act_cc); @@ -267,7 +267,7 @@ TEST(MF_should_be_added_if_run_second_cpp_is_false) { Context ctx; - Args orig = args_init_from_string("cc -c -MD foo.c -o foo.o"); + ctx.orig_args = Args::from_string("cc -c -MD foo.c -o foo.o"); Args exp_cpp = args_init_from_string("cc -MD -MF foo.d -MQ foo.o"); Args exp_extra = args_init(0, NULL); Args exp_cc = args_init_from_string("cc -c"); @@ -278,7 +278,7 @@ TEST(MF_should_be_added_if_run_second_cpp_is_false) create_file("foo.c", ""); ctx.config.set_run_second_cpp(false); - CHECK(!process_args(ctx, orig, act_cpp, act_extra, act_cc)); + CHECK(!process_args(ctx, act_cpp, act_extra, act_cc)); CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp); CHECK_ARGS_EQ_FREE12(exp_extra, act_extra); CHECK_ARGS_EQ_FREE12(exp_cc, act_cc); @@ -288,7 +288,7 @@ TEST(MF_should_not_be_added_if_run_second_cpp_is_true) { Context ctx; - Args orig = args_init_from_string("cc -c -MD foo.c -o foo.o"); + ctx.orig_args = Args::from_string("cc -c -MD foo.c -o foo.o"); Args exp_cpp = args_init_from_string("cc"); Args exp_extra = args_init_from_string("-MD"); Args exp_cc = args_init_from_string("cc -c -MD"); @@ -298,7 +298,7 @@ TEST(MF_should_not_be_added_if_run_second_cpp_is_true) create_file("foo.c", ""); - CHECK(!process_args(ctx, orig, act_cpp, act_extra, act_cc)); + CHECK(!process_args(ctx, act_cpp, act_extra, act_cc)); CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp); CHECK_ARGS_EQ_FREE12(exp_extra, act_extra); CHECK_ARGS_EQ_FREE12(exp_cc, act_cc); @@ -308,7 +308,7 @@ TEST(equal_sign_after_MF_should_be_removed) { Context ctx; - Args orig = args_init_from_string("cc -c -MF=path foo.c -o foo.o"); + ctx.orig_args = Args::from_string("cc -c -MF=path foo.c -o foo.o"); Args exp_cpp = args_init_from_string("cc"); Args exp_extra = args_init_from_string("-MFpath"); Args exp_cc = args_init_from_string("cc -c -MFpath"); @@ -318,7 +318,7 @@ TEST(equal_sign_after_MF_should_be_removed) create_file("foo.c", ""); - CHECK(!process_args(ctx, orig, act_cpp, act_extra, act_cc)); + CHECK(!process_args(ctx, act_cpp, act_extra, act_cc)); CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp); CHECK_ARGS_EQ_FREE12(exp_extra, act_extra); CHECK_ARGS_EQ_FREE12(exp_cc, act_cc); @@ -329,7 +329,6 @@ TEST(sysroot_should_be_rewritten_if_basedir_is_used) Context ctx; char* arg_string; - Args orig; Args act_cpp; Args act_extra; Args act_cc; @@ -338,10 +337,10 @@ TEST(sysroot_should_be_rewritten_if_basedir_is_used) ctx.config.set_base_dir(get_root()); arg_string = format("cc --sysroot=%s/foo/bar -c foo.c", ctx.actual_cwd.c_str()); - orig = args_init_from_string(arg_string); + ctx.orig_args = Args::from_string(arg_string); free(arg_string); - CHECK(!process_args(ctx, orig, act_cpp, act_extra, act_cc)); + CHECK(!process_args(ctx, act_cpp, act_extra, act_cc)); CHECK_STR_EQ(act_cpp->argv[1], "--sysroot=./foo/bar"); } @@ -350,7 +349,6 @@ TEST(sysroot_with_separate_argument_should_be_rewritten_if_basedir_is_used) Context ctx; char* arg_string; - Args orig; Args act_cpp; Args act_extra; Args act_cc; @@ -358,10 +356,10 @@ TEST(sysroot_with_separate_argument_should_be_rewritten_if_basedir_is_used) create_file("foo.c", ""); ctx.config.set_base_dir(get_root()); arg_string = format("cc --sysroot %s/foo -c foo.c", ctx.actual_cwd.c_str()); - orig = args_init_from_string(arg_string); + ctx.orig_args = Args::from_string(arg_string); free(arg_string); - CHECK(!process_args(ctx, orig, act_cpp, act_extra, act_cc)); + CHECK(!process_args(ctx, act_cpp, act_extra, act_cc)); CHECK_STR_EQ(act_cpp->argv[1], "--sysroot"); CHECK_STR_EQ(act_cpp->argv[2], "./foo"); } @@ -370,8 +368,8 @@ TEST(MF_flag_with_immediate_argument_should_work_as_last_argument) { Context ctx; - Args orig = - args_init_from_string("cc -c foo.c -o foo.o -MMD -MT bar -MFfoo.d"); + ctx.orig_args = + Args::from_string("cc -c foo.c -o foo.o -MMD -MT bar -MFfoo.d"); Args exp_cpp = args_init_from_string("cc"); Args exp_extra = args_init_from_string("-MMD -MT bar -MFfoo.d"); Args exp_cc = args_init_from_string("cc -c -MMD -MT bar -MFfoo.d"); @@ -381,7 +379,7 @@ TEST(MF_flag_with_immediate_argument_should_work_as_last_argument) create_file("foo.c", ""); - CHECK(!process_args(ctx, orig, act_cpp, act_extra, act_cc)); + CHECK(!process_args(ctx, act_cpp, act_extra, act_cc)); CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp); CHECK_ARGS_EQ_FREE12(exp_extra, act_extra); CHECK_ARGS_EQ_FREE12(exp_cc, act_cc); @@ -391,8 +389,8 @@ TEST(MT_flag_with_immediate_argument_should_work_as_last_argument) { Context ctx; - Args orig = - args_init_from_string("cc -c foo.c -o foo.o -MMD -MFfoo.d -MT foo -MTbar"); + ctx.orig_args = + Args::from_string("cc -c foo.c -o foo.o -MMD -MFfoo.d -MT foo -MTbar"); Args exp_cpp = args_init_from_string("cc"); Args exp_extra = args_init_from_string("-MMD -MFfoo.d -MT foo -MTbar"); Args exp_cc = args_init_from_string("cc -c -MMD -MFfoo.d -MT foo -MTbar"); @@ -402,7 +400,7 @@ TEST(MT_flag_with_immediate_argument_should_work_as_last_argument) create_file("foo.c", ""); - CHECK(!process_args(ctx, orig, act_cpp, act_extra, act_cc)); + CHECK(!process_args(ctx, act_cpp, act_extra, act_cc)); CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp); CHECK_ARGS_EQ_FREE12(exp_extra, act_extra); CHECK_ARGS_EQ_FREE12(exp_cc, act_cc); @@ -412,8 +410,8 @@ TEST(MQ_flag_with_immediate_argument_should_work_as_last_argument) { Context ctx; - Args orig = - args_init_from_string("cc -c foo.c -o foo.o -MMD -MFfoo.d -MQ foo -MQbar"); + ctx.orig_args = + Args::from_string("cc -c foo.c -o foo.o -MMD -MFfoo.d -MQ foo -MQbar"); Args exp_cpp = args_init_from_string("cc"); Args exp_extra = args_init_from_string("-MMD -MFfoo.d -MQ foo -MQbar"); Args exp_cc = args_init_from_string("cc -c -MMD -MFfoo.d -MQ foo -MQbar"); @@ -423,7 +421,7 @@ TEST(MQ_flag_with_immediate_argument_should_work_as_last_argument) create_file("foo.c", ""); - CHECK(!process_args(ctx, orig, act_cpp, act_extra, act_cc)); + CHECK(!process_args(ctx, act_cpp, act_extra, act_cc)); CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp); CHECK_ARGS_EQ_FREE12(exp_extra, act_extra); CHECK_ARGS_EQ_FREE12(exp_cc, act_cc); @@ -433,7 +431,8 @@ TEST(MQ_flag_without_immediate_argument_should_not_add_MQobj) { Context ctx; - Args orig = args_init_from_string("gcc -c -MD -MP -MFfoo.d -MQ foo.d foo.c"); + ctx.orig_args = + args_init_from_string("gcc -c -MD -MP -MFfoo.d -MQ foo.d foo.c"); Args exp_cpp = args_init_from_string("gcc"); Args exp_extra = args_init_from_string("-MD -MP -MFfoo.d -MQ foo.d"); Args exp_cc = args_init_from_string("gcc -c -MD -MP -MFfoo.d -MQ foo.d"); @@ -443,7 +442,7 @@ TEST(MQ_flag_without_immediate_argument_should_not_add_MQobj) create_file("foo.c", ""); - CHECK(!process_args(ctx, orig, act_cpp, act_extra, act_cc)); + CHECK(!process_args(ctx, act_cpp, act_extra, act_cc)); CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp); CHECK_ARGS_EQ_FREE12(exp_extra, act_extra); CHECK_ARGS_EQ_FREE12(exp_cc, act_cc); @@ -453,7 +452,8 @@ TEST(MT_flag_without_immediate_argument_should_not_add_MTobj) { Context ctx; - Args orig = args_init_from_string("gcc -c -MD -MP -MFfoo.d -MT foo.d foo.c"); + ctx.orig_args = + args_init_from_string("gcc -c -MD -MP -MFfoo.d -MT foo.d foo.c"); Args exp_cpp = args_init_from_string("gcc"); Args exp_extra = args_init_from_string("-MD -MP -MFfoo.d -MT foo.d"); Args exp_cc = args_init_from_string("gcc -c -MD -MP -MFfoo.d -MT foo.d"); @@ -463,7 +463,7 @@ TEST(MT_flag_without_immediate_argument_should_not_add_MTobj) create_file("foo.c", ""); - CHECK(!process_args(ctx, orig, act_cpp, act_extra, act_cc)); + CHECK(!process_args(ctx, act_cpp, act_extra, act_cc)); CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp); CHECK_ARGS_EQ_FREE12(exp_extra, act_extra); CHECK_ARGS_EQ_FREE12(exp_cc, act_cc); @@ -473,7 +473,8 @@ TEST(MQ_flag_with_immediate_argument_should_not_add_MQobj) { Context ctx; - Args orig = args_init_from_string("gcc -c -MD -MP -MFfoo.d -MQfoo.d foo.c"); + ctx.orig_args = + args_init_from_string("gcc -c -MD -MP -MFfoo.d -MQfoo.d foo.c"); Args exp_cpp = args_init_from_string("gcc"); Args exp_extra = args_init_from_string("-MD -MP -MFfoo.d -MQfoo.d"); Args exp_cc = args_init_from_string("gcc -c -MD -MP -MFfoo.d -MQfoo.d"); @@ -483,7 +484,7 @@ TEST(MQ_flag_with_immediate_argument_should_not_add_MQobj) create_file("foo.c", ""); - CHECK(!process_args(ctx, orig, act_cpp, act_extra, act_cc)); + CHECK(!process_args(ctx, act_cpp, act_extra, act_cc)); CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp); CHECK_ARGS_EQ_FREE12(exp_extra, act_extra); CHECK_ARGS_EQ_FREE12(exp_cc, act_cc); @@ -493,7 +494,8 @@ TEST(MT_flag_with_immediate_argument_should_not_add_MQobj) { Context ctx; - Args orig = args_init_from_string("gcc -c -MD -MP -MFfoo.d -MTfoo.d foo.c"); + ctx.orig_args = + args_init_from_string("gcc -c -MD -MP -MFfoo.d -MTfoo.d foo.c"); Args exp_cpp = args_init_from_string("gcc"); Args exp_extra = args_init_from_string("-MD -MP -MFfoo.d -MTfoo.d"); Args exp_cc = args_init_from_string("gcc -c -MD -MP -MFfoo.d -MTfoo.d"); @@ -503,7 +505,7 @@ TEST(MT_flag_with_immediate_argument_should_not_add_MQobj) create_file("foo.c", ""); - CHECK(!process_args(ctx, orig, act_cpp, act_extra, act_cc)); + CHECK(!process_args(ctx, act_cpp, act_extra, act_cc)); CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp); CHECK_ARGS_EQ_FREE12(exp_extra, act_extra); CHECK_ARGS_EQ_FREE12(exp_cc, act_cc); @@ -514,7 +516,6 @@ TEST(isystem_flag_with_separate_arg_should_be_rewritten_if_basedir_is_used) Context ctx; char* arg_string; - Args orig; Args act_cpp; Args act_extra; Args act_cc; @@ -522,10 +523,10 @@ TEST(isystem_flag_with_separate_arg_should_be_rewritten_if_basedir_is_used) create_file("foo.c", ""); ctx.config.set_base_dir(get_root()); arg_string = format("cc -isystem %s/foo -c foo.c", ctx.actual_cwd.c_str()); - orig = args_init_from_string(arg_string); + ctx.orig_args = Args::from_string(arg_string); free(arg_string); - CHECK(!process_args(ctx, orig, act_cpp, act_extra, act_cc)); + CHECK(!process_args(ctx, act_cpp, act_extra, act_cc)); CHECK_STR_EQ("./foo", act_cpp->argv[2]); } @@ -535,7 +536,6 @@ TEST(isystem_flag_with_concat_arg_should_be_rewritten_if_basedir_is_used) char* cwd; char* arg_string; - Args orig; Args act_cpp; Args act_extra; Args act_cc; @@ -545,10 +545,10 @@ TEST(isystem_flag_with_concat_arg_should_be_rewritten_if_basedir_is_used) // Windows path doesn't work concatenated. cwd = get_posix_path(ctx.actual_cwd.c_str()); arg_string = format("cc -isystem%s/foo -c foo.c", cwd); - orig = args_init_from_string(arg_string); + ctx.orig_args = Args::from_string(arg_string); free(arg_string); - CHECK(!process_args(ctx, orig, act_cpp, act_extra, act_cc)); + CHECK(!process_args(ctx, act_cpp, act_extra, act_cc)); CHECK_STR_EQ("-isystem./foo", act_cpp->argv[1]); free(cwd); @@ -560,7 +560,6 @@ TEST(I_flag_with_concat_arg_should_be_rewritten_if_basedir_is_used) char* cwd; char* arg_string; - Args orig; Args act_cpp; Args act_extra; Args act_cc; @@ -570,10 +569,10 @@ TEST(I_flag_with_concat_arg_should_be_rewritten_if_basedir_is_used) // Windows path doesn't work concatenated. cwd = get_posix_path(ctx.actual_cwd.c_str()); arg_string = format("cc -I%s/foo -c foo.c", cwd); - orig = args_init_from_string(arg_string); + ctx.orig_args = Args::from_string(arg_string); free(arg_string); - CHECK(!process_args(ctx, orig, act_cpp, act_extra, act_cc)); + CHECK(!process_args(ctx, act_cpp, act_extra, act_cc)); CHECK_STR_EQ("-I./foo", act_cpp->argv[1]); free(cwd); @@ -583,7 +582,7 @@ TEST(debug_flag_order_with_known_option_first) { Context ctx; - Args orig = args_init_from_string("cc -g1 -gsplit-dwarf foo.c -c"); + ctx.orig_args = Args::from_string("cc -g1 -gsplit-dwarf foo.c -c"); Args exp_cpp = args_init_from_string("cc -g1 -gsplit-dwarf"); Args exp_extra = args_init(0, NULL); Args exp_cc = args_init_from_string("cc -g1 -gsplit-dwarf -c"); @@ -592,7 +591,7 @@ TEST(debug_flag_order_with_known_option_first) Args act_cc; create_file("foo.c", ""); - CHECK(!process_args(ctx, orig, act_cpp, act_extra, act_cc)); + CHECK(!process_args(ctx, act_cpp, act_extra, act_cc)); CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp); CHECK_ARGS_EQ_FREE12(exp_extra, act_extra); CHECK_ARGS_EQ_FREE12(exp_cc, act_cc); @@ -602,7 +601,7 @@ TEST(debug_flag_order_with_known_option_last) { Context ctx; - Args orig = args_init_from_string("cc -gsplit-dwarf -g1 foo.c -c"); + ctx.orig_args = Args::from_string("cc -gsplit-dwarf -g1 foo.c -c"); Args exp_cpp = args_init_from_string("cc -gsplit-dwarf -g1"); Args exp_extra = args_init(0, NULL); Args exp_cc = args_init_from_string("cc -gsplit-dwarf -g1 -c"); @@ -611,7 +610,7 @@ TEST(debug_flag_order_with_known_option_last) Args act_cc; create_file("foo.c", ""); - CHECK(!process_args(ctx, orig, act_cpp, act_extra, act_cc)); + CHECK(!process_args(ctx, act_cpp, act_extra, act_cc)); CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp); CHECK_ARGS_EQ_FREE12(exp_extra, act_extra); CHECK_ARGS_EQ_FREE12(exp_cc, act_cc); @@ -621,7 +620,7 @@ TEST(options_not_to_be_passed_to_the_preprocesor) { Context ctx; - Args orig = args_init_from_string( + ctx.orig_args = Args::from_string( "cc -Wa,foo foo.c -g -c -DX -Werror -Xlinker fie -Xlinker,fum -Wno-error"); Args exp_cpp = args_init_from_string("cc -g -DX"); Args exp_extra = args_init_from_string( @@ -633,7 +632,7 @@ TEST(options_not_to_be_passed_to_the_preprocesor) Args act_cc; create_file("foo.c", ""); - CHECK(!process_args(ctx, orig, act_cpp, act_extra, act_cc)); + CHECK(!process_args(ctx, act_cpp, act_extra, act_cc)); CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp); CHECK_ARGS_EQ_FREE12(exp_extra, act_extra); CHECK_ARGS_EQ_FREE12(exp_cc, act_cc);