Re: Problems with ccom.h

Daniel Stone <[email protected]> Wed, 24 Sep 2003 07:16:32 +1000
Newsgroups gmane.comp.web.aspseek.devel
Message-ID <[email protected]>
--7AUc2qLy4jB3hD7Z
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Sep 23, 2003 at 02:16:13PM +0200, Jens Thoms Toerring wrote:
>   I am trying to compile the CVS version of aspseek on IRIX with
> gcc 3.3.1 (when using the IRIX compiler the make process stops with
> some linker problems that I wasn't able to figure out, and, no, I
> can't use a different gcc version, sorry). My current problem is
> with
>=20
> [...]
>=20
> in class CPtr from ccom.h when compiling qparser.cpp. It compiles
> without problems on Linux with gcc 3.2 but with 3.3.1 it complains,
> error message is appended to the end of the mail.
>=20
> I have a feeling that this might be related to the 'IUnknown' stuff
> in "void Release()". I grepped through all the sources as well all
> headers I could find on both machines but 'IUnknown' doesn't exist
> anywhere. Interestingly, with gcc 3.2 one can replace 'IUnknown'
> with whatever one wants (e.g. 'Blablabla') and it still compiles.
> How it manages to figure out which Release() function is to be
> used isn't clear to me. The only thing I could find out about
> something called 'IUnknown' in C++ is some COM related stuff from
> M$. So, is there any way to get around this problem?

Hi Jens,
I encountered this problem and filed a bug upstream. It turns out that
gcc3.3's template parser is badly broken (surprise surprise), and thus
doesn't deal with the case where CWord1 is included in a CPtr, because
CWord1 is descended from a CPtr (I think, might be the other way
around). There's no easy way to work around this - the gcc people told
me to just wait for 3.4, because the parser's fixed there. :(=20

--=20
Daniel Stone                                     <[email protected]=
u.au>
Developer, Trinity College, University of Melbourne

--7AUc2qLy4jB3hD7Z
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)

iD8DBQE/cLgvcPClnTztfv0RAltPAJ4lJG8mZf//pwhwtHg+DU36izA15QCggWBc
qVVvJM41pTWr9tRdOOqudH8=
=86/q
-----END PGP SIGNATURE-----

--7AUc2qLy4jB3hD7Z--