On Mon, Oct 15, 2012 at 4:45 PM, Nico Weber <[email protected]> wrote: > 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
Any progress? I just tried with a clean checkout, and hit this there too. I filed PR14102 -- can this be reverted in the mean time? > >> >> 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
