I have found an apparent bug in gcc 3.4.4 under Cygwin. The attached test case (and the code it's derived from) works as expected with Cygwin gcc 3.3.3 with the exact same Cygwin install except the compiler packages. It also works fine with various versions of gcc on other platforms, including 3.4.2 (FC3) and 4.0 (FC4).
The test case is all of the files in the attached gcc-3.4.4-bug-test-case.tar.gz. I sent the sample instead of the preprocessed files because the bug only presents itself when the base class code is in a library. If you include it in the main file or just link it in as a .o, the code works fine. gcc version (results of gcc -v) Reading specs from /usr/lib/gcc/i686-pc-cygwin/3.4.4/specs Configured with: /gcc/gcc-3.4.4/gcc-3.4.4-1/configure --verbose --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --enable-languages=c,ada,c++,d,f77,java,objc --enable-nls --without-included-gettext --enable-version-specific-runtime-libs --without-x --enable-libgcj --disable-java-awt --with-system-zlib --enable-interpreter --disable-libgcj-debug --enable-threads=posix --enable-java-gc=boehm --disable-win32-registry --enable-sjlj-exceptions --enable-hash-synchronization --enable-libstdcxx-debug : (reconfigured) Thread model: posix gcc version 3.4.4 (cygming special) (gdc 0.12, using dmd 0.125) system (results of uname -a) CYGWIN_NT-5.0 trivia 1.5.17(0.129/4/2) 2005-05-25 19:38 i686 unknown unknown Cygwin command line (see Makefile and baselib.mak) There are no compiler warnings or errors. -- Summary: base class template specialization in library Product: gcc Version: 3.4.4 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: john dot gravley at cctechnol dot com CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23093