aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-03-19 14:23:00 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-03-19 14:23:00 +0000
commitccc45d2e9336d3177268ed9e23e5f5fad5e8ff2b (patch)
tree4a0c0085ac3f89f4855a7f8489e5fc38dd1912f5
parent7d0d85f38854b085bfe5c1bd4870126359f578c6 (diff)
Go back to using the integrated assembler on windows ever when passed
-no-integrated-as. It is the only assembler we have there. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177398 91177308-0d34-0410-b5e6-96231b3b80d8
-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