]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
Recognize concatenated form of some compiler options
authorJoel Rosdahl <joel@rosdahl.net>
Sat, 5 Sep 2015 20:16:37 +0000 (22:16 +0200)
committerJoel Rosdahl <joel@rosdahl.net>
Sat, 5 Sep 2015 20:16:37 +0000 (22:16 +0200)
GCC apparently accepts "-isystemfoo" instead of "-isystem foo" even
though only the latter is documented.

NEWS.txt
compopt.c

index f979e708f8be86ceb25653567597b5ce95642d47..370428277fe0065a1ed2c37909b61d6f4cfe9587 100644 (file)
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -17,6 +17,9 @@ Bug fixes
 - Improved signal handling: Kill compiler on SIGTERM; wait for compiler to exit
   before exiting; die appropriately.
 
+- Recognize concatenated form of some compiler options, for instance when using
+  `-isystemfoo` instead of `-isystem foo`.
+
 
 ccache 3.2.3
 ------------
index e5b3e0a3914cf8726bde94c0169f007db92beba1..cb0a312c093e94b47115eb7f4318bf048128a09e 100644 (file)
--- a/compopt.c
+++ b/compopt.c
@@ -61,25 +61,26 @@ static const struct compopt compopts[] = {
        {"-fplugin=libcc1plugin", TOO_HARD}, /* interaction with GDB */
        {"-frepo",          TOO_HARD},
        {"-fworking-directory", AFFECTS_CPP},
-       {"-idirafter",      AFFECTS_CPP | TAKES_ARG | TAKES_PATH},
+       {"-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_PATH},
-       {"-imultilib",      AFFECTS_CPP | TAKES_ARG | TAKES_PATH},
-       {"-include",        AFFECTS_CPP | TAKES_ARG | TAKES_PATH},
-       {"-include-pch",    AFFECTS_CPP | TAKES_ARG | TAKES_PATH},
+       {"-imacros",        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},
        {"-install_name",   TAKES_ARG}, /* Darwin linker option */
-       {"-iprefix",        AFFECTS_CPP | TAKES_ARG | TAKES_PATH},
-       {"-iquote",         AFFECTS_CPP | TAKES_ARG | TAKES_PATH},
-       {"-isysroot",       AFFECTS_CPP | TAKES_ARG | TAKES_PATH},
-       {"-isystem",        AFFECTS_CPP | TAKES_ARG | TAKES_PATH},
-       {"-iwithprefix",    AFFECTS_CPP | TAKES_ARG | TAKES_PATH},
-       {"-iwithprefixbefore", AFFECTS_CPP | TAKES_ARG | TAKES_PATH},
+       {"-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},
+       {"-iwithprefix",    AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
+       {"-iwithprefixbefore",
+                           AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
        {"-nostdinc",       AFFECTS_CPP},
        {"-nostdinc++",     AFFECTS_CPP},
        {"-remap",          AFFECTS_CPP},
        {"-save-temps",     TOO_HARD},
        {"-trigraphs",      AFFECTS_CPP},
-       {"-u",              TAKES_ARG},
+       {"-u",              TAKES_ARG | TAKES_CONCAT_ARG},
 };