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 Looking at the ChangeLog changes that look most plausible are the unit-at-a-time ones, though I'm not sure how that would apply since this is independent of optimization level. Tested on i386-unknown-freebsd6. I verified that i586-suse-linux does not warn with GCC 4.2.1 and am just building current trunk there as well. Gerald