This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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. */



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]