annotate clang/test/CodeGenObjC/attr-nomerge.m @ 266:00f31e85ec16 default tip

Added tag current for changeset 31d058e83c98
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 14 Oct 2023 10:13:55 +0900
parents 2e18cbf3894f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 // RUN: %clang_cc1 -emit-llvm -fobjc-exceptions -triple x86_64-unknown-linux -o - %s | FileCheck %s
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 // Test that the nomerge attribute is applied to function calls
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 // in @try, @catch and @finally
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 void opaque(void);
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 void opaque2(void);
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 void opaque3(void);
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 int main(int argc, const char * argv[]) {
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 __attribute__((nomerge)) @try {
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 opaque();
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 } @catch(...) {
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 opaque2();
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 } @finally {
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 opaque3();
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 }
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 return 0;
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 }
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 // CHECK: call void @opaque() #[[ATTR0:[0-9]+]]
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 // CHECK-DAG: call void @opaque2() #[[ATTR0]]
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 // CHECK-DAG: call void @opaque3() #[[ATTR0]]
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 // CHECK-DAG: attributes #[[ATTR0]] = {{{.*}}nomerge{{.*}}}