Subject: Re: Compiling NetBSD with another compiler.
To: Trevor Talbot <>
From: Aleksey Cheusov <>
List: tech-userlevel
Date: 10/13/2007 17:33:02
 >> 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?
Just because you ALREADY do this for many years. Actually EVERY macro
definition in system headers is a BAD NAME.
Why I (as an application programmer) cannot use name, say, O_CREAT or
EINTR or _LARGEFILE_SOURCE or something similar as a variable name,
or function name or structure field etc. We all know - this
is because they are macro definitions.

So, the system headers ALREADY contain tons of bad names.
My suggestion ('#define stat stat_new' for "all other" compilers)
just adds some new "bad names" to the existing big pile,

Best regards, Aleksey Cheusov.