// RUN: rm -f %S/statements.ll | |
// RUN: %clang_cc1 -Wreturn-type %s -emit-llvm-only | |
void test1(int x) { | |
switch (x) { | |
case 111111111111111111111111111111111111111: | |
bar(); | |
} | |
} | |
// Mismatched type between return and function result. | |
int test2() { return; } | |
void test3() { return 4; } | |
void test4() { | |
bar: | |
baz: | |
blong: | |
bing: | |
; | |
// PR5131 | |
static long x = &&bar - &&baz; | |
static long y = &&baz; | |
&&bing; | |
&&blong; | |
if (y) | |
goto *y; | |
goto *x; | |
} | |
// PR3869 | |
int test5(long long b) { | |
static void *lbls[] = { &&lbl }; | |
goto *b; | |
lbl: | |
return 0; | |
} | |