> -----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.

Reply via email to