$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
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
>>