On Wed, Oct 17, 2012 at 1:05 PM, Bob Wilson <[email protected]> wrote: > > 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?
It's also pretty disrupting to land a CL that breaks the build and then ignore the bug report for it for 2 weeks. Repro steps are: 1. Get a 10.6 box 2. Build clang according to the instructions at http://clang.llvm.org/get_started.html I've pasted full build output above. Let me know if you want me to enable any debug logs (and how), and I'm happy to post that output too. > >> >>> >>>> >>>> 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
