On Oct 16, 2012, at 4:48 PM, Nico Weber <[email protected]> wrote:
> 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? It's pretty disruptive to keep reverting all those changes. Can you provide some more information about what exactly is failing? > >> >>> >>> 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 _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
