Objective-C driver. Do not use legacy dispatch for

10.5 or less for x86_64 arch. // rdar://15852259

llvm-svn: 200854
This commit is contained in:
Fariborz Jahanian 2014-02-05 17:13:42 +00:00
parent e88421b6f7
commit 48f9ab2d54
2 changed files with 10 additions and 2 deletions

View File

@ -100,10 +100,10 @@ public:
return false;
}
else if ((getKind() == MacOSX) && isNonFragile() &&
(getVersion() >= VersionTuple(10, 5)) &&
(getVersion() >= VersionTuple(10, 0)) &&
(getVersion() < VersionTuple(10, 6)))
return Arch != llvm::Triple::x86_64;
// Except for deployment target of 10.5,
// Except for deployment target of 10.5 or less,
// Mac runtimes use legacy dispatch everywhere now.
return true;
}

View File

@ -31,10 +31,18 @@
// x86_64
// RUN: %clang -target x86_64-apple-darwin10 -S -### %s \
// RUN: -arch x86_64 -mmacosx-version-min=10.4 2> %t
// RUN: FileCheck --check-prefix CHECK-CHECK-X86_64_OSX10_4 < %t %s
// CHECK-CHECK-X86_64_OSX10_4: "-cc1"
// CHECK-CHECK-X86_64_OSX10_4: -fobjc-dispatch-method=non-legacy
// RUN: %clang -target x86_64-apple-darwin10 -S -### %s \
// RUN: -arch x86_64 -mmacosx-version-min=10.5 2> %t
// RUN: FileCheck --check-prefix CHECK-CHECK-X86_64_OSX10_5 < %t %s
// CHECK-CHECK-X86_64_OSX10_5: "-cc1"
// CHECK-CHECK-X86_64_OSX10_5: -fobjc-runtime=macosx-10.5
// CHECK-CHECK-X86_64_OSX10_5: -fobjc-dispatch-method=non-legacy