On Sat, Jan 9, 2010 at 4:17 AM, Ross Smith <r-sm...@ihug.co.nz> wrote: > On 2010-01-10, at 00:31, Dave Korn wrote: > >> Simple testcase, using h...@155680. >> >> ------------------------------------------------------------------------ >> $ cat badwarn.cpp >> >> extern void bar (void); >> int foo (void) __attribute__ ((__noreturn__)); >> >> int >> foo (void) >> { >> while (1) >> { >> bar (); >> } >> } >> >> $ g++-4 -c badwarn.cpp -Wall >> badwarn.cpp: In function 'int foo()': >> badwarn.cpp:12:1: warning: no return statement in function returning non-void >> ------------------------------------------------------------------------ > > gcc 4.0.1, 4.2.1, and 4.3.4 don't warn about this. Looks like a regression. > > -- Ross Smith > >
It is caused by revision 138140: http://gcc.gnu.org/ml/gcc-cvs/2008-07/msg00852.html -- H.J.