From: Bob Wilson Date: Thu, 19 Jul 2012 01:35:55 +0000 (+0000) Subject: Force the OS X version to 10.6 for old-style simulator builds. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a1ec3db3a1ab7c37f1d7604bef777fe54711d8f0;p=clang Force the OS X version to 10.6 for old-style simulator builds. The hack of recognizing a -D__IPHONE_OS_VERSION_MIN_REQUIRED option in place of -mios-simulator-version-min leaves the Darwin version unspecified. It can be set separately with -mmacosx-version-min (which makes no sense) or inferred to match the host version (which is unpredictable and usually wrong). This really needs to get cleaned up, but in the meantime, force the OS X version to 10.6 so that the behavior is sane for the iOS simulator. Thanks for Argyrios for the patch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160484 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp index b858c3e428..4f3d33e901 100644 --- a/lib/Driver/ToolChains.cpp +++ b/lib/Driver/ToolChains.cpp @@ -461,6 +461,11 @@ void Darwin::AddDeploymentTarget(DerivedArgList &Args) const { Major < 10 && Minor < 100 && Micro < 100) { TargetSimulatorVersionFromDefines = VersionTuple(Major, Minor, Micro); } + // When using the define to indicate the simulator, we force + // 10.6 macosx target. + const Option *O = Opts.getOption(options::OPT_mmacosx_version_min_EQ); + OSXVersion = Args.MakeJoinedArg(0, O, "10.6"); + Args.append(OSXVersion); break; } } diff --git a/test/Driver/ios-simulator-arcruntime.c b/test/Driver/ios-simulator-arcruntime.c index ffe3a9d3e7..33d34924ce 100644 --- a/test/Driver/ios-simulator-arcruntime.c +++ b/test/Driver/ios-simulator-arcruntime.c @@ -1,6 +1,8 @@ // RUN: %clang -### -x objective-c -target i386-apple-darwin10 -arch i386 -mmacosx-version-min=10.6 -D__IPHONE_OS_VERSION_MIN_REQUIRED=40201 -fobjc-arc -fsyntax-only %s 2>&1 | FileCheck -check-prefix=CHECK-OPTIONS1 %s -// RUN: %clang -### -x objective-c -target i386-apple-darwin10 -arch i386 -mmacosx-version-min=10.6 -D__IPHONE_OS_VERSION_MIN_REQUIRED=50000 -fobjc-arc -fsyntax-only %s 2>&1 | FileCheck -check-prefix=CHECK-OPTIONS2 %s +// RUN: %clang -### -x objective-c -target i386-apple-darwin10 -arch i386 -D__IPHONE_OS_VERSION_MIN_REQUIRED=50000 -fobjc-arc -fsyntax-only %s 2>&1 | FileCheck -check-prefix=CHECK-OPTIONS2 %s // +// CHECK-OPTIONS1: i386-apple-macosx10.6.0 // CHECK-OPTIONS1: -fobjc-runtime=ios-4.2.1 +// CHECK-OPTIONS2: i386-apple-macosx10.6.0 // CHECK-OPTIONS2: -fobjc-runtime=ios-5.0.0