Disable features that HP aCC can't cope with (gets basic regression tests passing with aCC).

[SVN r29032]
This commit is contained in:
John Maddock
2005-05-18 11:44:12 +00:00
parent 3022a819e6
commit c2de12f113
3 changed files with 9 additions and 2 deletions

View File

@ -49,12 +49,14 @@ inline bool can_start(unsigned short c, const unsigned char* map, unsigned char
{ {
return ((c >= (1 << CHAR_BIT)) ? true : map[c] & mask); return ((c >= (1 << CHAR_BIT)) ? true : map[c] & mask);
} }
#if !defined(__HP_aCC)
#if defined(WCHAR_MIN) && (WCHAR_MIN == 0) && !defined(BOOST_NO_INTRINSIC_WCHAR_T) #if defined(WCHAR_MIN) && (WCHAR_MIN == 0) && !defined(BOOST_NO_INTRINSIC_WCHAR_T)
inline bool can_start(wchar_t c, const unsigned char* map, unsigned char mask) inline bool can_start(wchar_t c, const unsigned char* map, unsigned char mask)
{ {
return ((c >= (1 << CHAR_BIT)) ? true : map[c] & mask); return ((c >= (1 << CHAR_BIT)) ? true : map[c] & mask);
} }
#endif #endif
#endif
// //

View File

@ -65,6 +65,7 @@ public:
: end(last), re(*p), flags(f){ subs.push_back(sub); } : end(last), re(*p), flags(f){ subs.push_back(sub); }
regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, const std::vector<int>& v, match_flag_type f) regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, const std::vector<int>& v, match_flag_type f)
: end(last), re(*p), flags(f), subs(v){} : end(last), re(*p), flags(f), subs(v){}
#if !BOOST_WORKAROUND(__HP_aCC, BOOST_TESTED_AT(55500))
#if (BOOST_WORKAROUND(__BORLANDC__, >= 0x560) && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570)))\ #if (BOOST_WORKAROUND(__BORLANDC__, >= 0x560) && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570)))\
|| BOOST_WORKAROUND(BOOST_MSVC, < 1300) \ || BOOST_WORKAROUND(BOOST_MSVC, < 1300) \
|| BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) \ || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) \
@ -92,7 +93,7 @@ public:
} }
} }
#endif #endif
#endif
bool init(BidirectionalIterator first) bool init(BidirectionalIterator first)
{ {
N = 0; N = 0;
@ -196,6 +197,7 @@ public:
if(!pdata->init(a)) if(!pdata->init(a))
pdata.reset(); pdata.reset();
} }
#if !BOOST_WORKAROUND(__HP_aCC, BOOST_TESTED_AT(55500))
#if (BOOST_WORKAROUND(__BORLANDC__, >= 0x560) && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570)))\ #if (BOOST_WORKAROUND(__BORLANDC__, >= 0x560) && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570)))\
|| BOOST_WORKAROUND(BOOST_MSVC, < 1300) \ || BOOST_WORKAROUND(BOOST_MSVC, < 1300) \
|| BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) \ || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) \
@ -217,6 +219,7 @@ public:
if(!pdata->init(a)) if(!pdata->init(a))
pdata.reset(); pdata.reset();
} }
#endif
#endif #endif
regex_token_iterator(const regex_token_iterator& that) regex_token_iterator(const regex_token_iterator& that)
: pdata(that.pdata) {} : pdata(that.pdata) {}

View File

@ -77,7 +77,8 @@ inline bool is_combining<unsigned char>(unsigned char)
{ {
return false; return false;
} }
#ifdef _MSC_VER #ifndef __HP_aCC
#ifdef _MSC_VER
template<> template<>
inline bool is_combining<wchar_t>(wchar_t c) inline bool is_combining<wchar_t>(wchar_t c)
{ {
@ -98,6 +99,7 @@ inline bool is_combining<wchar_t>(wchar_t c)
} }
#endif #endif
#endif #endif
#endif
// //
// is a charT c a line separator? // is a charT c a line separator?