xref: /aosp_15_r20/external/clang/test/CodeGen/statements.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang_cc1 -Wno-error=return-type %s -emit-llvm-only
2*67e74705SXin Li // REQUIRES: LP64
3*67e74705SXin Li 
4*67e74705SXin Li // Mismatched type between return and function result.
test2()5*67e74705SXin Li int test2() { return; }
test3()6*67e74705SXin Li void test3() { return 4; }
7*67e74705SXin Li 
8*67e74705SXin Li 
test4()9*67e74705SXin Li void test4() {
10*67e74705SXin Li bar:
11*67e74705SXin Li baz:
12*67e74705SXin Li blong:
13*67e74705SXin Li bing:
14*67e74705SXin Li  ;
15*67e74705SXin Li 
16*67e74705SXin Li // PR5131
17*67e74705SXin Li static long x = &&bar - &&baz;
18*67e74705SXin Li static long y = &&baz;
19*67e74705SXin Li   &&bing;
20*67e74705SXin Li   &&blong;
21*67e74705SXin Li   if (y)
22*67e74705SXin Li     goto *y;
23*67e74705SXin Li 
24*67e74705SXin Li   goto *x;
25*67e74705SXin Li }
26*67e74705SXin Li 
27*67e74705SXin Li // PR3869
test5(long long b)28*67e74705SXin Li int test5(long long b) {
29*67e74705SXin Li   static void *lbls[] = { &&lbl };
30*67e74705SXin Li   goto *b;
31*67e74705SXin Li  lbl:
32*67e74705SXin Li   return 0;
33*67e74705SXin Li }
34*67e74705SXin Li 
35