Package: g++-4.4
Version: 4.4.2-9
Severity: normal
I did report a regression upstream, which ended up in
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43101 . As requested in
README.Bugs I'm now reporting it here.
The following valid code is accepted by g++-4.3 but rejected by g++-4.4:
======================================================================
template <int dim> class X {};
template <class T> class Y {
static const unsigned int dim = 1;
X<Y<T>::dim> f();
};
template <class T>
X<Y<T>::dim> Y<T>::f() { return X<dim>(); }
======================================================================
There is a workaround, but it is quite difficult to find since several
variants don't work due to the ancient bug
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26261 . The workaround is to
make a typedef for the return type and use that:
======================================================================
template <int dim> class X {};
template <class T> class Y {
static const unsigned int dim = 1;
typedef X<dim> Z;
Z f();
};
template <class T>
typename Y<T>::Z Y<T>::f() { return X<dim>(); }
======================================================================
Thanks,
Jö.
-- System Information:
Debian Release: squeeze/sid
APT prefers testing-proposed-updates
APT policy: (500, 'testing-proposed-updates'), (500, 'testing')
Architecture: i386 (x86_64)
Kernel: Linux 2.6.32-trunk-amd64 (SMP w/2 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages g++-4.4 depends on:
ii gcc-4.4 4.4.2-9 The GNU C compiler
ii gcc-4.4-base 4.4.2-9 The GNU Compiler Collection (base
ii libc6 2.10.2-2 GNU C Library: Shared libraries
ii libgmp3c2 2:4.3.2+dfsg-1 Multiprecision arithmetic library
ii libmpfr1ldbl 2.4.2-3 multiple precision floating-point
ii libstdc++6-4.4-dev 4.4.2-9 The GNU Standard C++ Library v3 (d
g++-4.4 recommends no packages.
Versions of packages g++-4.4 suggests:
ii g++-4.4-multilib 4.4.2-9 The GNU C++ compiler (multilib fil
pn gcc-4.4-doc <none> (no description available)
pn libstdc++6-4.4-dbg <none> (no description available)
-- no debconf information
--
oil -- operation iraqi liberation
http://www.mo.tecsamples.de/mahnwache/index.html
Attachment:
signature.asc
Description: Digital signature