Subject: Re: CVS commit: basesrc
To: Klaus Klein <kleink@netbsd.org>
From: Erik Bertelsen <erik@mediator.uni-c.dk>
List: source-changes
Date: 12/23/1999 12:06:12
On Wed, Dec 22, 1999 at 01:26:21PM -0800, Klaus Klein wrote:
>
> Added Files:
> 	basesrc/include: null.h
> 
> Log Message:
> For the benefit of G++'s null pointer constant implementation, #define NULL
> as __null with egcs 1.0 (GCC 2.90) and above.  As several headers are affected
> by this change, move the definition into a new header file, <null.h>, to ease

May I request a big explicit comment in <null.h> that no-one except the system
headers themselves should ever include <null.h> as this is not portable.
The ISO C standard specifies that NULL is defined in several of the headers
that now include <null.h>, and everyone should still include one of these to
define NULL.

This is a mess, but that's how it is ...

Also do we break strict adherence to ISO C by having <stddef.h> etc. actually include
other headers? I have faint recalls about the standard saying that inclusion of
these headers don't cause other headers to be included ...  (which is possibly the
reason that NULL is defined in several places).

best regards
- Erik Bertelsen