delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2000/07/20/19:51:34

Date: Thu, 20 Jul 2000 19:51:14 -0400
Message-Id: <200007202351.TAA01532@envy.delorie.com>
From: DJ Delorie <dj AT delorie DOT com>
To: mrs AT windriver DOT com
CC: djgpp-workers AT delorie DOT com, gcc AT gcc DOT gnu DOT org
In-reply-to: <200007202344.QAA06774@kankakee.wrs.com> (message from Mike Stump
on Thu, 20 Jul 2000 16:44:34 -0700 (PDT))
Subject: Re: GCC headers and DJGPP port
References: <200007202344 DOT QAA06774 AT kankakee DOT wrs DOT com>
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

> ?  Can you elaborate?  Is this just the #undef/the changing your
> headers to match gcc's headers problem?

DJGPP's headers all unconditionally defined NULL to be 0, without
testing if it was already defined.  Because the definitions were
identical, such testing wasn't needed.  However, when gcc first
introduced the __null concept, it *also* added such definitions to the
libstdc++ headers, defining NULL to be __null.

Users who #included a libstdc++ header first, then #included something
like <stdio.h>, would see errors from cpp because stdio.h would
attempt to #define NULL to something different than it already was.

At that time, we chose to simply add an #undef in our headers to stop
the user complaints, because (1) it was expedient, (2) we didn't
understand __null enough to warrant that it wouldn't break us, and (3)
doing that was within our power.

Hence our desire to do the Right Thing yet avoid such disasters for
our users.

- Raw text -


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