brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · 41f9d2f Raw
49 lines · plain
1// RUN: %clang_cc1 -fobjc-runtime=macosx-fragile-10.5 -emit-llvm -o - %s | FileCheck %s -check-prefix=CHECK-MAC2// RUN: %clang_cc1 -emit-llvm -o - %s | FileCheck %s -check-prefix=CHECK-MAC-NF3// RUN: %clang_cc1 -fobjc-runtime=gcc -emit-llvm -o - %s | FileCheck %s -check-prefix=CHECK-GNU4// RUN: %clang_cc1 -fobjc-runtime=gnustep -emit-llvm -o - %s | FileCheck %s -check-prefix=CHECK-GNU-NF5// RUN: %clang_cc1 -fobjc-runtime=gnustep-2.2 -fobjc-dispatch-method=non-legacy -emit-llvm -o - %s | FileCheck %s -check-prefix=CHECK-MAC6 7typedef struct {8  int x;9  int y;10  int z[10];11} MyPoint;12 13void f0(id a) {14  int i;15  MyPoint pt = { 1, 2};16 17  // CHECK-MAC: call {{.*}} @objc_msgSend18  // CHECK-MAC-NF: call {{.*}} @objc_msgSend19  // CHECK-GNU: call {{.*}} @objc_msg_lookup(20  // CHECK-GNU-NF: call {{.*}} @objc_msg_lookup_sender(21  [a print0];22 23  // CHECK-MAC: call {{.*}} @objc_msgSend24  // CHECK-MAC-NF: call {{.*}} @objc_msgSend25  // CHECK-GNU: call {{.*}} @objc_msg_lookup(26  // CHECK-GNU-NF: call {{.*}} @objc_msg_lookup_sender(27  [a print1: 10];28 29  // CHECK-MAC: call {{.*}} @objc_msgSend30  // CHECK-MAC-NF: call {{.*}} @objc_msgSend31  // CHECK-GNU: call {{.*}} @objc_msg_lookup(32  // CHECK-GNU-NF: call {{.*}} @objc_msg_lookup_sender(33  [a print2: 10 and: "hello" and: 2.2];34 35  // CHECK-MAC: call {{.*}} @objc_msgSend36  // CHECK-MAC-NF: call {{.*}} @objc_msgSend37  // CHECK-GNU: call {{.*}} @objc_msg_lookup(38  // CHECK-GNU-NF: call {{.*}} @objc_msg_lookup_sender(39  [a takeStruct: pt ];40  41  void *s = @selector(print0);42  for (i=0; i<2; ++i)43    // CHECK-MAC: call {{.*}} @objc_msgSend44    // CHECK-MAC-NF: call {{.*}} @objc_msgSend45    // CHECK-GNU: call {{.*}} @objc_msg_lookup(46    // CHECK-GNU-NF: call {{.*}} @objc_msg_lookup_sender(47    [a performSelector:s];48}49