On Mon, Oct 15, 2012 at 4:33 PM, Daniel Dunbar <[email protected]> wrote: > On Mon, Oct 15, 2012 at 4:21 PM, Nico Weber <[email protected]> wrote: >> On Mon, Oct 15, 2012 at 3:45 PM, Daniel Dunbar <[email protected]> >> wrote: >>> There is a fix, in 165986. Just separated it into a different commit. >> >> Ah, I didn't see that. Thanks! >> >> (ps: This seems to work for me, but I need to build a few times for it >> to work. I get intermittent failures while building compiler-rt the >> first few tries. Repro: `make clean && make -j16` in the llvm root >> directory.) > > That's bad. Can you give me more information on what the intermittent > failures look like?
It just dies, without much output (last time I looked at the compiler-rt build, I think it redirected error output of some commands to /dev/null): ARCHIVE: clang_darwin/cc_kext_ios5/armv7: /Volumes/MacintoshHD2/src/llvm-svn/tools/clang/runtime/compiler-rt/clang_darwin/cc_kext_ios5/armv7/libcompiler_rt.a ARCHIVE: clang_darwin/profile_osx/x86_64: /Volumes/MacintoshHD2/src/llvm-svn/tools/clang/runtime/compiler-rt/clang_darwin/profile_osx/x86_64/libcompiler_rt.a ARCHIVE: clang_darwin/profile_osx/i386: /Volumes/MacintoshHD2/src/llvm-svn/tools/clang/runtime/compiler-rt/clang_darwin/profile_osx/i386/libcompiler_rt.a make[3]: *** [/Volumes/MacintoshHD2/src/llvm-svn/tools/clang/runtime/compiler-rt/clang_darwin/cc_kext/armv7/libcompiler_rt.a] Error 1 make[3]: *** Waiting for unfinished jobs.... make[3]: *** [/Volumes/MacintoshHD2/src/llvm-svn/tools/clang/runtime/compiler-rt/clang_darwin/cc_kext_ios5/armv7/libcompiler_rt.a] Error 1 make[2]: *** [BuildRuntimeLibraries] Error 2 rm /Volumes/MacintoshHD2/src/llvm-svn/Release+Asserts/lib/clang/3.2/lib/darwin/.dir make[1]: *** [compiler-rt/.makeall] Error 2 Where it dies varies a bit, I think it's different when running `make` in llvm/ or llvm/tools/clang (but always somewhere towards the end of comipler-rt). Sometimes it needs more than one build after that, this time it just needed one more. Full log at http://pastebin.com/KRC64Vkz > > I'll try to repro locally as well. > > - Daniel > >> >>> >>> - Daniel >>> >>> >>> On Oct 15, 2012, at 15:42, Nico Weber <[email protected]> wrote: >>> >>>> Why reland this without a build fix? >>>> >>>> On Mon, Oct 15, 2012 at 3:23 PM, Daniel Dunbar <[email protected]> wrote: >>>>> Author: ddunbar >>>>> Date: Mon Oct 15 17:23:53 2012 >>>>> New Revision: 165988 >>>>> >>>>> URL: http://llvm.org/viewvc/llvm-project?rev=165988&view=rev >>>>> Log: >>>>> Un-revert r164907 and r164902 (+ follow-ups), 10.6 build fix to follow. >>>>> >>>>> Added: >>>>> cfe/trunk/test/CodeGenObjC/optimized-setter-ios-device.m >>>>> - copied, changed from r165977, >>>>> cfe/trunk/test/CodeGenObjC/optimized-setter.m >>>>> cfe/trunk/test/CodeGenObjC/unoptimized-setter.m >>>>> - copied, changed from r165977, >>>>> cfe/trunk/test/CodeGenObjC/optimized-setter.m >>>>> Modified: >>>>> cfe/trunk/include/clang/Basic/ObjCRuntime.h >>>>> cfe/trunk/lib/CodeGen/CGObjC.cpp >>>>> cfe/trunk/lib/Driver/ToolChains.cpp >>>>> cfe/trunk/lib/Driver/Tools.cpp >>>>> cfe/trunk/lib/Sema/SemaExpr.cpp >>>>> cfe/trunk/runtime/compiler-rt/Makefile >>>>> cfe/trunk/test/CodeGenObjC/optimized-setter.m >>>>> cfe/trunk/test/Driver/darwin-ld.c >>>>> cfe/trunk/test/Driver/pic.c >>>>> >>>>> Modified: cfe/trunk/include/clang/Basic/ObjCRuntime.h >>>>> URL: >>>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/ObjCRuntime.h?rev=165988&r1=165987&r2=165988&view=diff >>>>> ============================================================================== >>>>> --- cfe/trunk/include/clang/Basic/ObjCRuntime.h (original) >>>>> +++ cfe/trunk/include/clang/Basic/ObjCRuntime.h Mon Oct 15 17:23:53 2012 >>>>> @@ -157,6 +157,19 @@ >>>>> llvm_unreachable("bad kind"); >>>>> } >>>>> >>>>> + /// \brief Does this runtime supports optimized setter entrypoints? >>>>> + bool hasOptimizedSetter() const { >>>>> + switch (getKind()) { >>>>> + case MacOSX: >>>>> + return getVersion() >= VersionTuple(10, 8); >>>>> + case iOS: >>>>> + return (getVersion() >= VersionTuple(6)); >>>>> + >>>>> + default: >>>>> + return false; >>>>> + } >>>>> + } >>>>> + >>>>> /// Does this runtime allow the use of __weak? >>>>> bool allowsWeak() const { >>>>> return hasNativeWeak(); >>>>> @@ -177,7 +190,7 @@ >>>>> switch (getKind()) { >>>>> case FragileMacOSX: return false; >>>>> case MacOSX: return getVersion() >= VersionTuple(10, 8); >>>>> - case iOS: return false; >>>>> + case iOS: return getVersion() >= VersionTuple(6); >>>>> >>>>> // This is really a lie, because some implementations and versions >>>>> // of the runtime do not support ARC. Probably -fgnu-runtime >>>>> >>>>> Modified: cfe/trunk/lib/CodeGen/CGObjC.cpp >>>>> URL: >>>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGObjC.cpp?rev=165988&r1=165987&r2=165988&view=diff >>>>> ============================================================================== >>>>> --- cfe/trunk/lib/CodeGen/CGObjC.cpp (original) >>>>> +++ cfe/trunk/lib/CodeGen/CGObjC.cpp Mon Oct 15 17:23:53 2012 >>>>> @@ -1041,12 +1041,7 @@ >>>>> static bool UseOptimizedSetter(CodeGenModule &CGM) { >>>>> if (CGM.getLangOpts().getGC() != LangOptions::NonGC) >>>>> return false; >>>>> - const TargetInfo &Target = CGM.getContext().getTargetInfo(); >>>>> - >>>>> - if (Target.getPlatformName() != "macosx") >>>>> - return false; >>>>> - >>>>> - return Target.getPlatformMinVersion() >= VersionTuple(10, 8); >>>>> + return CGM.getLangOpts().ObjCRuntime.hasOptimizedSetter(); >>>>> } >>>>> >>>>> void >>>>> @@ -1106,7 +1101,7 @@ >>>>> llvm::Value *setOptimizedPropertyFn = 0; >>>>> llvm::Value *setPropertyFn = 0; >>>>> if (UseOptimizedSetter(CGM)) { >>>>> - // 10.8 code and GC is off >>>>> + // 10.8 and iOS 6.0 code and GC is off >>>>> setOptimizedPropertyFn = >>>>> CGM.getObjCRuntime() >>>>> .GetOptimizedPropertySetFunction(strategy.isAtomic(), >>>>> >>>>> Modified: cfe/trunk/lib/Driver/ToolChains.cpp >>>>> URL: >>>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains.cpp?rev=165988&r1=165987&r2=165988&view=diff >>>>> ============================================================================== >>>>> --- cfe/trunk/lib/Driver/ToolChains.cpp (original) >>>>> +++ cfe/trunk/lib/Driver/ToolChains.cpp Mon Oct 15 17:23:53 2012 >>>>> @@ -332,7 +332,9 @@ >>>>> >>>>> // Darwin doesn't support real static executables, don't link any >>>>> runtime >>>>> // libraries with -static. >>>>> - if (Args.hasArg(options::OPT_static)) >>>>> + if (Args.hasArg(options::OPT_static) || >>>>> + Args.hasArg(options::OPT_fapple_kext) || >>>>> + Args.hasArg(options::OPT_mkernel)) >>>>> return; >>>>> >>>>> // Reject -static-libgcc for now, we can deal with this when and if >>>>> someone >>>>> @@ -676,7 +678,14 @@ >>>>> llvm::sys::Path P(getDriver().ResourceDir); >>>>> P.appendComponent("lib"); >>>>> P.appendComponent("darwin"); >>>>> - P.appendComponent("libclang_rt.cc_kext.a"); >>>>> + >>>>> + // Use the newer cc_kext for iOS ARM after 6.0. >>>>> + if (!isTargetIPhoneOS() || isTargetIOSSimulator() || >>>>> + !isIPhoneOSVersionLT(6, 0)) { >>>>> + P.appendComponent("libclang_rt.cc_kext.a"); >>>>> + } else { >>>>> + P.appendComponent("libclang_rt.cc_kext_ios5.a"); >>>>> + } >>>>> >>>>> // For now, allow missing resource libraries to support developers who >>>>> may >>>>> // not have compiler-rt checked out or integrated into their build. >>>>> @@ -902,6 +911,25 @@ >>>>> if (BoundArch) >>>>> AddDeploymentTarget(*DAL); >>>>> >>>>> + // For iOS 6, undo the translation to add -static for >>>>> -mkernel/-fapple-kext. >>>>> + // FIXME: It would be far better to avoid inserting those -static >>>>> arguments, >>>>> + // but we can't check the deployment target in the translation code >>>>> until >>>>> + // it is set here. >>>>> + if (isTargetIPhoneOS() && !isIPhoneOSVersionLT(6, 0)) { >>>>> + for (ArgList::iterator it = DAL->begin(), ie = DAL->end(); it != ie; >>>>> ) { >>>>> + Arg *A = *it; >>>>> + ++it; >>>>> + if (A->getOption().getID() != options::OPT_mkernel && >>>>> + A->getOption().getID() != options::OPT_fapple_kext) >>>>> + continue; >>>>> + assert(it != ie && "unexpected argument translation"); >>>>> + A = *it; >>>>> + assert(A->getOption().getID() == options::OPT_static && >>>>> + "missing expected -static argument"); >>>>> + it = DAL->getArgs().erase(it); >>>>> + } >>>>> + } >>>>> + >>>>> // Validate the C++ standard library choice. >>>>> CXXStdlibType Type = GetCXXStdlibType(*DAL); >>>>> if (Type == ToolChain::CST_Libcxx) { >>>>> >>>>> Modified: cfe/trunk/lib/Driver/Tools.cpp >>>>> URL: >>>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=165988&r1=165987&r2=165988&view=diff >>>>> ============================================================================== >>>>> --- cfe/trunk/lib/Driver/Tools.cpp (original) >>>>> +++ cfe/trunk/lib/Driver/Tools.cpp Mon Oct 15 17:23:53 2012 >>>>> @@ -674,7 +674,9 @@ >>>>> ArgStringList &CmdArgs, >>>>> bool KernelOrKext) const { >>>>> const Driver &D = getToolChain().getDriver(); >>>>> - llvm::Triple Triple = getToolChain().getTriple(); >>>>> + // Get the effective triple, which takes into account the deployment >>>>> target. >>>>> + std::string TripleStr = >>>>> getToolChain().ComputeEffectiveClangTriple(Args); >>>>> + llvm::Triple Triple(TripleStr); >>>>> >>>>> // Select the ABI to use. >>>>> // >>>>> @@ -759,8 +761,10 @@ >>>>> >>>>> // Kernel code has more strict alignment requirements. >>>>> if (KernelOrKext) { >>>>> - CmdArgs.push_back("-backend-option"); >>>>> - CmdArgs.push_back("-arm-long-calls"); >>>>> + if (Triple.getOS() != llvm::Triple::IOS || Triple.isOSVersionLT(6)) { >>>>> + CmdArgs.push_back("-backend-option"); >>>>> + CmdArgs.push_back("-arm-long-calls"); >>>>> + } >>>>> >>>>> CmdArgs.push_back("-backend-option"); >>>>> CmdArgs.push_back("-arm-strict-align"); >>>>> @@ -1697,7 +1701,11 @@ >>>>> } >>>>> // Note that these flags are trump-cards. Regardless of the order >>>>> w.r.t. the >>>>> // PIC or PIE options above, if these show up, PIC is disabled. >>>>> - if (Args.hasArg(options::OPT_mkernel)) >>>>> + llvm::Triple Triple(TripleStr); >>>>> + if ((Args.hasArg(options::OPT_mkernel) || >>>>> + Args.hasArg(options::OPT_fapple_kext)) && >>>>> + (Triple.getOS() != llvm::Triple::IOS || >>>>> + Triple.isOSVersionLT(6))) >>>>> PICDisabled = true; >>>>> if (Args.hasArg(options::OPT_static)) >>>>> PICDisabled = true; >>>>> @@ -3690,7 +3698,10 @@ >>>>> CheckCodeGenerationOptions(D, Args); >>>>> >>>>> // Derived from cc1 spec. >>>>> - if (!Args.hasArg(options::OPT_mkernel) && >>>>> !Args.hasArg(options::OPT_static) && >>>>> + if ((!Args.hasArg(options::OPT_mkernel) || >>>>> + (getDarwinToolChain().isTargetIPhoneOS() && >>>>> + !getDarwinToolChain().isIPhoneOSVersionLT(6, 0))) && >>>>> + !Args.hasArg(options::OPT_static) && >>>>> !Args.hasArg(options::OPT_mdynamic_no_pic)) >>>>> CmdArgs.push_back("-fPIC"); >>>>> >>>>> @@ -4144,9 +4155,11 @@ >>>>> CmdArgs.push_back("-force_cpusubtype_ALL"); >>>>> >>>>> if (getToolChain().getTriple().getArch() != llvm::Triple::x86_64 && >>>>> - (Args.hasArg(options::OPT_mkernel) || >>>>> - Args.hasArg(options::OPT_static) || >>>>> - Args.hasArg(options::OPT_fapple_kext))) >>>>> + (((Args.hasArg(options::OPT_mkernel) || >>>>> + Args.hasArg(options::OPT_fapple_kext)) && >>>>> + (!getDarwinToolChain().isTargetIPhoneOS() || >>>>> + getDarwinToolChain().isIPhoneOSVersionLT(6, 0))) || >>>>> + Args.hasArg(options::OPT_static))) >>>>> CmdArgs.push_back("-static"); >>>>> >>>>> Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, >>>>> @@ -4507,7 +4520,7 @@ >>>>> } else if (getDarwinToolChain().isTargetIPhoneOS()) { >>>>> if (getDarwinToolChain().isIPhoneOSVersionLT(3, 1)) >>>>> CmdArgs.push_back("-lcrt1.o"); >>>>> - else >>>>> + else if (getDarwinToolChain().isIPhoneOSVersionLT(6, 0)) >>>>> CmdArgs.push_back("-lcrt1.3.1.o"); >>>>> } else { >>>>> if (getDarwinToolChain().isMacosxVersionLT(10, 5)) >>>>> >>>>> Modified: cfe/trunk/lib/Sema/SemaExpr.cpp >>>>> URL: >>>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaExpr.cpp?rev=165988&r1=165987&r2=165988&view=diff >>>>> ============================================================================== >>>>> --- cfe/trunk/lib/Sema/SemaExpr.cpp (original) >>>>> +++ cfe/trunk/lib/Sema/SemaExpr.cpp Mon Oct 15 17:23:53 2012 >>>>> @@ -9770,11 +9770,8 @@ >>>>> >>>>> switch (ConvTy) { >>>>> case Compatible: >>>>> - DiagnoseAssignmentEnum(DstType, SrcType, SrcExpr); >>>>> - >>>>> - // XXX here with forced compatible cast >>>>> - >>>>> - return false; >>>>> + DiagnoseAssignmentEnum(DstType, SrcType, SrcExpr); >>>>> + return false; >>>>> >>>>> case PointerToInt: >>>>> DiagKind = diag::ext_typecheck_convert_pointer_int; >>>>> @@ -9857,7 +9854,6 @@ >>>>> DiagKind = diag::err_arc_weak_unavailable_assign; >>>>> break; >>>>> case Incompatible: >>>>> - // XXX here >>>>> DiagKind = diag::err_typecheck_convert_incompatible; >>>>> ConvHints.tryToFixConversion(SrcExpr, SrcType, DstType, *this); >>>>> MayHaveConvFixit = true; >>>>> >>>>> Modified: cfe/trunk/runtime/compiler-rt/Makefile >>>>> URL: >>>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/runtime/compiler-rt/Makefile?rev=165988&r1=165987&r2=165988&view=diff >>>>> ============================================================================== >>>>> --- cfe/trunk/runtime/compiler-rt/Makefile (original) >>>>> +++ cfe/trunk/runtime/compiler-rt/Makefile Mon Oct 15 17:23:53 2012 >>>>> @@ -74,9 +74,9 @@ >>>>> ifeq ($(OS),Darwin) >>>>> RuntimeDirs += darwin >>>>> RuntimeLibrary.darwin.Configs := \ >>>>> - eprintf.a 10.4.a osx.a cc_kext.a \ >>>>> + eprintf.a 10.4.a osx.a ios.a cc_kext.a cc_kext_ios5.a \ >>>>> asan_osx.a asan_osx_dynamic.dylib \ >>>>> - profile_osx.a >>>>> + profile_osx.a profile_ios.a >>>>> endif >>>>> >>>>> # On Linux, include a library which has all the runtime functions. >>>>> >>>>> Copied: cfe/trunk/test/CodeGenObjC/optimized-setter-ios-device.m (from >>>>> r165977, cfe/trunk/test/CodeGenObjC/optimized-setter.m) >>>>> URL: >>>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenObjC/optimized-setter-ios-device.m?p2=cfe/trunk/test/CodeGenObjC/optimized-setter-ios-device.m&p1=cfe/trunk/test/CodeGenObjC/optimized-setter.m&r1=165977&r2=165988&rev=165988&view=diff >>>>> ============================================================================== >>>>> --- cfe/trunk/test/CodeGenObjC/optimized-setter.m (original) >>>>> +++ cfe/trunk/test/CodeGenObjC/optimized-setter-ios-device.m Mon Oct 15 >>>>> 17:23:53 2012 >>>>> @@ -1,5 +1,5 @@ >>>>> -// RUN: %clang_cc1 %s -emit-llvm -triple x86_64-apple-macosx10.8.0 -o - >>>>> | FileCheck %s >>>>> -// rdar://10179974 >>>>> +// RUN: %clang_cc1 %s -emit-llvm -fobjc-runtime=ios-6.0.0 -triple >>>>> thumbv7-apple-ios6.0.0 -o - | FileCheck %s >>>>> +// rdar://11915017 >>>>> >>>>> @interface I >>>>> // void objc_setProperty_nonatomic(id self, SEL _cmd, id newValue, >>>>> ptrdiff_t offset); >>>>> @@ -26,8 +26,8 @@ >>>>> @synthesize atomicPropertyCopy; >>>>> @end >>>>> >>>>> -// CHECK: call void @objc_setProperty_nonatomic >>>>> -// CHECK: call void @objc_setProperty_nonatomic_copy >>>>> -// CHECK: call void @objc_setProperty_atomic >>>>> -// CHECK: call void @objc_setProperty_atomic_copy >>>>> +// CHECK: call arm_aapcscc void @objc_setProperty_nonatomic >>>>> +// CHECK: call arm_aapcscc void @objc_setProperty_nonatomic_copy >>>>> +// CHECK: call arm_aapcscc void @objc_setProperty_atomic >>>>> +// CHECK: call arm_aapcscc void @objc_setProperty_atomic_copy >>>>> >>>>> >>>>> Modified: cfe/trunk/test/CodeGenObjC/optimized-setter.m >>>>> URL: >>>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenObjC/optimized-setter.m?rev=165988&r1=165987&r2=165988&view=diff >>>>> ============================================================================== >>>>> --- cfe/trunk/test/CodeGenObjC/optimized-setter.m (original) >>>>> +++ cfe/trunk/test/CodeGenObjC/optimized-setter.m Mon Oct 15 17:23:53 2012 >>>>> @@ -1,4 +1,5 @@ >>>>> -// RUN: %clang_cc1 %s -emit-llvm -triple x86_64-apple-macosx10.8.0 -o - >>>>> | FileCheck %s >>>>> +// RUN: %clang_cc1 %s -emit-llvm -fobjc-runtime=macosx-10.8 -triple >>>>> x86_64-apple-macosx10.8.0 -o - | FileCheck %s >>>>> +// RUN: %clang_cc1 %s -emit-llvm -fobjc-runtime=ios-6.0.0 -triple >>>>> x86_64-apple-ios6.0.0 -o - | FileCheck %s >>>>> // rdar://10179974 >>>>> >>>>> @interface I >>>>> >>>>> Copied: cfe/trunk/test/CodeGenObjC/unoptimized-setter.m (from r165977, >>>>> cfe/trunk/test/CodeGenObjC/optimized-setter.m) >>>>> URL: >>>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenObjC/unoptimized-setter.m?p2=cfe/trunk/test/CodeGenObjC/unoptimized-setter.m&p1=cfe/trunk/test/CodeGenObjC/optimized-setter.m&r1=165977&r2=165988&rev=165988&view=diff >>>>> ============================================================================== >>>>> --- cfe/trunk/test/CodeGenObjC/optimized-setter.m (original) >>>>> +++ cfe/trunk/test/CodeGenObjC/unoptimized-setter.m Mon Oct 15 17:23:53 >>>>> 2012 >>>>> @@ -1,5 +1,5 @@ >>>>> -// RUN: %clang_cc1 %s -emit-llvm -triple x86_64-apple-macosx10.8.0 -o - >>>>> | FileCheck %s >>>>> -// rdar://10179974 >>>>> +// RUN: %clang_cc1 %s -emit-llvm -fobjc-runtime=macosx-10.6.0 -triple >>>>> x86_64-apple-macosx10.6.0 -o - | FileCheck %s >>>>> +// rdar://11858187 >>>>> >>>>> @interface I >>>>> // void objc_setProperty_nonatomic(id self, SEL _cmd, id newValue, >>>>> ptrdiff_t offset); >>>>> @@ -26,8 +26,7 @@ >>>>> @synthesize atomicPropertyCopy; >>>>> @end >>>>> >>>>> -// CHECK: call void @objc_setProperty_nonatomic >>>>> -// CHECK: call void @objc_setProperty_nonatomic_copy >>>>> -// CHECK: call void @objc_setProperty_atomic >>>>> -// CHECK: call void @objc_setProperty_atomic_copy >>>>> - >>>>> +// CHECK-NOT: call void @objc_setProperty_nonatomic >>>>> +// CHECK-NOT: call void @objc_setProperty_nonatomic_copy >>>>> +// CHECK-NOT: call void @objc_setProperty_atomic >>>>> +// CHECK-NOT: call void @objc_setProperty_atomic_copy >>>>> >>>>> Modified: cfe/trunk/test/Driver/darwin-ld.c >>>>> URL: >>>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/darwin-ld.c?rev=165988&r1=165987&r2=165988&view=diff >>>>> ============================================================================== >>>>> --- cfe/trunk/test/Driver/darwin-ld.c (original) >>>>> +++ cfe/trunk/test/Driver/darwin-ld.c Mon Oct 15 17:23:53 2012 >>>>> @@ -122,6 +122,10 @@ >>>>> // RUN: FileCheck -check-prefix=LINK_NO_CRT1 %s < %t.log >>>>> // LINK_NO_CRT1-NOT: crt >>>>> >>>>> +// RUN: %clang -target armv7-apple-ios6.0 -miphoneos-version-min=6.0 >>>>> -### %t.o 2> %t.log >>>>> +// RUN: FileCheck -check-prefix=LINK_NO_IOS_CRT1 %s < %t.log >>>>> +// LINK_NO_IOS_CRT1-NOT: crt >>>>> + >>>>> // RUN: %clang -target i386-apple-darwin12 -pg -### %t.o 2> %t.log >>>>> // RUN: FileCheck -check-prefix=LINK_PG %s < %t.log >>>>> // LINK_PG: -lgcrt1.o >>>>> >>>>> Modified: cfe/trunk/test/Driver/pic.c >>>>> URL: >>>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/pic.c?rev=165988&r1=165987&r2=165988&view=diff >>>>> ============================================================================== >>>>> --- cfe/trunk/test/Driver/pic.c (original) >>>>> +++ cfe/trunk/test/Driver/pic.c Mon Oct 15 17:23:53 2012 >>>>> @@ -93,3 +93,13 @@ >>>>> // RUN: | FileCheck %s --check-prefix=CHECK-DYNAMIC-NO-PIC1 >>>>> // RUN: %clang -c %s -target i386-apple-darwin -mdynamic-no-pic -fPIC >>>>> -### 2>&1 \ >>>>> // RUN: | FileCheck %s --check-prefix=CHECK-DYNAMIC-NO-PIC2 >>>>> + >>>>> +// Checks for ARM >>>>> +// RUN: %clang -c %s -target armv7-apple-ios -fapple-kext >>>>> -miphoneos-version-min=6.0.0 -### 2>&1 \ >>>>> +// RUN: | FileCheck %s --check-prefix=CHECK-PIC2 >>>>> +// RUN: %clang -c %s -target armv7-apple-ios -mkernel >>>>> -miphoneos-version-min=6.0.0 -### 2>&1 \ >>>>> +// RUN: | FileCheck %s --check-prefix=CHECK-PIC2 >>>>> +// RUN: %clang -c %s -target armv7-apple-ios -fapple-kext >>>>> -miphoneos-version-min=5.0.0 -### 2>&1 \ >>>>> +// RUN: | FileCheck %s --check-prefix=CHECK-NO-PIC >>>>> +// RUN: %clang -c %s -target armv7-apple-ios -fapple-kext >>>>> -miphoneos-version-min=6.0.0 -static -### 2>&1 \ >>>>> +// RUN: | FileCheck %s --check-prefix=CHECK-NO-PIC >>>>> >>>>> >>>>> _______________________________________________ >>>>> cfe-commits mailing list >>>>> [email protected] >>>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
