stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eric Lemings" <Eric.Lemi...@roguewave.com>
Subject RE: svn commit: r654588 - /stdcxx/branches/4.2.x/tests/localization/22.locale.synopsis.cpp
Date Tue, 20 May 2008 22:09:57 GMT
 

> -----Original Message-----
> From: Martin Sebor [mailto:sebor@roguewave.com] 
> Sent: Tuesday, May 20, 2008 3:35 PM
> To: dev@stdcxx.apache.org
> Subject: Re: svn commit: r654588 - 
> /stdcxx/branches/4.2.x/tests/localization/22.locale.synopsis.cpp
> 
> elemings@apache.org 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 <eric.lemings@roguewave.com>
> > 
> > 	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.

Mime
View raw message