On Sun, Jul 27, 2008 at 1:18 PM, Gerald Pfeifer <[EMAIL PROTECTED]> wrote:
> I believe the following happened in the last 48 or so hours; I saw
> this triggered by my nightly Wine builds which in turn use my nightly
> GCC builds. ;-)
>
> For code like the following where we have an infinite loop in a
> non-void function, we now (incorrectly) issue a warning with all
> of -O0, -O1 and -O2 whereas previously we would not:
>
>  void g();
>
>  int f() {
>    for(;;)
>      g();
>  }
>
>  % gccvs -c -Wall x.c
>  x.c: In function 'int f()':
>  x.c:6: warning: no return statement in function returning non-void

I think the warning is perfectly correct.  There is no return statement
in that function and it does return non-void.  The warning doesn't say
that the function does return without a value.

Richard.

Reply via email to