Subject: Re: CVS commit: src/include
To: Jason Thorpe <thorpej@wasabisystems.com>
From: Ben Harris <bjh21@netbsd.org>
List: source-changes
Date: 06/05/2003 19:03:08
On Thu, 5 Jun 2003, Jason Thorpe wrote:

>
> On Thursday, June 5, 2003, at 10:27  AM, Ben Harris wrote:
>
> > Namespace cleanup: _assert is in the application's namespace, and thus
> > should
> > only be exposed if _NETBSD_SOURCE is defined.  To make life less
> > complicated,
> > define _assert() in terms of assert(), since they always seem to have
> > identical
> > definitions.
>
> Wait... "_assert" is in the application's namespace??

I think so.  Identifiers that start with an underscore (but not with an
underscore followed by either an underscore or an upper-case letter) are
only reserved "for identifiers with file scope in both the ordinary
identifier and tag name spaces".  I think macros (and _assert is a macro),
by virtue of overriding all uses of the name in question, exceed the scope
of that reservation.

Actually, I'm mostly assuming that PCTS (and jtc, who committed the
previous removal of _assert()) has got it right.

-- 
Ben Harris                                                   <bjh21@netbsd.org>
Portmaster, NetBSD/acorn26           <URL:http://www.netbsd.org/Ports/acorn26/>