
Attached patches for 3 regex library headers for the issues with regex library test concept_check on Tru64/cxx and HP-UX/aCC6 described in: <http://thread.gmane.org/gmane.comp.lib.boost.devel/154587> . concepts.hpp_patch (necessary for Tru64 and VMS) . concept_archetype.hpp_patch (necessary for HP-UX) . regex_traits.hpp_patch (necessary for HP-UX) . The patch for concepts.hpp adds char_type to the explicit specialization of template std::char_traits on type boost::char_architype. char_type is necessary for the platforms using Rogue Wave V2.0 (Tru64 and AlphaVMS) and RW V3.0 (iVMS). While it is not necessary for HP-UX/aCC6 using RW V2.2, it does not break it. Adding char_type also does not break compilation on HP-UX with Gnu libstdc++ and STLport. In the patch, char_type is conditionalized as the following: template<> struct char_traits<boost::char_architype>{ #if defined(__DECCXX) && BOOST_WORKAROUND(_RWSTD_VER, >= 0x0203) typedef boost::char_architype char_type; #endif }; so it affects only Tru64, AlphaVMS and iVMS. Actually, I don't think that any conditionalization is necessary because adding this typedef does not seem to do any harm. If this patch is applied, regex library test concept_check can be removed from explicit-failures-markup.xml for toolset "hp_cxx-71_006_tru64" (this is release platform). . The patch for concept_archetype.hpp adds overload for std::__iterator_category returning __unknown_iterator_tag. This overload allows std::basic_string to be constructed, as John Maddock put it in: <http://archives.free.net.ph/message/20060824.111121.1b255f03.en.html> from "iterator types it doesn't know about". This patch is necessary for RW V2.2. I've conditionalized it with: #if defined(__HP_aCC) && BOOST_WORKAROUND(_RWSTD_VER, == 0x02020100) but I think, that 'defined(__HP_aCC)' can be omitted because this is a pure Rogue Wave library issue. I conditionalized it the way I did out of fear of breaking other platforms using the RW library that I cannot test the patch on. . The patch for regex_traits.hpp changes aCC - specific conditionalization which is wrong for aCC6. I have no idea why this conditionalization was necessary in the first place, but I did not remove it: I just restricted it to pre-aCC6 compilers. With patches for concept_archetype.hpp and regex_traits.hpp, regex library test concept_check passes on HP-UX. Also, tr1 library tests std_test_regex and test_regex that were previously failing, now pass. If the patches for concept_archetype.hpp and regex_traits.hpp are acceptable, please, apply them. If they are applied to HEAD only, please, mark regex library test concept_check and tr1 library tests std_test_regex and test_regex expected failures in 1.34 on HP-UX/aCC6 (toolset "acc"). Thanks, Boris