> Julian Elischer writes:
> > I don't know about the protection with a '_'.
> >
> > It's not standard and usually the name matches that used in the actual
> > function.
>
> When the prototype parameter name matches a local variable, the C compiler
> (and lint) whine about clashes between names in local/global namespace.
According to C99, a function prototype has its own scope or
name space. It terminates at the end of the function
declarator. Basically naming a parameter in a function
prototype is an aide to the human user; it is not needed for
correct compilation[1] so this warning is bogus. As the
spec says in section 6.7.5.3 (according the draft I have)
"The identifiers [naming parameters] are declared for
descriptive purposes only and go out of scope at the end
of the [prototype] declaration".
I can't see what actual error is avoided by this warning.
> 2 ways to fix this are to "protect" the prototype argument names with the
> "_", or to remove the argument name altogether.
Why not fix the compiler & lint instead of cluttering up
declarations?
-- bakul
[1] Except for what is needed for declaring flexible or
variable length array parameters.
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message