[cfe-commits] r165988 - in /cfe/trunk: include/clang/Basic/ObjCRuntime.h lib/CodeGen/CGObjC.cpp lib/Driver/ToolChains.cpp lib/Driver/Tools.cpp lib/Sema/SemaExpr.cpp runtime/compiler-rt/Makefile test/CodeGenObjC/optimized-setter-ios-device.m test/
Nico Weber
thakis at chromium.org
Tue Oct 16 21:18:40 PDT 2012
On Wed, Oct 17, 2012 at 1:05 PM, Bob Wilson <bob.wilson at apple.com> wrote:
>
> On Oct 16, 2012, at 4:48 PM, Nico Weber <thakis at chromium.org> wrote:
>
>> On Mon, Oct 15, 2012 at 4:45 PM, Nico Weber <thakis at chromium.org> wrote:
>>> On Mon, Oct 15, 2012 at 4:33 PM, Daniel Dunbar <daniel.dunbar at gmail.com> wrote:
>>>> On Mon, Oct 15, 2012 at 4:21 PM, Nico Weber <thakis at chromium.org> wrote:
>>>>> On Mon, Oct 15, 2012 at 3:45 PM, Daniel Dunbar <daniel.dunbar at gmail.com> 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 <thakis at chromium.org> wrote:
>>>>>>
>>>>>>> Why reland this without a build fix?
>>>>>>>
>>>>>>> On Mon, Oct 15, 2012 at 3:23 PM, Daniel Dunbar <daniel at zuster.org> 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
>>>>>>>> cfe-commits at cs.uiuc.edu
>>>>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>> _______________________________________________
>> cfe-commits mailing list
>> cfe-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>
More information about the cfe-commits
mailing list