CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
72 lines
2.4 KiB
Objective-C
72 lines
2.4 KiB
Objective-C
// RUN: %clang_cc1 -triple x86_64-apple-darwin9 -fobjc-runtime=macosx-fragile-10.5 -emit-llvm -o - %s \
|
|
// RUN: -fobjc-dispatch-method=legacy | \
|
|
// RUN: FileCheck -check-prefix CHECK-FRAGILE_LEGACY %s
|
|
//
|
|
// RUN: %clang_cc1 -triple x86_64-apple-darwin9 -emit-llvm -o - %s \
|
|
// RUN: -fobjc-dispatch-method=legacy | \
|
|
// RUN: FileCheck -check-prefix CHECK-NONFRAGILE_LEGACY %s
|
|
//
|
|
// RUN: %clang_cc1 -triple x86_64-apple-darwin9 -emit-llvm -o - %s \
|
|
// RUN: -fobjc-dispatch-method=non-legacy | \
|
|
// RUN: FileCheck -check-prefix CHECK-NONFRAGILE_NONLEGACY %s
|
|
//
|
|
// RUN: %clang_cc1 -triple x86_64-apple-darwin9 -emit-llvm -o - %s \
|
|
// RUN: -fobjc-dispatch-method=mixed | \
|
|
// RUN: FileCheck -check-prefix CHECK-NONFRAGILE_MIXED %s
|
|
|
|
// There are basically four ways that we end up doing message dispatch for the
|
|
// NeXT runtime. They are:
|
|
// (1) fragile ABI, legacy dispatch
|
|
// (2) non-fragile ABI, legacy dispatch
|
|
// (2) non-fragile ABI, non-legacy dispatch
|
|
// (2) non-fragile ABI, mixed dispatch
|
|
//
|
|
// Note that fragile ABI and non-fragile ABI legacy dispatch are not the same,
|
|
// they use some different API calls (objc_msgSendSuper vs objc_msgSendSuper2).
|
|
|
|
// CHECK-FRAGILE_LEGACY: ModuleID
|
|
// CHECK-FRAGILE_LEGACY-NOT: declare ptr @objc_msgSendSuper2_fixup(
|
|
// CHECK-FRAGILE_LEGACY-NOT: declare ptr @objc_msgSend_fixup(
|
|
// CHECK-FRAGILE_LEGACY: declare ptr @objc_msgSendSuper(
|
|
// CHECK-FRAGILE_LEGACY: declare ptr @objc_msgSend(
|
|
|
|
// CHECK-NONFRAGILE_LEGACY: ModuleID
|
|
// CHECK-NONFRAGILE_LEGACY-NOT: declare ptr @objc_msgSendSuper2_fixup(
|
|
// CHECK-NONFRAGILE_LEGACY-NOT: declare ptr @objc_msgSend_fixup(
|
|
// CHECK-NONFRAGILE_LEGACY: declare ptr @objc_msgSendSuper2(
|
|
// CHECK-NONFRAGILE_LEGACY: declare ptr @objc_msgSend(
|
|
|
|
// CHECK-NONFRAGILE_NONLEGACY: ModuleID
|
|
// CHECK-NONFRAGILE_NONLEGACY: declare ptr @objc_msgSendSuper2_fixup(
|
|
// CHECK-NONFRAGILE_NONLEGACY: declare ptr @objc_msgSend_fixup(
|
|
|
|
// CHECK-NONFRAGILE_MIXED: declare ptr @objc_msgSendSuper2_fixup(
|
|
// CHECK-NONFRAGILE_MIXED: declare ptr @objc_msgSendSuper2(
|
|
// CHECK-NONFRAGILE_MIXED: declare ptr @objc_msgSend_fixup(
|
|
// CHECK-NONFRAGILE_MIXED: declare ptr @objc_msgSend(
|
|
|
|
@interface NSObject
|
|
+ (id)alloc;
|
|
- (id)init;
|
|
@end
|
|
|
|
@interface I0 : NSObject
|
|
-(void) im0;
|
|
@end
|
|
|
|
@implementation I0
|
|
+(id) alloc {
|
|
return [super alloc];
|
|
}
|
|
-(id) init {
|
|
[super init];
|
|
return self;
|
|
}
|
|
-(void) im0 {}
|
|
@end
|
|
|
|
void f0(I0 *a) {
|
|
[I0 alloc];
|
|
[a im0];
|
|
}
|