]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
feat: Add support for MSVC /TC and /TP options (#1499)
authorhuangqinjin <huangqinjin@gmail.com>
Tue, 10 Sep 2024 17:33:53 +0000 (01:33 +0800)
committerGitHub <noreply@github.com>
Tue, 10 Sep 2024 17:33:53 +0000 (19:33 +0200)
src/ccache/argprocessing.cpp

index c72dcd2f7104c1992ec1362b476fbd7d17f5e7b3..6255a92d52f33e6965c81b2ed45a8e5a78b9dc8a 100644 (file)
@@ -608,6 +608,18 @@ process_option_arg(const Context& ctx,
       state.input_files.emplace_back(arg.substr(3));
       return Statistic::none;
     }
+
+    if (arg == "-TC") {
+      args_info.actual_language = "c";
+      state.common_args.push_back(args[i]);
+      return Statistic::none;
+    }
+
+    if (arg == "-TP") {
+      args_info.actual_language = "c++";
+      state.common_args.push_back(args[i]);
+      return Statistic::none;
+    }
   }
 
   // when using nvcc with separable compilation, -dc implies -c
@@ -1439,7 +1451,7 @@ process_args(Context& ctx)
       return tl::unexpected(Statistic::unsupported_source_language);
     }
     args_info.actual_language = state.explicit_language;
-  } else {
+  } else if (args_info.actual_language.empty()) {
     args_info.actual_language =
       language_for_file(args_info.input_file, config.compiler_type());
   }