Date: Sun, 28 Jun 1998 15:28:35 +0300 (IDT) From: Eli Zaretskii To: djgpp AT delorie DOT com Subject: Re: GCC 2.8.1 and NULL In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Precedence: bulk On 27 Jun 1998, Gili wrote: > Since GCC 2.8.1 (and perhaps a bit earlier) the authors have begun > using "#define NULL __null".. One problem arises: This redefinition only happens in the C++ headers, right? > If #include occures anywhere throughout my code (and since > it is a very common library, it obviously does) I get the following > message telling me that stdio.h tried to redefine NULL (which was > previously defined as __null).. The only way I found around this is to > stick an "#ifndef ... #endif" block before "#define NULL 0" command in > .. But what I'm wondering is, is this conflict suppose to > exist? Is something wrong with my configuration? What's going on? :) It's a bug in libstdc++, and should be reported to the GNU maintainers. A recent discussion among DJGPP developers couldn't yield an agreement about what's the best way and place of fixing this. In particular, DJ Delorie objects to a change in DJGPP's C headers. So for now, your best bet would be to fix your own headers the best you can (I suggest doing that in the C++ header(s) that rewdefine NULL).