This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Regression in 4.0 (sort of)
- From: Dale Johannesen <dalej at apple dot com>
- To: gcc mailing list <gcc at gcc dot gnu dot org>
- Cc: Dale Johannesen <dalej at apple dot com>
- Date: Sun, 12 Dec 2004 19:51:54 -0800
- Subject: Regression in 4.0 (sort of)
Consider the nonstandard C program
main() {
foo();
}
void foo() {
}
Previous versions of gcc accepted this with a warning; 4.0 gives an
error.
This appears to date to Zack's rewrite of duplicate_decls early this
year.
Naturally, this is causing some programs not to compile any more.
Geoff thinks this may be unintentional, and certainly it doesn't seem
that
any bugs that would actually cause anything to break would slip through
if we treated it as a warning. Is this an intentional change?
The following exception is already made for a different, but quite
similar, case.
/* Permit void foo (...) to match int foo (...) if the latter is
the definition and implicit int was used. See
c-torture/compile/920625-2.c. */