This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: GCC headers and DJGPP port
- To: mrs at windriver dot com
- Subject: Re: GCC headers and DJGPP port
- From: Eli Zaretskii <eliz at delorie dot com>
- Date: Thu, 20 Jul 2000 02:42:48 -0400 (EDT)
- CC: martin at loewis dot home dot cs dot tu-berlin dot de, djgpp-workers at delorie dot com, gcc at gcc dot gnu dot org, lauras at softhome dot net
- References: <200007192138.OAA01286@kankakee.wrs.com>
- Reply-to: Eli Zaretskii <eliz at is dot elta dot co dot il>
> From: Mike Stump <mrs@windriver.com>
> Date: Wed, 19 Jul 2000 14:38:04 -0700 (PDT)
>
> > Date: Wed, 19 Jul 2000 14:26:25 -0400 (EDT)
> > From: Eli Zaretskii <eliz@delorie.com>
> > To: martin@loewis.home.cs.tu-berlin.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). But we couldn't understand why does the C++
> > compiler redefines NULL in its headers, so we couldn't find a
> > solution that would satisfy us all and avoid breaking the C++
> > compiler at the same time. Perhaps you could help.
>
> Sure, change all definitions of NULL to more closely match gcc's
> notion of null, and you're done.
I'm not sure what GCC's notion of NULL are you talking about. We
cannot use __null in C headers unconditionally, because it will cause
unresolved externals in C programs, right? Use of __null conditioned
on __cplusplus is questionable, since libc.a is not compiled with that
definition of NULL. Am I missing something?
> Sprinkle in #undef NULL if you get redefinition errors.
We did use #undef to solve the immediate problem, but it looked like a
brute-force and potentially dangerous (for C++ programs) solution. I
wonder if there's a better one.