Description of problem: The following code causes an internal compiler error. It word with Comeau and gcc 3.2.3 class AClass { public: void func(unsigned long) { } unsigned long func2() { return 0; } }; struct Test { typedef unsigned long value_type; }; template<typename DERIVED> class Res { template< typename T, void (DERIVED::*funccaller1)(typename T::value_type), typename T::value_type (DERIVED::*funccaller2)() > class Callbacker { }; }; int main() { Res<AClass> myRes; } g++ testit.cpp -o testit testit.cpp: In instantiation of `Res<AClass>': testit.cpp:41: instantiated from here testit.cpp:33: internal compiler error: in lookup_member, at cp/search.c:1296 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://bugzilla.redhat.com/bugzilla> for instructions. Preprocessed source stored into /tmp/cc12EJcK.out file, please attach this to your bugreport. Compilation exited abnormally with code 1 at Mon Apr 18 09:12:56 g++ --version g++ (GCC) 3.4.2 20041017 (Red Hat 3.4.2-6.fc3) Copyright (C) 2004 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
Can't reproduce this with neither gcc-c++-3.4.3-22.fc3 nor 4.0.0-1.