1 // RUN: %clang_cc1 %s -fobjc-exceptions -fexceptions -fobjc-runtime=macosx-10.14.4 -emit-llvm -O0 -o - | FileCheck %s --check-prefix=OPTIMIZED --check-prefix=EITHER
2 // RUN: %clang_cc1 %s -fobjc-exceptions -fexceptions -fobjc-runtime=macosx-10.14.3 -emit-llvm -O0 -o - | FileCheck %s --check-prefix=NOT_OPTIMIZED --check-prefix=EITHER
3 // RUN: %clang_cc1 %s -fobjc-exceptions -fexceptions -fobjc-runtime=ios-12.2 -emit-llvm -O0 -o - | FileCheck %s --check-prefix=OPTIMIZED --check-prefix=EITHER
4 // RUN: %clang_cc1 %s -fobjc-exceptions -fexceptions -fobjc-runtime=ios-12.1 -emit-llvm -O0 -o - | FileCheck %s --check-prefix=NOT_OPTIMIZED --check-prefix=EITHER
13 // OPTIMIZED: call ptr @objc_alloc_init(
14 // NOT_OPTIMIZED: call ptr @objc_alloc(
20 // OPTIMIZED: invoke ptr @objc_alloc_init(
21 // NOT_OPTIMIZED: invoke ptr @objc_alloc(
36 // OPTIMIZED: call ptr @objc_alloc_init(
37 // NOT_OPTIMIZED: call ptr @objc_alloc(
40 [[[self class] alloc] init];
41 // OPTIMIZED: call ptr @objc_alloc_init(
42 // NOT_OPTIMIZED: call ptr @objc_alloc(
45 // EITHER-NOT: call ptr @objc_alloc
46 // EITHER: call {{.*}} @objc_msgSend
47 // EITHER: call {{.*}} @objc_msgSend
48 [[(id)self alloc] init];
56 @interface Derived : Base
58 @implementation Derived