Hi Paul,

On Thu, Nov 14, 2024 at 07:51:24PM GMT, Bruno Haible wrote:
> Paul Eggert wrote:
> > > Maybe we should override NULL on this platform (where it is defined as 0)?
> > 
> > I wouldn't mess with NULL, as too much oddball stuff depends on it.
> 
> I would mess with it only when a configure test detects that it expands to a
> non-pointer. That is, when a conditional expression
>     (foo ? "x" : NULL)
> sollicits a compilation error. This catches exactly the AIX case.
> 
> > Why not use nullptr instead? It's the modern replacement.
> 
> In the other thread, that started yesterday, Alejandro pointed to the
> history of 'nullptr' in C [1]. Also, my evaluation from last year [2]
> still stands: The general habit in the community is to use NULL. I have
> only seen 1 C package that consistently uses nullptr.

As Bruno said, nullptr is garbage that was force-fed by C++ people into
WG14 with no rationale at all.  It won't be used in any projects that I
maintain, as long as I continue maintaining them.  Please see the link
[1] below, which explains the history which serves as a rationale for
this negative to use it.

Eventually, I plan to send a proposal to WG14 to remove nullptr{,_t}
from ISO C.  This will be slow, and requires some (also slow)
pre-requisite steps, which include (1) deprecating 0, (2) removing 0,
and (3) making ISO C force the POSIX definition which is void*.  This
means two decades or more, but I hope I can do it eventually.

I'm now the National Body of Spain in WG14, and I'll do as much pressure
as I possibly can.  :-)

Have a lovely day!
Alex

> Bruno
> 
> [1] https://software.codidact.com/posts/292718/292759#answer-292759
> [2] https://lists.gnu.org/archive/html/bug-gnulib/2023-02/msg00031.html

-- 
<https://www.alejandro-colomar.es/>

Attachment: signature.asc
Description: PGP signature

Reply via email to