Commit 7c40da76 authored by Tom Stellard's avatar Tom Stellard
Browse files

Merging r196981:

------------------------------------------------------------------------
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

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

llvm-svn: 206067
parent 1b4f99d6
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -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))
  // 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 ||
+8 −2
Original line number Diff line number Diff line
// 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
//