Subject: Re: Compiling NetBSD with another compiler.
To: None <tech-userlevel@netbsd.org>
From: Trevor Talbot <quension@gmail.com>
List: tech-userlevel
Date: 10/13/2007 06:04:42
On 10/13/07, Aleksey Cheusov <cheusov@tut.by> wrote:
>  >> But I still don't understand one aspect.
>  >> Why non-portable way of doing this renaming is used instead of
>  >> just using macro like
>  >>
>  >>    #define func func_new
>  >>
>  >> for the example above. This may work for all compilers, not only
>  >> gcc and pcc.
>
> > The problem is that the #define has far too wide a scope.  Names of
> > external functions can also be structure element names, and that
> > would give massive problems with the order of #includes.
>
> IMHO it's relatively easy to avoid this sort of conflicts in system
> header files. There are only a few tens of renamed functions.

But the scope is not system header files, it's every single program
that uses them.

Why should I have to go through my perfectly legitimate, legal C
program and change all references to the member of my struct that I
named "stat" just because the system headers wanted to rename a
function?