diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp index 75300b5307e0..a4aa2ed02509 100644 --- a/clang/lib/Driver/Driver.cpp +++ b/clang/lib/Driver/Driver.cpp @@ -1225,17 +1225,9 @@ static const Tool &SelectToolForJob(Compilation &C, const ToolChain *TC, // bottom up, so what we are actually looking for is an assembler job with a // compiler input. - // FIXME: This doesn't belong here, but ideally we will support static soon - // anyway. - bool HasStatic = (C.getArgs().hasArg(options::OPT_mkernel) || - C.getArgs().hasArg(options::OPT_static) || - C.getArgs().hasArg(options::OPT_fapple_kext)); - bool IsDarwin = TC->getTriple().isOSDarwin(); - bool IsIADefault = TC->IsIntegratedAssemblerDefault() && - !(HasStatic && IsDarwin); if (C.getArgs().hasFlag(options::OPT_integrated_as, - options::OPT_no_integrated_as, - IsIADefault) && + options::OPT_no_integrated_as, + TC->IsIntegratedAssemblerDefault()) && !C.getArgs().hasArg(options::OPT_save_temps) && isa(JA) && Inputs->size() == 1 && isa(*Inputs->begin())) { diff --git a/clang/lib/Driver/ToolChains.cpp b/clang/lib/Driver/ToolChains.cpp index dd92266ec67e..d88017ff78bb 100644 --- a/clang/lib/Driver/ToolChains.cpp +++ b/clang/lib/Driver/ToolChains.cpp @@ -210,15 +210,9 @@ Tool &Darwin::SelectTool(const Compilation &C, const JobAction &JA, } else Key = JA.getKind(); - // FIXME: This doesn't belong here, but ideally we will support static soon - // anyway. - bool HasStatic = (C.getArgs().hasArg(options::OPT_mkernel) || - C.getArgs().hasArg(options::OPT_static) || - C.getArgs().hasArg(options::OPT_fapple_kext)); - bool IsIADefault = IsIntegratedAssemblerDefault() && !HasStatic; bool UseIntegratedAs = C.getArgs().hasFlag(options::OPT_integrated_as, options::OPT_no_integrated_as, - IsIADefault); + IsIntegratedAssemblerDefault()); Tool *&T = Tools[Key]; if (!T) { diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 75fb710dcb17..4db6d007fcf5 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -1036,17 +1036,9 @@ static bool ShouldDisableCFI(const ArgList &Args, if (TC.getTriple().isOSDarwin()) { // The native darwin assembler doesn't support cfi directives, so // we disable them if we think the .s file will be passed to it. - - // FIXME: Duplicated code with ToolChains.cpp - // FIXME: This doesn't belong here, but ideally we will support static soon - // anyway. - bool HasStatic = (Args.hasArg(options::OPT_mkernel) || - Args.hasArg(options::OPT_static) || - Args.hasArg(options::OPT_fapple_kext)); - bool IsIADefault = TC.IsIntegratedAssemblerDefault() && !HasStatic; bool UseIntegratedAs = Args.hasFlag(options::OPT_integrated_as, options::OPT_no_integrated_as, - IsIADefault); + TC.IsIntegratedAssemblerDefault()); bool UseCFI = Args.hasFlag(options::OPT_fdwarf2_cfi_asm, options::OPT_fno_dwarf2_cfi_asm, UseIntegratedAs); diff --git a/clang/test/Driver/cfi.c b/clang/test/Driver/cfi.c index b5c0c03e7a49..36924b4e385d 100644 --- a/clang/test/Driver/cfi.c +++ b/clang/test/Driver/cfi.c @@ -1,4 +1,5 @@ -// RUN: %clang -ccc-host-triple i386-apple-darwin10 -static -### %s 2>&1 | \ +// RUN: %clang -ccc-host-triple i386-apple-darwin10 \ +// RUN: -no-integrated-as -### %s 2>&1 | \ // RUN: FileCheck --check-prefix=CHECK-DARWIN %s // RUN: %clang -ccc-host-triple i386-pc-linux-gnu -static -### %s 2>&1 | \ diff --git a/clang/test/Driver/darwin-as.c b/clang/test/Driver/darwin-as.c index 7d4cdbfcd379..655319a13e05 100644 --- a/clang/test/Driver/darwin-as.c +++ b/clang/test/Driver/darwin-as.c @@ -1,9 +1,11 @@ -// RUN: %clang -ccc-host-triple i386-apple-darwin10 -### -x assembler -c %s -static -dynamic 2>%t +// RUN: %clang -ccc-host-triple i386-apple-darwin10 -### -x assembler -c %s \ +// RUN: -no-integrated-as -static -dynamic 2>%t // RUN: FileCheck -check-prefix=STATIC_AND_DYNAMIC-32 --input-file %t %s // // CHECK-STATIC_AND_DYNAMIC-32: as{{(.exe)?}}" "-arch" "i386" "-force_cpusubtype_ALL" "-static" "-o" -// RUN: %clang -ccc-host-triple x86_64-apple-darwin10 -### -x assembler -c %s -static 2>%t +// RUN: %clang -ccc-host-triple x86_64-apple-darwin10 -### -x assembler -c %s \ +// RUN: -no-integrated-as -static 2>%t // RUN: FileCheck -check-prefix=STATIC-64 --input-file %t %s // // CHECK-STATIC-64: as{{(.exe)?}}" "-arch" "x86_64" "-force_cpusubtype_ALL" "-o" @@ -13,4 +15,3 @@ // RUN: FileCheck -check-prefix=ARMV6 --input-file %t %s // // CHECK-ARMV6: as{{(.exe)?}}" "-arch" "armv6" "-o" -