| // 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 |
| // 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 |
| // RUN: %clang_cc1 %s -fobjc-exceptions -fexceptions -fobjc-runtime=ios-12.2 -emit-llvm -O0 -o - | FileCheck %s --check-prefix=OPTIMIZED --check-prefix=EITHER |
| // 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 |
| // OPTIMIZED: call ptr @objc_alloc_init( |
| // NOT_OPTIMIZED: call ptr @objc_alloc( |
| // OPTIMIZED: invoke ptr @objc_alloc_init( |
| // NOT_OPTIMIZED: invoke ptr @objc_alloc( |
| // OPTIMIZED: call ptr @objc_alloc_init( |
| // NOT_OPTIMIZED: call ptr @objc_alloc( |
| [[[self class] alloc] init]; |
| // OPTIMIZED: call ptr @objc_alloc_init( |
| // NOT_OPTIMIZED: call ptr @objc_alloc( |
| // EITHER-NOT: call ptr @objc_alloc |
| // EITHER: call {{.*}} @objc_msgSend |
| // EITHER: call {{.*}} @objc_msgSend |
| @interface Derived : Base |