Date: Thu, 20 Jul 2000 19:51:14 -0400 Message-Id: <200007202351.TAA01532@envy.delorie.com> From: DJ Delorie 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 Precedence: bulk > ? 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 , 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.