Re: [PATCH] 2nd patch Re: [Jade/OpenJade] g++ 2.95 C++ portability problems

Subject: Re: [PATCH] 2nd patch Re: [Jade/OpenJade] g++ 2.95 C++ portability problems
From: Peter Nilsson <pnidv96@xxxxxxxxxxxxxx>
Date: Tue, 17 Aug 1999 12:18:00 +0200 (CEST)
On Mon, 16 Aug 1999, Matthias Clasen wrote:

> > In some cases, such as
> > 
> >    __instantiate(Vector<size_t>)
> >    __instantiate(Vector<unsigned int>)
> > 
> > we need to know if size_t really == unsigned int.  There's no way I
> > know of to know that using CPP macros.
> > 
> It seems to work for CVS OpenJade as well (I can't say for sure, since
> I first had to install gcc-2.95 and now it is still compiling, but
> it already build libsp successfully).
> 
> But the patch fails if unsigned int != size_t, doesn't it ?
> The CVS version of OpenJade needs more fixes for gcc-2.95 anyway. 
> Here is another untested idea: Wouldn't it be enough to move the
> potential duplicates to different files to avoid the conflict ?
> 
And here comes my $0.02:-)

Do we really need explicit instantiation with gcc 2.95? Couldn't we just
let the compiler instantiate implicitly? The GNU linker at least supports
linking duplicate definitions only once. So, shouldn't it work to define
SP_DEFINE_TEMPLATES (in the config.h or configure.in). Then the compiler
has the template member function definitions available for each
translation unit and can instantiate what it needs.

I have not installed GCC 2.95 (yet), so I can't test it.

Regards,
/Peter Nilsson

--
'(?P . (?e . (?t . (?e . (?r)))))


 DSSSList info and archive:  http://www.mulberrytech.com/dsssl/dssslist


Current Thread