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 Liint test2() { return; } test3()6*67e74705SXin Livoid test3() { return 4; } 7*67e74705SXin Li 8*67e74705SXin Li test4()9*67e74705SXin Livoid 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 Liint 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