]> granicus.if.org Git - clang/commitdiff
clang-check to ignore -no-integrated-as because certain drivers can't handle it
authorArtyom Skrobov <Artyom.Skrobov@arm.com>
Fri, 13 Dec 2013 13:43:48 +0000 (13:43 +0000)
committerArtyom Skrobov <Artyom.Skrobov@arm.com>
Fri, 13 Dec 2013 13:43:48 +0000 (13:43 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197229 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Tooling/CompilationDatabase.cpp
test/Tooling/multi-jobs.cpp

index 286beb7ae2689249148bf5b7924bbd7f8f8ab376..7bbae12dbf50f92169aa420e01d0b3be39156c22 100644 (file)
@@ -204,8 +204,8 @@ private:
 ///          \li true if successful.
 ///          \li false if \c Args cannot be used for compilation jobs (e.g.
 ///          contains an option like -E or -version).
-bool stripPositionalArgs(std::vector<const char *> Args,
-                         std::vector<std::string> &Result) {
+static bool stripPositionalArgs(std::vector<const char *> Args,
+                                std::vector<std::string> &Result) {
   IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
   UnusedInputDiagConsumer DiagClient;
   DiagnosticsEngine Diagnostics(
@@ -237,6 +237,10 @@ bool stripPositionalArgs(std::vector<const char *> Args,
   // up with no jobs but then this is the user's fault.
   Args.push_back("placeholder.cpp");
 
+  // Remove -no-integrated-as; it's not used for syntax checking,
+  // and it confuses targets which don't support this option.
+  std::remove_if(Args.begin(), Args.end(), MatchesAny(std::string("no-integrated-as")));
+
   const OwningPtr<driver::Compilation> Compilation(
       NewDriver->BuildCompilation(Args));
 
index cef84439f0da9fefa124593e1b1e587204fb4180..db8e9494083921ee69eb1dbe1df160639f89698e 100644 (file)
@@ -2,6 +2,3 @@
 
 // CHECK: C++ requires
 invalid;
-
-// MSVC targeted drivers (*-win32) are incapable of invoking external assembler.
-// XFAIL: win32