Regression in 4.0 (sort of)

Dale Johannesen dalej@apple.com
Mon Dec 13 16:43:00 GMT 2004


On Dec 12, 2004, at 8:07 PM, Zack Weinberg wrote:

> Dale Johannesen <dalej@apple.com> writes:
>
>> Consider the nonstandard C program
>>
>> main() {
>>    foo();
>> }
>> void foo() {
>> }
>>
>
> No; in fact I'm surprised that this exception
>
>> 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.  */
>
> doesn't cover this case.  I suppose it's because there's a difference
> between "declared implicitly" and "declared using implicit int".  I'd
> be in favor of extending this case to cover your example.

No, it's because the code does exactly what the comment says:  the
implicit int must be the definition, and must be the second occurrence:

extern void foo();
foo() {}

I'll put together a patch.



More information about the Gcc mailing list