> -----Original Message----- > From: Martin Sebor [mailto:[EMAIL PROTECTED] > Sent: Tuesday, May 20, 2008 3:35 PM > To: [email protected] > Subject: Re: svn commit: r654588 - > /stdcxx/branches/4.2.x/tests/localization/22.locale.synopsis.cpp > > [EMAIL PROTECTED] wrote: > > Author: elemings > > Date: Thu May 8 10:48:37 2008 > > New Revision: 654588 > > > > URL: http://svn.apache.org/viewvc?rev=654588&view=rev > > Log: > > 2008-05-08 Eric Lemings <[EMAIL PROTECTED]> > > > > STDCXX-905 > > * branches/4.2.x/tests/localization/22.locale.synopsis.cpp: > > Added collate class template specialization for UDC type (just > > prior to CollateDerived class template) to define protected > > virtual functions expected by test cases. > > This change appears to be causing compilation errors with > HP aCC 3.74: > > aCC -c -I$(TOPDIR)/include -I$(BUILDDIR)/include > -I$(TOPDIR)/tests/include -AA +O2 +w +W392,655,684,818,819,849 > $(TOPDIR)/tests/localization/22.locale.synopsis.cpp > Error 173: > "$(TOPDIR)/tests/localization/22.locale.synopsis.cpp", line > 1349 # Redefined symbol 'collate<int>'; previously defined at > ["$(TOPDIR)/include/loc/_collate.h", line 58]. > struct collate<UDC>: locale::facet > ^^^^^^^^^^^^^^^^^^^ > Error 705: > "$(TOPDIR)/tests/localization/22.locale.synopsis.cpp", line > 1348 # A template must be declared before it can be > explicitly specialized. > _RWSTD_SPECIALIZED_CLASS > ^^^^^^^^^^^^^^^^^^^^^^^^ > Error 445: > "$(TOPDIR)/tests/localization/22.locale.synopsis.cpp", line > 1348 # Cannot recover from earlier errors. > _RWSTD_SPECIALIZED_CLASS > ^^^^^^^^^^^^^^^^^^^^^^^^ > gmake: *** [22.locale.synopsis.o] Error 2 >
Ah you found it. Yeah I was aware of it. I'm not sure how to fix it though. From what I can tell, it's saying that the specialization must appear before the point of use but AFAICT the only way to do that is to add a fwd declaration for the template since both the class template and its point of use are in the same header. I'm not sure even a fwd declaration will work. Any ideas? Brad.
