Hi, Triggered by Debian bug #362220 [0] I submitted GCC bug report #27178 [1] only to be told that container.h made use of a GCC extension that will have been removed from GCC in the upcoming 4.2.0 release [2]. Basically, where we were simply writing this: template <template <class> class> class container; typedef container<std::list> lst; we now have to write the more cumbersome: template <template <class, class> class> class container; typedef container<std::list> lst; This is because std::list has two template parameters, the element type and the allocator type. Ugh. It's ugly, because the intent was clearly to not bother the user with implementation details like the allocator. From the user's perspective, the intent is to express "container of T", never mind what type of container. I've attached a patch against CVS GiNaC-1.3 that converts all places flaged as errors in GCC 4.2 20060415 (experimental) to: template <template <class T, class = std::allocator<T> > class> class X; typedef X<std::list> lst; This is ugly as sin, because I don't think that we really wanted to express "STL-container of T", as the changed code now appears to imply. Any suggestions? -richy. [0] <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=362220> [1] <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27178> [2] <http://gcc.gnu.org/gcc-4.2/changes.html>, first bullet under C++ -- Richard B. Kreckel <http://www.ginac.de/~kreckel/>