Thomas Dickey wrote (in a message from Tuesday 9)
> On Tue, 9 Sep 2003, Warren Turkal wrote:
> > -#if NeedFunctionPrototypes
> > -extern void scale_init(void);
> > -extern char *nscale(int, int, int, char *);
>
> while I'm perfectly aware that "extern" is redundant, there are two things
> to be said in favor of keeping it:
>
> a) it's easy to grep for
>
> b) some compilers silently ignore conflicts with a "static" definition of
> the prototype, but can be persuaded to warn if the extern is explicit.
> (gcc does this, making it unsuitable as the only compiler to use for
> testing).
... and a 3rd reason is that 'extern' is not optional for
variables. Most traditional Unix linkers will allow the same variable
to be declared without 'extern' in multiple object files and merge
them into only one, but this behaviour is not a feature one should
rely on. And it fact, at least the Darwin linker treats this as an
error.
Doing the same for functions is more consistent.
Matthieu
_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel