On Thu, Feb 08, 2007 at 05:33:32PM +0000, Charles Forsyth wrote:
> you're mixing ANSI prototypes and the original style, and
> in
>       void f(b)
>       char b;
> 
> i suspect b is promoted to int, because before prototypes C compilers
> didn't know an argument was a char at point of call, and chars were promoted 
> to int (similarly float to double),
> and the function with the argument so promoted clashes with the earlier void 
> f(char).
> 

I give prototypes of foo and foo1 before use and define them, maybe 8c
just ignore these prototypes when it see the definitions.

> in any case, if you're going to use 8c at all, just commit to ANSI prototypes.
> in fact, even if you're not going to use 8c, just use ANSI prototypes and 
> either way,
> avoid or eliminate the ARGS crud.
> 
> surely it must be at least 20 years old.
> 
> if the code is imported i suppose it doesn't matter, but if it's new code,
> using ARGS or __PROTO or whatever is usually just silly.

It's old code, anyway.

Lee

Reply via email to