Package: g++-3.3
Version: 1:3.3-3
Severity: normal
Tags: upstream
Hi all,
I'm trying to build aspseek[1] with gcc3.3, and failing. The problem is
this:
class CPtr<T> {
doRelease() {
p->Release();
}
}
class CStackElem {
public:
void Release() { ... }
}
class CSearchExpression : public CStackElem;
The p in CPtr's doRelease is the template given. Now, when running with
CPtr<CSearchExpression> (or CPtr<CWord1> - they're both in the same
boat), Release is allegedly 'undeclared in this context'. It's not
declared up in CSearchExpression (causing a conflict), it's just
undeclared, apparently.
In the sources I have, CPtr::doRelease() is actually CPtr::Release(),
but changing it to doRelease() doesn't help. CPtr does have some
extremely funky operator overloads tho (->, *, etc), so maybe that's
what's causing it. I tried to compress this down to a small testcase,
but unfortunately failed. Myself and Matt Zimmerman tried numerous
methods of squashing this, including declaring Release() explicitly in
CSearchExpression, and more, but failed.
This appears to be a regression, as it builds fine with gcc3.2, and I
can't see how it could be undeclared.
Cheers!
:) d
[1]: deb-src http://raging.dropbear.id.au/daniel/debian/ aspseek/
Edit d/r and nuke the CC=gcc-3.2 CXX=g++-3.2 line.
-- System Information:
Debian Release: testing/unstable
Architecture: i386
Kernel: Linux nanasawa 2.5.69-dj1 #1 Sat May 24 16:17:58 EST 2003 i686
Locale: LANG=C, LC_CTYPE=C
Versions of packages g++-3.3 depends on:
ii gcc-3.3 1:3.3-3 The GNU C compiler
ii gcc-3.3-base 1:3.3-3 The GNU Compiler Collection (base
ii libc6 2.3.1-17 GNU C Library: Shared libraries an
ii libstdc++5-3.3-dev 1:3.3-3 The GNU Standard C++ Library v3 (d
-- no debconf information
--
Daniel Stone <daniel@raging.dropbear.id.au> <dstone@kde.org>
KDE: Konquering a desktop near you - http://www.kde.org
Attachment:
pgp4WBT7sNrbh.pgp
Description: PGP signature