blob: 5e9fa6a5456d451bb7fd3eb60d5986a3d84670f3 [file] [log] [blame]
Daniel Dunbara5728872009-12-15 20:14:24 +00001// RUN: %clang_cc1 -emit-llvm -o %t %s
Daniel Dunbard286f052009-07-19 06:58:07 +00002// RUN: grep '@unreachable' %t | count 0
3
Daniel Dunbarcd5e60e2009-07-19 08:23:12 +00004extern void abort() __attribute__((noreturn));
Daniel Dunbard286f052009-07-19 06:58:07 +00005extern int unreachable();
6
7int f0() {
8 return 0;
9 unreachable();
10}
11
12int f1(int i) {
13 goto L0;
14 int a = unreachable();
15 L0:
16 return 0;
17}
18
19int f2(int i) {
20 goto L0;
21 unreachable();
22 int a;
23 unreachable();
24 L0:
25 a = i + 1;
26 return a;
27}
Daniel Dunbarcd5e60e2009-07-19 08:23:12 +000028
29int f3(int i) {
30 if (i) {
31 return 0;
32 } else {
33 abort();
34 }
35 unreachable();
36 return 3;
37}