delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2000/07/20/08:10:12

Date: Thu, 20 Jul 2000 06:24:10 -0400 (EDT)
Message-Id: <200007201024.GAA09536@indy.delorie.com>
From: Eli Zaretskii <eliz AT delorie DOT com>
To: martin AT loewis DOT home DOT cs DOT tu-berlin DOT de
CC: lauras AT softhome DOT net, mrs AT windriver DOT com, gcc AT gcc DOT gnu DOT org,
djgpp-workers AT delorie DOT com
In-reply-to: <200007200729.JAA01060@loewis.home.cs.tu-berlin.de> (martin@loewis.home.cs.tu-berlin.de)
Subject: Re: GCC headers and DJGPP port
References: <200007180918 DOT FAA06988 AT indy DOT delorie DOT com> <200007181913 DOT VAA01170 AT loewis DOT home DOT cs DOT tu-berlin DOT de> <200007191826 DOT OAA08693 AT indy DOT delorie DOT com> <200007200729 DOT JAA01060 AT loewis DOT home DOT cs DOT tu-berlin DOT de>
Reply-To: djgpp-workers AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp-workers AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

> Date: Thu, 20 Jul 2000 09:29:35 +0200
> From: "Martin v. Loewis" <martin AT loewis DOT home DOT cs DOT tu-berlin DOT de>
> 
> > Seriously, though: the conclusion was that we didn't like the
> > redefinition of NULL in C++ headers (see my other message for the
> > problems this causes).
> 
> So you had all this discussion to agree on a mental state (you don't
> like it)?

No, we actually acted on that (by blocking redefinition of NULL in the
C headers).

> I had hoped you could have concluded that it either does or
> does not break the library.

We couldn't do that because we had no information on how __null works
in the C++ compiler.  If we missed something in the docs, please tell
where we should have read about it.

> Please try to be technical instead of political - especially if you
> are asking the same from GCC developers!

I thought I was technical.  I explained the technical reasons in a
message I sent today.  If it didn't yet reach you, soon it will.  If
I still failed to explain something, please tell what needs further
explanation.

> It's very easy. In C++, NULL is an "implementation-defined C++ null
> pointer constant", according to 18.1, [lib.support.types]/4. That
> means, "possible definitions include 0 and 0L, but not (void*)0".

Thank you for this information.

What is of interest to us is what will a C function see when called
with a __null argument from a C++ program.  This is required to DTRT
in C headers so that they would work with C++ programs regardless of
the order of headers inclusion (since some headers in libstdc++ define
NULL).

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019