aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Driver/WindowsToolChain.cpp5
-rw-r--r--test/Driver/no-integrated-as-win.c3
2 files changed, 6 insertions, 2 deletions
diff --git a/lib/Driver/WindowsToolChain.cpp b/lib/Driver/WindowsToolChain.cpp
index b3fdb35d4c..ae782727e4 100644
--- a/lib/Driver/WindowsToolChain.cpp
+++ b/lib/Driver/WindowsToolChain.cpp
@@ -41,8 +41,9 @@ Tool *Windows::constructTool(Action::ActionClass AC) const {
case Action::AssembleJobClass:
if (getTriple().getEnvironment() == llvm::Triple::MachO)
return new tools::darwin::Assemble(*this);
- llvm_unreachable("We only have the integrated assembler on this TC");
- break;
+ // There no assembler we can use on windows other than the integrated
+ // assembler, so we ignore -no-integrated-as.
+ return new tools::ClangAs(*this);
case Action::LinkJobClass:
return new tools::visualstudio::Link(*this);
default:
diff --git a/test/Driver/no-integrated-as-win.c b/test/Driver/no-integrated-as-win.c
new file mode 100644
index 0000000000..5e170bd90b
--- /dev/null
+++ b/test/Driver/no-integrated-as-win.c
@@ -0,0 +1,3 @@
+// RUN: %clang -target x86_64-pc-win32 -no-integrated-as %s -c -v 2>&1 | FileCheck %s
+
+// CHECK: cc1as -triple x86_64-pc-win32