[Bug c++/37540] New: [4.4 regression] ICE on __decltype of method call in function template
piotr dot rak at gmail dot com
gcc-bugzilla@gcc.gnu.org
Tue Sep 16 12:29:00 GMT 2008
Code:
-----------------------------------
struct A
{
int g() {return 0;}
};
template <typename T_>
void f(A a)
{
__decltype(a.g()) i;
}
int main()
{
}
-----------------------------------
couses segfult with gcc snapshot from 20080912:
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with:
/var/tmp/paludis/sys-devel-gcc-4.4.0_alpha20080912/work/gcc-4.4-20080912/configure
--prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/4.4.0-alpha20080912
--includedir=/usr/lib/gcc/i686-pc-linux-gnu/4.4.0-alpha20080912/include
--datadir=/usr/share/gcc-data/i686-pc-linux-gnu/4.4.0-alpha20080912
--mandir=/usr/share/gcc-data/i686-pc-linux-gnu/4.4.0-alpha20080912/man
--infodir=/usr/share/gcc-data/i686-pc-linux-gnu/4.4.0-alpha20080912/info
--with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.4.0-alpha20080912/include/g++-v4
--host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec
--enable-nls --without-included-gettext --with-system-zlib --disable-checking
--disable-werror --enable-secureplt --disable-multilib --enable-libmudflap
--disable-libssp --enable-cld --disable-libgcj --with-arch=i686
--enable-languages=c,c++ --enable-shared --enable-threads=posix
--enable-__cxa_atexit --enable-clocale=gnu
--with-bugurl=http://bugs.gentoo.org/ --with-pkgversion='Gentoo
4.4.0_alpha20080912'
Thread model: posix
gcc version 4.4.0-alpha20080912 (experimental) (Gentoo 4.4.0_alpha20080912)
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-shared-libgcc' '-mtune=generic'
'-march=i686'
/usr/libexec/gcc/i686-pc-linux-gnu/4.4.0-alpha20080912/cc1plus -E -quiet -v
-D_GNU_SOURCE ice.cc -mtune=generic -march=i686 -fpch-preprocess -o ice.ii
ignoring nonexistent directory "/usr/local/include"
ignoring nonexistent directory
"/usr/lib/gcc/i686-pc-linux-gnu/4.4.0-alpha20080912/../../../../i686-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/lib/gcc/i686-pc-linux-gnu/4.4.0-alpha20080912/include/g++-v4
/usr/lib/gcc/i686-pc-linux-gnu/4.4.0-alpha20080912/include/g++-v4/i686-pc-linux-gnu
/usr/lib/gcc/i686-pc-linux-gnu/4.4.0-alpha20080912/include/g++-v4/backward
/usr/lib/gcc/i686-pc-linux-gnu/4.4.0-alpha20080912/include
/usr/lib/gcc/i686-pc-linux-gnu/4.4.0-alpha20080912/include-fixed
/usr/include
End of search list.
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-shared-libgcc' '-mtune=generic'
'-march=i686'
/usr/libexec/gcc/i686-pc-linux-gnu/4.4.0-alpha20080912/cc1plus -fpreprocessed
ice.ii -quiet -dumpbase ice.cc -mtune=generic -march=i686 -auxbase ice -version
-o ice.s
GNU C++ (Gentoo 4.4.0_alpha20080912) version 4.4.0-alpha20080912
(experimental) (i686-pc-linux-gnu)
compiled by GNU C version 4.4.0-alpha20080912 (experimental), GMP
version 4.2.3, MPFR version 2.3.1.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 97e4b65c615f80d78fda437bf1278f0b
ice.cc: In function Âvoid f(A)Â:
ice.cc:10: internal compiler error: Naruszenie ochrony pamięci
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugs.gentoo.org/> for instructions.
Compiles fine with gcc-4.3.2.
--
Summary: [4.4 regression] ICE on __decltype of method call in
function template
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: piotr dot rak at gmail dot com
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37540
More information about the Gcc-bugs
mailing list