Subject: Re: Why does mode_t need 32 bits?
To: None <tech-kern@NetBSD.ORG>
From: Christos Zoulas <christos@nyc.deshaw.com>
List: tech-kern
Date: 10/30/1997 23:04:48
In article <Pine.GSO.3.96.971030143101.4925C-100000@numenor.turner.com> jimw@numenor.turner.com (Jim Wise) writes:
>
>Surely this isn't the only reason?  I find it hard to believe that we
>are changing our API because our lint is broken...

It is more complicated than that. If you have a library that has
functions with non integral types as arguments, you need two copies of
the library; one for an ansi environment where prototypes are present
and one for the non ansi environment where prototypes are not present.

On the other hand if all functions have prototypes with integral arguments,
no promotion takes place and argument passing is the same no matter if
prototypes are in scope or not.

Now, consider what happens when you've compiled a library with prototypes
in scope and you are trying to link with this library from a legacy program
that did not bring the necessary prototypes into scope.

christos