]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
Merge branch 'maint'
authorJoel Rosdahl <joel@rosdahl.net>
Sun, 28 Nov 2010 16:50:59 +0000 (17:50 +0100)
committerJoel Rosdahl <joel@rosdahl.net>
Sun, 28 Nov 2010 16:50:59 +0000 (17:50 +0100)
* maint:
  Prepare for version 3.1.3
  Handle -MFarg, -MTarg and -MQarg compiler options correctly

Conflicts:
test/test_argument_processing.c

1  2 
ccache.c
test/test_argument_processing.c

diff --cc ccache.c
Simple merge
index 8a9cf832ce546b68e40283949dc9eb0567154f61,7408c4aebeb26b65092232b097c1e4047ffc34b7..2514eb3856322fd5d38916e7e28f681479d0c3a3
@@@ -57,28 -57,21 +57,45 @@@ TEST(dependency_flags_should_only_be_se
        args_free(orig);
  }
  
+ TEST(dependency_flags_that_take_an_argument_should_not_require_space_delimiter)
+ {
+       struct args *orig = args_init_from_string(
+               "cc -c -MMD -MFfoo.d -MTmt -MQmq foo.c -o foo.o");
+       struct args *exp_cpp = args_init_from_string(
+               "cc -c -MMD -MFfoo.d -MTmt -MQmq");
+       struct args *exp_cc = args_init_from_string("cc -c");
+       struct args *act_cpp = NULL, *act_cc = NULL;
+       create_file("foo.c", "");
+       CHECK(cc_process_args(orig, &act_cpp, &act_cc));
+       CHECK_ARGS_EQ_FREE12(exp_cpp, act_cpp);
+       CHECK_ARGS_EQ_FREE12(exp_cc, act_cc);
+       args_free(orig);
+ }
 +TEST(sysroot_should_be_rewritten_if_basedir_is_used)
 +{
 +      extern char *base_dir;
 +      extern char *current_working_dir;
 +      struct args *orig =
 +              args_init_from_string("cc --sysroot=/some/directory -c foo.c");
 +      struct args *act_cpp = NULL, *act_cc = NULL;
 +      create_file("foo.c", "");
 +
 +      CHECK(cc_process_args(orig, &act_cpp, &act_cc));
 +      CHECK_STR_EQ(act_cpp->argv[1], "--sysroot=/some/directory");
 +
 +      cc_reset();
 +      base_dir = "/some";
 +      current_working_dir = get_cwd();
 +
 +      CHECK(cc_process_args(orig, &act_cpp, &act_cc));
 +      CHECK(str_startswith(act_cpp->argv[1], "--sysroot=../"));
 +
 +      args_free(orig);
 +      base_dir = NULL;
 +      current_working_dir = NULL;
 +}
 +
  TEST_SUITE_END