]> granicus.if.org Git - clang/commitdiff
Merging r196981:
authorTom Stellard <thomas.stellard@amd.com>
Fri, 11 Apr 2014 20:31:24 +0000 (20:31 +0000)
committerTom Stellard <thomas.stellard@amd.com>
Fri, 11 Apr 2014 20:31:24 +0000 (20:31 +0000)
------------------------------------------------------------------------
r196981 | fang | 2013-12-10 17:51:25 -0500 (Tue, 10 Dec 2013) | 2 lines

darwin asm driver: suppress -Q for -no-integrated-as on darwin<11

------------------------------------------------------------------------

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

lib/Driver/Tools.cpp
test/Driver/darwin-as.c

index 5093ae10159c19d0b9f5ab60817a0f79b6b51c31..b013eb510c4e28c8222637f0772e14a890d9bb22 100644 (file)
@@ -4604,8 +4604,14 @@ void darwin::Assemble::ConstructJob(Compilation &C, const JobAction &JA,
 
   // If -no_integrated_as is used add -Q to the darwin assember driver to make
   // sure it runs its system assembler not clang's integrated assembler.
-  if (Args.hasArg(options::OPT_no_integrated_as))
-    CmdArgs.push_back("-Q");
+  // Applicable to darwin11+ and Xcode 4+.  darwin<10 lacked integrated-as.
+  // FIXME: at run-time detect assembler capabilities or rely on version
+  // information forwarded by -target-assembler-version (future)
+  if (Args.hasArg(options::OPT_no_integrated_as)) {
+    const llvm::Triple& t(getToolChain().getTriple());
+    if (!(t.isMacOSX() && t.isMacOSXVersionLT(10, 7)))
+      CmdArgs.push_back("-Q");
+  }
 
   // Forward -g, assuming we are dealing with an actual assembly file.
   if (SourceAction->getType() == types::TY_Asm ||
index 58c850eb9b458d27e6552ce0a81740ee971a18c1..e35391eea737e20d33e5487d15534b32282fe8df 100644 (file)
@@ -1,16 +1,22 @@
 // RUN: %clang -target i386-apple-darwin10 -### -x assembler -c %s \
 // RUN:   -no-integrated-as -static -dynamic 2>%t
+// RUN: FileCheck -check-prefix=CHECK-STATIC_AND_DYNAMIC-32-DARWIN10 --input-file %t %s
+//
+// CHECK-STATIC_AND_DYNAMIC-32-DARWIN10: as{{(.exe)?}}" "-arch" "i386" "-force_cpusubtype_ALL" "-static" "-o"
+
+// RUN: %clang -target i386-apple-darwin11 -### -x assembler -c %s \
+// RUN:   -no-integrated-as -static -dynamic 2>%t
 // RUN: FileCheck -check-prefix=CHECK-STATIC_AND_DYNAMIC-32 --input-file %t %s
 //
 // CHECK-STATIC_AND_DYNAMIC-32: as{{(.exe)?}}" "-Q" "-arch" "i386" "-force_cpusubtype_ALL" "-static" "-o"
 
-// RUN: %clang -target x86_64-apple-darwin10 -### -x assembler -c %s \
+// RUN: %clang -target x86_64-apple-darwin11 -### -x assembler -c %s \
 // RUN:   -no-integrated-as -static 2>%t
 // RUN: FileCheck -check-prefix=CHECK-STATIC-64 --input-file %t %s
 //
 // CHECK-STATIC-64: as{{(.exe)?}}" "-Q" "-arch" "x86_64" "-force_cpusubtype_ALL" "-o"
 
-// RUN: %clang -target x86_64-apple-darwin10 -### \
+// RUN: %clang -target x86_64-apple-darwin11 -### \
 // RUN:   -arch armv6 -no-integrated-as -x assembler -c %s 2>%t
 // RUN: FileCheck -check-prefix=CHECK-ARMV6 --input-file %t %s
 //