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
signature.asc
Description: Digital signature