1 // RUN: %clang_cc1 -Wreturn-type %s -emit-llvm-only
2 
3 void test1(int x) {
4 switch (x) {
5 case 111111111111111111111111111111111111111:
6 bar();
7 }
8 }
9 
10 // Mismatched type between return and function result.
11 int test2() { return; }
12 void test3() { return 4; }
13 
14 
15 void test4() {
16 bar:
17 baz:
18 blong:
19 bing:
20  ;
21 
22 // PR5131
23 static long x = &&bar - &&baz;
24 static long y = &&baz;
25   &&bing;
26   &&blong;
27   if (y)
28     goto *y;
29 
30   goto *x;
31 }
32 
33 // PR3869
34 int test5(long long b) {
35   static void *lbls[] = { &&lbl };
36   goto *b;
37  lbl:
38   return 0;
39 }
40 
41