]> granicus.if.org Git - clang/commitdiff
Use integrated-as for processing .s files on FreeBSD. Copied
authorRoman Divacky <rdivacky@freebsd.org>
Mon, 8 Nov 2010 17:46:39 +0000 (17:46 +0000)
committerRoman Divacky <rdivacky@freebsd.org>
Mon, 8 Nov 2010 17:46:39 +0000 (17:46 +0000)
from Linux/OpenBSD code.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118419 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Driver/ToolChains.cpp

index 6a1566636267443133011bfa68ff6a00c74224d6..07ab226ad67bf1ad146abc9575c16cb635758ec5 100644 (file)
@@ -1098,11 +1098,18 @@ Tool &FreeBSD::SelectTool(const Compilation &C, const JobAction &JA) const {
   else
     Key = JA.getKind();
 
+  bool UseIntegratedAs = C.getArgs().hasFlag(options::OPT_integrated_as,
+                                             options::OPT_no_integrated_as,
+                                             IsIntegratedAssemblerDefault());
+
   Tool *&T = Tools[Key];
   if (!T) {
     switch (Key) {
     case Action::AssembleJobClass:
-      T = new tools::freebsd::Assemble(*this); break;
+      if (UseIntegratedAs)
+        T = new tools::ClangAs(*this);
+      else
+        T = new tools::freebsd::Assemble(*this);
     case Action::LinkJobClass:
       T = new tools::freebsd::Link(*this); break;
     default: