Package: gcc-3.1 Version: 1:3.1.1-0pre3 Severity: normal
static inline int foo(int x) { if (!x) return 0; } int main(void) { foo(1); return 1; } Building this with gcc-3.1 -c -o foo.o foo.c -Wall gives this output: foo.c: In function `foo': foo.c:13: warning: control reaches end of non-void function Compare the same with gcc 2.95: foo.c: In function `foo': foo.c:6: warning: control reaches end of non-void function gcc 3.1 also produces correct line numbers if either "static" or "inline" is removed from foo. Removing the body of function foo() causes a secondary warning to be generated in the right place, but the original warning still has the wrong line number. -- System Information: Debian Release: testing/unstable Architecture: i386 Kernel: Linux cyclone 2.4.13 #7 Wed Mar 20 23:51:20 GMT 2002 i686 Locale: LANG=C, LC_CTYPE= Versions of packages gcc-3.1 depends on: ii binutils 2.12.90.0.14-1 The GNU assembler, linker and bina ii cpp-3.1 1:3.1.1-0pre3 The GNU C preprocessor. ii gcc-3.1-base 1:3.1.1-0pre3 The GNU Compiler Collection (base ii libc6 2.2.5-12 GNU C Library: Shared libraries an ii libgcc1 1:3.1.1-0pre3 GCC support library. -- no debconf information -- .''`. ** Debian GNU/Linux ** | Andrew Suffield : :' : http://www.debian.org/ | Dept. of Computing, `. `' | Imperial College, `- -><- | London, UK -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]