Boost logo

Boost :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2007-02-28 02:15:17


Boris Gubenko wrote:

Jonathan, Thomas,
would you be able to comment on the below posting?

Thanks,
Volodya

> On HP-UX/aCC6, iostreams library test code_converter_test fails to link.
>
> This is caused by a (home-added) feature of Rogue Wave library on this
> platform which is that for codecvt to be instantiated on anything but
> types listed in Table 51 -- Locale Category Facets in 22.1.1.1.1 - Type
> locale::category, the program must be compiled with
> _HP_INSTANTIATE_STD2_VL macro defined.
>
> Here is small reproducer:
>
> x.cpp
> -----
> #include <locale>
>
> struct S {};
>
> int main()
> {
> std::codecvt_byname<wchar_t,char,S>* x =
> new std::codecvt_byname<wchar_t,char,S>("");
> }
>
> bash-3.00$ aCC x.cpp
> ld: Unsatisfied symbol "virtual table of std::codecvt<wchar_t,char,S>" in
> file x.o
> ld: Unsatisfied symbol "type info of std::codecvt<wchar_t,char,S>" in file
> x.o
> 2 errors.
> bash-3.00$ aCC x.cpp -D_HP_INSTANTIATE_STD2_VL
> bash-3.00$
>
> Attached patch modifies boost/iostreams/detail/config/wide_streams.hpp
> to define _HP_INSTANTIATE_STD2_VL macro for HP-UX/aCC.
>
> I verified, that with this fix, iostreams library test code_converter_test
> pass. I also verified, that the fix does not cause any regressions.
>
> Please, apply this patch. If the patch is applied only to HEAD, please,
> mark iostreams library test code_converter_test expected failure for
> toolset "acc".
>
> Thanks,
> Boris
>
> Index: wide_streams.hpp
> ===================================================================
> RCS file:
> /cvsroot/boost/boost/boost/iostreams/detail/config/wide_streams.hpp,v
> retrieving revision 1.7 diff -r1.7 wide_streams.hpp
> 20a21,24
>> #if defined(__HP_aCC) && !defined(_HP_INSTANTIATE_STD2_VL)
>> # define _HP_INSTANTIATE_STD2_VL
>> #endif
>>


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk