Package: gcc-3.0 Version: 1:3.0.4-6 Severity: normal The following program generates a superfluous warning when compiled with -std=c99 or -std=gnu99.
------------------------------------------------------------------------ #include <stdlib.h> int main (void) __attribute__ ((noreturn)); int main (void) { exit(1); } ------------------------------------------------------------------------ volition:~/tmp$ gcc-3.0 -std=c99 -c test.c test.c: In function `main': test.c:6: warning: function declared `noreturn' has a `return' statement volition:~/tmp$ ------------------------------------------------------------------------ Obviously, this warning is bogus since there is no return statement anywhere in the program :> The warning is not produced by gcc 2.95.4 nor in the default -std=gnu89 mode. Although this example is trivial, I encountered the bug in an actual program that depends on -std=gnu99 (since C99 features are used). In the program, main() starts an event loop which never directly returns; the program exits by calling exit(). -- System Information Debian Release: 3.0 Architecture: i386 Kernel: Linux volition 2.4.18volition #1 Thu Mar 28 20:13:24 PST 2002 i686 Locale: LANG=C, LC_CTYPE= Versions of packages gcc-3.0 depends on: ii binutils 2.12.90.0.1-1 The GNU assembler, linker and bina ii cpp-3.0 1:3.0.4-6 The GNU C preprocessor. ii gcc-3.0-base 1:3.0.4-6 The GNU Compiler Collection (base ii libc6 2.2.5-3 GNU C Library: Shared libraries an ii libgcc1 1:3.0.4-6 GCC support library. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]