This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: [libstdc++] Make use of runtime demangler
- From: Franz Sirl <Franz dot Sirl-kernel at lauterbach dot com>
- To: Phil Edwards <phil at jaj dot com>
- Cc: Mark Mitchell <mark at codesourcery dot com>,"libstdc++ at gcc dot gnu dot org" <libstdc++ at gcc dot gnu dot org>,"gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 30 Apr 2002 00:20:42 +0200
- Subject: Re: [libstdc++] Make use of runtime demangler
- References: <20020329182924.A31493@disaster.basement.lan> <200204252218.41897@enzo.bigblue.local> <20020429174225.A29975@disaster.basement.lan>
On Monday 29 April 2002 23:42, Phil Edwards wrote:
> On Thu, Apr 25, 2002 at 10:18:41PM +0200, Franz Sirl wrote:
> > On Monday 01 April 2002 19:12, Mark Mitchell wrote:
> > > > 1) Those two files do not build warning-free because in the v3 build,
> > > > -DHAVE_CONFIG_H is not passed (thus the headers for malloc and
> > > > whatnot are not included) because we can't give it the config.h from
> > > > libiberty. I played with building a symlink to libiberty's config.h
> > > > but I
>
> [...]
>
> > > I believe we need to fix this, or risk problems on platforms where ints
> > > and pointers do not have the same size.
> >
> > Oops, nearly forgot about this one, I have a patch for this. It's
> > actually a bug in the libstdc++ Makefiles, cause configure generates
> > config.h for libstdc++ too. In trying to pass the DEBUG_FLAGS on the
> > right place in the compile command, $(DEFS) got left out.
>
> Not "left out," but rather "deliberately removed." The changelog entry is
>
> 2000-10-02 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
>
> Self-compile with shadow headers.
> [...]
> * src/Makefile.am (CSHADOW_INCLUDES): Enable, again.
> (CSHADOW_INCLUDES): Add -I$(top_srcdir)/std before shadow
> include dir. -> (CXXCOMPILE): Remove $(DEFS), which searches
> $(top_srcdir) before -> std or shadow directories.
> -> (LTCXXCOMPILE): Same.
>
>
> The CXXCOMPILE variable itself was removed nine days later.
>
>
> So, before we start reintroducing any of that, I have to wonder whether the
> same problems -- presumably problems with shadow headers -- will still
> occur. Probably not a fair question, since so much of our header setup has
> changed in the last 18 months.
But why would one remove the whole of $(DEFS) just for the sake of removing a
single include? Simply setting $(DEFS) as required in Makefile.am seems like
a lot simpler approach to me. Do you want to go with such an solution? I
would additionally add
# we need DEFS without -I$(srcdir)
DEFS = @DEFS@ -I. -I..
to Makefile.am in my patch then.
Franz.