1 // related to PR c++/55189 2 // { dg-options "-Wreturn-type" } 3 f1()4int f1() 5 { 6 while (true) { } 7 } f2()8int f2() 9 { 10 while (true) { break; } 11 } // { dg-warning "no return statement" } 12 f3()13int f3() 14 { 15 for (;;) {} 16 } f4()17int f4() 18 { 19 for (;;) {break;} 20 } // { dg-warning "no return statement" } 21 f5()22int f5() 23 { 24 do {} while(true); 25 } f6()26int f6() 27 { 28 do {break;} while(true); 29 } // { dg-warning "no return statement" } 30 f7()31int f7() 32 { 33 for(;;) 34 while (true) {break;} 35 } 36 f8()37int f8() 38 { 39 for(;;) 40 { 41 while (true) {} 42 break; 43 } 44 } 45 46 template <class T> f9()47T f9() 48 { 49 for(;;) { } 50 } 51 52 template int f9(); 53 54 template <class T> f10()55T f10() 56 { 57 for(;;) { break; } 58 } // { dg-warning "no return statement" } 59 60 template int f10(); 61