Moved some config code into boost.config (ABI and lib selection code).

[SVN r19546]
This commit is contained in:
John Maddock
2003-08-12 11:23:02 +00:00
parent ae95ac6ad0
commit e4248fcb19
33 changed files with 276 additions and 185 deletions

View File

@ -59,6 +59,9 @@
# include <boost/detail/allocator.hpp> # include <boost/detail/allocator.hpp>
# include <boost/regex/config/cstring.hpp> # include <boost/regex/config/cstring.hpp>
# include <boost/throw_exception.hpp> # include <boost/throw_exception.hpp>
# ifndef BOOST_NO_STD_LOCALE
# include <locale>
# endif
#else #else
// //
// C build, // C build,
@ -223,7 +226,11 @@ using std::distance;
#endif #endif
#if (defined(BOOST_MSVC) || defined(__BORLANDC__)) && !defined(BOOST_REGEX_NO_LIB) && !defined(BOOST_REGEX_SOURCE) #if (defined(BOOST_MSVC) || defined(__BORLANDC__)) && !defined(BOOST_REGEX_NO_LIB) && !defined(BOOST_REGEX_SOURCE)
# include <boost/regex/config/regex_library_include.hpp> # define BOOST_LIB_NAME "boost_regex"
# ifdef BOOST_REGEX_DYN_LINK
# define BOOST_DYN_LINK
# endif
# include <boost/config/auto_link.hpp>
#endif #endif
/***************************************************************************** /*****************************************************************************
@ -612,3 +619,4 @@ BOOST_REGEX_DECL void BOOST_REGEX_CALL print_regex_library_info();
#endif #endif

View File

@ -33,23 +33,29 @@
namespace std{ namespace std{
#ifndef BOOST_NO_STDC_NAMESPACE #ifdef __BORLANDC__
extern "C"{ #pragma option push -w-8008 -w-8066 -w-8004
#endif #endif
#ifdef BOOST_NO_STDC_NAMESPACE
// Any function that is a macro is converted into an inline function: // Any function that is a macro is converted into an inline function:
#ifdef memcmp #ifdef memcmp
inline int (memcmp)(const void * p1, const void * p2, size_t s) inline int boost_memcmp(const void * p1, const void * p2, size_t s)
{ return memcmp(p1, p2, s); } { return memcmp(p1, p2, s); }
#undef memcmp #undef memcmp
inline int memcmp(const void * p1, const void * p2, size_t s)
{ return boost_memcmp(p1, p2, s); }
#elif defined(BOOST_NO_STDC_NAMESPACE) #elif defined(BOOST_NO_STDC_NAMESPACE)
using ::memcmp; using ::memcmp;
#endif #endif
#ifdef memcpy #ifdef memcpy
inline void *(memcpy)(void * p1, const void *p2, size_t s) inline void *boost_memcpy(void * p1, const void *p2, size_t s)
{ return memcpy(p1, p2, s); } { return memcpy(p1, p2, s); }
#undef memcpy #undef memcpy
inline void *memcpy(void * p1, const void *p2, size_t s)
{ return boost_memcpy(p1, p2, s); }
#elif defined(BOOST_NO_STDC_NAMESPACE) #elif defined(BOOST_NO_STDC_NAMESPACE)
using ::memcpy; using ::memcpy;
#endif #endif
@ -63,121 +69,151 @@ using ::memmove;
#endif #endif
#ifdef memset #ifdef memset
inline void *(memset)(void *p, int a, size_t b) inline void *(boost_memset)(void *p, int a, size_t b)
{ return memset(p,a,b); } { return memset(p,a,b); }
#undef memset #undef memset
inline void *(memset)(void *p, int a, size_t b)
{ return boost_memset(p,a,b); }
#elif defined(BOOST_NO_STDC_NAMESPACE) #elif defined(BOOST_NO_STDC_NAMESPACE)
using ::memset; using ::memset;
#endif #endif
#ifdef strcat #ifdef strcat
inline char *(strcat)(char *p1, const char *p2) inline char *(boost_strcat)(char *p1, const char *p2)
{ return strcat(p1,p2); } { return strcat(p1,p2); }
#undef strcat #undef strcat
inline char *(strcat)(char *p1, const char *p2)
{ return boost_strcat(p1,p2); }
#elif defined(BOOST_NO_STDC_NAMESPACE) #elif defined(BOOST_NO_STDC_NAMESPACE)
using ::strcat; using ::strcat;
#endif #endif
#ifdef strcmp #ifdef strcmp
inline int (strcmp)(const char *p1, const char *p2) inline int (boost_strcmp)(const char *p1, const char *p2)
{ return strcmp(p1,p2); } { return strcmp(p1,p2); }
#undef strcmp #undef strcmp
inline int (strcmp)(const char *p1, const char *p2)
{ return boost_strcmp(p1,p2); }
#elif defined(BOOST_NO_STDC_NAMESPACE) #elif defined(BOOST_NO_STDC_NAMESPACE)
using ::strcmp; using ::strcmp;
#endif #endif
#ifdef strcoll #ifdef strcoll
inline int (strcoll)(const char *p1, const char *p2) inline int (boost_strcoll) (const char *p1, const char *p2)
{ return strcoll(p1,p2); } { return strcoll(p1,p2); }
#undef strcoll #undef strcoll
inline int (strcoll) (const char *p1, const char *p2)
{ return boost_strcoll(p1,p2); }
#elif defined(BOOST_NO_STDC_NAMESPACE) #elif defined(BOOST_NO_STDC_NAMESPACE)
using ::strcoll; using ::strcoll;
#endif #endif
#ifdef strcpy #ifdef strcpy
inline char *(strcpy)(char *p1, const char *p2) inline char *(boost_strcpy)(char *p1, const char *p2)
{ return strcpy(p1,p2); } { return strcpy(p1,p2); }
#undef strcpy #undef strcpy
inline char *(strcpy)(char *p1, const char *p2)
{ return boost_strcpy(p1,p2); }
#elif defined(BOOST_NO_STDC_NAMESPACE) #elif defined(BOOST_NO_STDC_NAMESPACE)
using ::strcpy; using ::strcpy;
#endif #endif
#ifdef strlen #ifdef strlen
inline size_t (strlen)(const char *p) inline size_t (boost_strlen)(const char *p)
{ return strlen(p); } { return strlen(p); }
#undef strlen #undef strlen
inline size_t (strlen)(const char *p)
{ return boost_strlen(p); }
#elif defined(BOOST_NO_STDC_NAMESPACE) #elif defined(BOOST_NO_STDC_NAMESPACE)
using ::strlen; using ::strlen;
#endif #endif
#ifdef strxfrm #ifdef strxfrm
inline size_t (strxfrm)(char *p1, const char *p2, size_t s) inline size_t (boost_strxfrm)(char *p1, const char *p2, size_t s)
{ return strxfrm(p1,p2,s); } { return strxfrm(p1,p2,s); }
#undef strxfrm #undef strxfrm
inline size_t (strxfrm)(char *p1, const char *p2, size_t s)
{ return boost_strxfrm(p1,p2,s); }
#elif defined(BOOST_NO_STDC_NAMESPACE) #elif defined(BOOST_NO_STDC_NAMESPACE)
using ::strxfrm; using ::strxfrm;
#endif #endif
#ifdef isalnum #ifdef isalnum
inline int (isalnum)(int i) inline int (boost_isalnum)(int i)
{ return isalnum(i); } { return isalnum(i); }
#undef isalnum #undef isalnum
inline int (isalnum)(int i)
{ return boost_isalnum(i); }
#elif defined(BOOST_NO_STDC_NAMESPACE) #elif defined(BOOST_NO_STDC_NAMESPACE)
using ::isalnum; using ::isalnum;
#endif #endif
#ifdef isalpha #ifdef isalpha
inline int (isalpha)(int i) inline int (boost_isalpha)(int i)
{ return isalpha(i); } { return isalpha(i); }
#undef isalpha #undef isalpha
inline int (isalpha)(int i)
{ return boost_isalpha(i); }
#elif defined(BOOST_NO_STDC_NAMESPACE) #elif defined(BOOST_NO_STDC_NAMESPACE)
using ::isalpha; using ::isalpha;
#endif #endif
#ifdef iscntrl #ifdef iscntrl
inline int (iscntrl)(int i) inline int (boost_iscntrl)(int i)
{ return iscntrl(i); } { return iscntrl(i); }
#undef iscntrl #undef iscntrl
inline int (iscntrl)(int i)
{ return boost_iscntrl(i); }
#elif defined(BOOST_NO_STDC_NAMESPACE) #elif defined(BOOST_NO_STDC_NAMESPACE)
using ::iscntrl; using ::iscntrl;
#endif #endif
#ifdef isdigit #ifdef isdigit
inline int (isdigit)(int i) inline int (boost_isdigit)(int i)
{ return isdigit(i); } { return isdigit(i); }
#undef isdigit #undef isdigit
inline int (isdigit)(int i)
{ return boost_isdigit(i); }
#elif defined(BOOST_NO_STDC_NAMESPACE) #elif defined(BOOST_NO_STDC_NAMESPACE)
using ::isdigit; using ::isdigit;
#endif #endif
#ifdef isgraph #ifdef isgraph
inline int (isgraph)(int i) inline int (boost_isgraph)(int i)
{ return isgraph(i); } { return isgraph(i); }
#undef isgraph #undef isgraph
inline int (isgraph)(int i)
{ return boost_isgraph(i); }
#elif defined(BOOST_NO_STDC_NAMESPACE) #elif defined(BOOST_NO_STDC_NAMESPACE)
using ::isgraph; using ::isgraph;
#endif #endif
#ifdef islower #ifdef islower
inline int (islower)(int i) inline int (boost_islower)(int i)
{ return islower(i); } { return islower(i); }
#undef islower #undef islower
inline int (islower)(int i)
{ return boost_islower(i); }
#elif defined(BOOST_NO_STDC_NAMESPACE) #elif defined(BOOST_NO_STDC_NAMESPACE)
using ::islower; using ::islower;
#endif #endif
#ifdef isprint #ifdef isprint
inline int (isprint)(int i) inline int (boost_isprint)(int i)
{ return isprint(i); } { return isprint(i); }
#undef isprint #undef isprint
inline int (isprint)(int i)
{ return boost_isprint(i); }
#elif defined(BOOST_NO_STDC_NAMESPACE) #elif defined(BOOST_NO_STDC_NAMESPACE)
using ::isprint; using ::isprint;
#endif #endif
#ifdef ispunct #ifdef ispunct
inline int (ispunct)(int i) inline int (boost_ispunct)(int i)
{ return ispunct(i); } { return ispunct(i); }
#undef ispunct #undef ispunct
inline int (ispunct)(int i)
{ return boost_ispunct(i); }
#elif defined(BOOST_NO_STDC_NAMESPACE) #elif defined(BOOST_NO_STDC_NAMESPACE)
using ::ispunct; using ::ispunct;
#endif #endif
@ -185,6 +221,9 @@ using ::ispunct;
#ifdef isspace #ifdef isspace
inline int (isspace)(int i) inline int (isspace)(int i)
{ return isspace(i); } { return isspace(i); }
#undef isspace
inline int (boost_isspace)(int i)
{ return boost_isspace(i); }
#elif defined(BOOST_NO_STDC_NAMESPACE) #elif defined(BOOST_NO_STDC_NAMESPACE)
using ::isspace; using ::isspace;
#endif #endif
@ -201,28 +240,62 @@ using ::isupper;
inline int (isxdigit)(int i) inline int (isxdigit)(int i)
{ return isxdigit(i); } { return isxdigit(i); }
#undef isxdigit #undef isxdigit
inline int (boost_isxdigit)(int i)
{ return boost_isxdigit(i); }
#elif defined(BOOST_NO_STDC_NAMESPACE) #elif defined(BOOST_NO_STDC_NAMESPACE)
using ::isxdigit; using ::isxdigit;
#endif #endif
#ifdef tolower #ifdef tolower
inline int (tolower)(int i) inline int (boost_tolower)(int i)
{ return tolower(i); } { return tolower(i); }
#undef tolower #undef tolower
inline int (tolower)(int i)
{ return boost_tolower(i); }
#elif defined(BOOST_NO_STDC_NAMESPACE) #elif defined(BOOST_NO_STDC_NAMESPACE)
using ::tolower; using ::tolower;
#endif #endif
#ifdef toupper #ifdef toupper
inline int (toupper)(int i) inline int (boost_toupper)(int i)
{ return toupper(i); } { return toupper(i); }
#undef toupper #undef toupper
inline int (toupper)(int i)
{ return boost_toupper(i); }
#elif defined(BOOST_NO_STDC_NAMESPACE) #elif defined(BOOST_NO_STDC_NAMESPACE)
using ::toupper; using ::toupper;
#endif #endif
#ifndef BOOST_NO_STDC_NAMESPACE #ifdef __BORLANDC__
} // extern "C" #pragma option pop
#endif
#else
#undef memcmp
#undef memcpy
#undef memmove
#undef memset
#undef strcat
#undef strcmp
#undef strcoll
#undef strcpy
#undef strlen
#undef strxfrm
#undef isalnum
#undef isalpha
#undef iscntrl
#undef isdigit
#undef isgraph
#undef islower
#undef isprint
#undef ispunct
#undef isspace
#undef isupper
#undef isxdigit
#undef tolower
#undef toupper
#endif #endif
} // namespace std } // namespace std

View File

@ -29,8 +29,8 @@
namespace boost{ namespace boost{
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
#pragma option push -a8 -b -Vx -Ve -pc # include BOOST_ABI_PREFIX
#endif #endif
#ifdef BOOST_MSVC #ifdef BOOST_MSVC
@ -54,9 +54,8 @@ public:
~bad_expression() throw(); ~bad_expression() throw();
}; };
#ifdef BOST_HAS_ABI_HEADERS
#ifdef __BORLANDC__ # include BOOST_ABI_SUFFIX
#pragma option pop
#endif #endif
} // namespace boost } // namespace boost

View File

@ -24,8 +24,8 @@
#ifndef BOOST_REGEX_V4_BASIC_REGEX_HPP #ifndef BOOST_REGEX_V4_BASIC_REGEX_HPP
#define BOOST_REGEX_V4_BASIC_REGEX_HPP #define BOOST_REGEX_V4_BASIC_REGEX_HPP
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
# pragma option push -a8 -b -Vx -Ve -pc -w-8027 # include BOOST_ABI_PREFIX
#endif #endif
namespace boost{ namespace boost{
@ -388,8 +388,8 @@ public:
} // namespace boost } // namespace boost
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
# pragma option pop # include BOOST_ABI_SUFFIX
#endif #endif
#endif #endif

View File

@ -29,8 +29,8 @@
#endif #endif
#include <boost/regex/v4/match_flags.hpp> #include <boost/regex/v4/match_flags.hpp>
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
#pragma option push -a8 -b -Vx -Ve -pc # include BOOST_ABI_PREFIX
#endif #endif
/* include these defs only for POSIX compatablity */ /* include these defs only for POSIX compatablity */
@ -160,20 +160,15 @@ typedef enum
REG_E_UNKNOWN = 18 /* unknown error */ REG_E_UNKNOWN = 18 /* unknown error */
} reg_errcode_t; } reg_errcode_t;
#ifdef BOST_HAS_ABI_HEADERS
# include BOOST_ABI_SUFFIX
#endif
#ifdef __cplusplus #ifdef __cplusplus
} // extern "C" } // extern "C"
} // namespace } // namespace
#endif #endif
#ifdef __BORLANDC__
#if __BORLANDC__ > 0x520
#pragma option pop
#endif
#endif
// //
// C++ high level wrapper goes here: // C++ high level wrapper goes here:
// //
@ -182,12 +177,8 @@ typedef enum
#include <vector> #include <vector>
namespace boost{ namespace boost{
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
#if __BORLANDC__ == 0x530 # include BOOST_ABI_PREFIX
#pragma option push -a4 -b
#elif __BORLANDC__ > 0x530
#pragma option push -a8 -b
#endif
#endif #endif
class RegEx; class RegEx;
@ -273,8 +264,8 @@ public:
friend struct re_detail::pred4; friend struct re_detail::pred4;
}; };
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
#pragma option pop # include BOOST_ABI_SUFFIX
#endif #endif
} // namespace boost } // namespace boost

View File

@ -82,8 +82,8 @@ using std::list;
namespace boost{ namespace boost{
namespace re_detail{ namespace re_detail{
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
#pragma option push -a8 -b -Vx -Ve -pc # include BOOST_ABI_PREFIX
#endif #endif
struct _fi_find_data struct _fi_find_data
@ -102,12 +102,6 @@ _fi_find_handle _fi_FindFirstFile(const char* lpFileName, _fi_find_data* lpFindF
bool _fi_FindNextFile(_fi_find_handle hFindFile, _fi_find_data* lpFindFileData); bool _fi_FindNextFile(_fi_find_handle hFindFile, _fi_find_data* lpFindFileData);
bool _fi_FindClose(_fi_find_handle hFindFile); bool _fi_FindClose(_fi_find_handle hFindFile);
#ifdef __BORLANDC__
#if __BORLANDC__ > 0x520
#pragma option pop
#endif
#endif
} // namespace re_detail } // namespace re_detail
} // namespace boost } // namespace boost
@ -130,14 +124,6 @@ bool _fi_FindClose(_fi_find_handle hFindFile);
namespace boost{ namespace boost{
namespace re_detail{ namespace re_detail{
#ifdef __BORLANDC__
#if __BORLANDC__ == 0x530
#pragma option push -a4 -b
#elif __BORLANDC__ > 0x530
#pragma option push -a8 -b
#endif
#endif
#ifdef BOOST_REGEX_FI_WIN32_MAP // win32 mapfile #ifdef BOOST_REGEX_FI_WIN32_MAP // win32 mapfile
class BOOST_REGEX_DECL mapfile class BOOST_REGEX_DECL mapfile
@ -424,8 +410,8 @@ inline bool operator < (const directory_iterator&, const directory_iterator&)
return false; return false;
} }
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
#pragma option pop # include BOOST_ABI_SUFFIX
#endif #endif

View File

@ -43,7 +43,9 @@ namespace boost{
#ifdef __BORLANDC__ #ifdef __BORLANDC__
#pragma option push -a8 -b -Vx -Ve -pc #ifdef BOST_HAS_ABI_HEADERS
# include BOOST_ABI_PREFIX
#endif
# ifndef BOOST_REGEX_INSTANTIATE # ifndef BOOST_REGEX_INSTANTIATE
# pragma option push -Jgx # pragma option push -Jgx
@ -55,7 +57,9 @@ template class BOOST_REGEX_DECL reg_expression< BOOST_REGEX_CHAR_T >;
# pragma option pop # pragma option pop
# endif # endif
#pragma option pop #ifdef BOST_HAS_ABI_HEADERS
# include BOOST_ABI_SUFFIX
#endif
#elif defined(BOOST_MSVC) || defined(__GNUC__) #elif defined(BOOST_MSVC) || defined(__GNUC__)

View File

@ -23,8 +23,8 @@
#ifndef BOOST_REGEX_V4_ITERATOR_TRAITS_HPP #ifndef BOOST_REGEX_V4_ITERATOR_TRAITS_HPP
#define BOOST_REGEX_V4_ITERATOR_TRAITS_HPP #define BOOST_REGEX_V4_ITERATOR_TRAITS_HPP
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
# pragma option push -a8 -b -Vx -Ve -pc -w-8027 # include BOOST_ABI_PREFIX
#endif #endif
namespace boost{ namespace boost{
@ -99,8 +99,8 @@ struct regex_iterator_traits : public std::iterator_traits<T> {};
} // namespace re_detail } // namespace re_detail
} // namespace boost } // namespace boost
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
# pragma option pop # include BOOST_ABI_SUFFIX
#endif #endif
#endif #endif

View File

@ -23,8 +23,8 @@
#ifndef BOOST_REGEX_V4_MATCH_RESULTS_HPP #ifndef BOOST_REGEX_V4_MATCH_RESULTS_HPP
#define BOOST_REGEX_V4_MATCH_RESULTS_HPP #define BOOST_REGEX_V4_MATCH_RESULTS_HPP
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
# pragma option push -a8 -b -Vx -Ve -pc -w-8027 # include BOOST_ABI_PREFIX
#endif #endif
namespace boost{ namespace boost{
@ -313,8 +313,8 @@ std::ostream& operator << (std::ostream& os,
} // namespace boost } // namespace boost
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
# pragma option pop # include BOOST_ABI_SUFFIX
#endif #endif
#endif #endif

View File

@ -25,8 +25,8 @@
#include <new> #include <new>
#include <boost/regex/v4/regex_synch.hpp> #include <boost/regex/v4/regex_synch.hpp>
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
# pragma option push -a8 -b -Vx -Ve -pc -w-8027 # include BOOST_ABI_PREFIX
#endif #endif
namespace boost{ namespace boost{
@ -90,8 +90,8 @@ extern mem_block_cache block_cache;
} }
} // namespace boost } // namespace boost
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
# pragma option pop # include BOOST_ABI_SUFFIX
#endif #endif
#endif #endif

View File

@ -19,8 +19,8 @@
#include <boost/regex/v4/iterator_category.hpp> #include <boost/regex/v4/iterator_category.hpp>
#include <boost/scoped_ptr.hpp> #include <boost/scoped_ptr.hpp>
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
#pragma option push -a8 -b -Vx -Ve -pc -w-8026 -w-8027 # include BOOST_ABI_PREFIX
#endif #endif
namespace boost{ namespace boost{
@ -426,6 +426,10 @@ private:
} // namespace re_detail } // namespace re_detail
#ifdef BOST_HAS_ABI_HEADERS
# include BOOST_ABI_SUFFIX
#endif
} // namespace boost } // namespace boost
// //
@ -439,8 +443,4 @@ private:
// this one has to be last: // this one has to be last:
#include <boost/regex/v4/perl_matcher_common.hpp> #include <boost/regex/v4/perl_matcher_common.hpp>
#ifdef __BORLANDC__
#pragma option pop
#endif
#endif #endif

View File

@ -24,8 +24,12 @@
#ifndef BOOST_REGEX_V4_PERL_MATCHER_COMMON_HPP #ifndef BOOST_REGEX_V4_PERL_MATCHER_COMMON_HPP
#define BOOST_REGEX_V4_PERL_MATCHER_COMMON_HPP #define BOOST_REGEX_V4_PERL_MATCHER_COMMON_HPP
#ifdef BOST_HAS_ABI_HEADERS
# include BOOST_ABI_PREFIX
#endif
#ifdef __BORLANDC__ #ifdef __BORLANDC__
# pragma option push -a8 -b -Vx -Ve -pc -w-8027 -w-8066 -w-8008 # pragma option push -w-8008 -w-8066
#endif #endif
namespace boost{ namespace boost{
@ -789,5 +793,8 @@ bool perl_matcher<BidiIterator, Allocator, traits, Allocator2>::find_restart_lit
#ifdef __BORLANDC__ #ifdef __BORLANDC__
# pragma option pop # pragma option pop
#endif #endif
#ifdef BOST_HAS_ABI_HEADERS
# include BOOST_ABI_SUFFIX
#endif
#endif #endif

View File

@ -26,8 +26,11 @@
#include <new> #include <new>
#ifdef BOST_HAS_ABI_HEADERS
# include BOOST_ABI_PREFIX
#endif
#ifdef __BORLANDC__ #ifdef __BORLANDC__
# pragma option push -a8 -b -Vx -Ve -pc -w-8027 -w-8066 -w-8008 #pragma option push -w-8008 -w-8066 -w-8004
#endif #endif
namespace boost{ namespace boost{
@ -1156,7 +1159,7 @@ bool perl_matcher<BidiIterator, Allocator, traits, Allocator2>::unwind_long_set_
saved_single_repeat<BidiIterator>* pmp = static_cast<saved_single_repeat<BidiIterator>*>(m_backup_state); saved_single_repeat<BidiIterator>* pmp = static_cast<saved_single_repeat<BidiIterator>*>(m_backup_state);
// if we have a match, just discard this state: // if we have a match, just discard this state:
if(r) if(r)
{ {
destroy_single_repeat(); destroy_single_repeat();
return true; return true;
@ -1194,7 +1197,7 @@ bool perl_matcher<BidiIterator, Allocator, traits, Allocator2>::unwind_long_set_
} }
if(position == last) if(position == last)
{ {
// can't repeat any more, remove the pushed state: // can't repeat any more, remove the pushed state:
destroy_single_repeat(); destroy_single_repeat();
if(rep->can_be_null & mask_skip) if(rep->can_be_null & mask_skip)
return true; return true;
@ -1234,7 +1237,10 @@ bool perl_matcher<BidiIterator, Allocator, traits, Allocator2>::unwind_non_greed
} // namespace boost } // namespace boost
#ifdef __BORLANDC__ #ifdef __BORLANDC__
# pragma option pop #pragma option pop
#endif
#ifdef BOST_HAS_ABI_HEADERS
# include BOOST_ABI_SUFFIX
#endif #endif
#endif #endif

View File

@ -24,8 +24,11 @@
#ifndef BOOST_REGEX_V4_PERL_MATCHER_RECURSIVE_HPP #ifndef BOOST_REGEX_V4_PERL_MATCHER_RECURSIVE_HPP
#define BOOST_REGEX_V4_PERL_MATCHER_RECURSIVE_HPP #define BOOST_REGEX_V4_PERL_MATCHER_RECURSIVE_HPP
#ifdef BOST_HAS_ABI_HEADERS
# include BOOST_ABI_PREFIX
#endif
#ifdef __BORLANDC__ #ifdef __BORLANDC__
# pragma option push -a8 -b -Vx -Ve -pc -w-8027 -w-8066 -w-8008 #pragma option push -w-8008 -w-8066 -w-8004
#endif #endif
namespace boost{ namespace boost{
@ -683,9 +686,11 @@ bool perl_matcher<BidiIterator, Allocator, traits, Allocator2>::backtrack_till_m
} // namespace re_detail } // namespace re_detail
} // namespace boost } // namespace boost
#ifdef __BORLANDC__ #ifdef __BORLANDC__
# pragma option pop #pragma option pop
#endif
#ifdef BOST_HAS_ABI_HEADERS
# include BOOST_ABI_SUFFIX
#endif #endif
#endif #endif

View File

@ -23,8 +23,8 @@
#ifndef BOOST_REGEX_V4_REGBASE_HPP #ifndef BOOST_REGEX_V4_REGBASE_HPP
#define BOOST_REGEX_V4_REGBASE_HPP #define BOOST_REGEX_V4_REGBASE_HPP
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
# pragma option push -a8 -b -Vx -Ve -pc -w-8027 # include BOOST_ABI_PREFIX
#endif #endif
namespace boost{ namespace boost{
@ -145,8 +145,8 @@ namespace regex_constants{
} // namespace boost } // namespace boost
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
# pragma option pop # include BOOST_ABI_SUFFIX
#endif #endif
#endif #endif

View File

@ -25,10 +25,14 @@
#define BOOST_REGEX_COMPILE_HPP #define BOOST_REGEX_COMPILE_HPP
namespace boost{ namespace boost{
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
#pragma option push -a8 -b -Vx -Ve -pc -w-8004 # include BOOST_ABI_PREFIX
#endif #endif
namespace re_detail{ #ifdef __BORLANDC__
#pragma option push -w-8004
#endif
namespace re_detail{
template <class traits> template <class traits>
@ -2160,9 +2164,11 @@ void BOOST_REGEX_CALL reg_expression<charT, traits, Allocator>::fail(unsigned in
_flags &= ~regex_constants::failbit; _flags &= ~regex_constants::failbit;
} }
#ifdef __BORLANDC__ #ifdef __BORLANDC__
#pragma option pop #pragma option pop
#endif
#ifdef BOST_HAS_ABI_HEADERS
# include BOOST_ABI_SUFFIX
#endif #endif
} // namespace boost } // namespace boost

View File

@ -34,10 +34,6 @@
namespace boost{ namespace boost{
namespace re_detail{ namespace re_detail{
#ifdef __BORLANDC__
#pragma option push -a8 -b -Vx -Ve -pc
#endif
// //
// start by defining some template function aliases for C API functions: // start by defining some template function aliases for C API functions:
// //
@ -119,10 +115,6 @@ inline void BOOST_REGEX_CALL re_strfree(charT* p)
delete[] p; delete[] p;
} }
#ifdef __BORLANDC__
#pragma option pop
#endif
} // namespace re_detail } // namespace re_detail
} // namespace boost } // namespace boost

View File

@ -28,8 +28,8 @@
namespace boost{ namespace boost{
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
#pragma option push -a8 -b -Vx -Ve -pc -w-8037 # include BOOST_ABI_PREFIX
#endif #endif
// //
@ -143,6 +143,9 @@ OutputIterator BOOST_REGEX_CALL _reg_format_aux(OutputIterator out,
const charT*& fmt, const charT*& fmt,
match_flag_type flags, const traits_type& traits_inst) match_flag_type flags, const traits_type& traits_inst)
{ {
#ifdef __BORLANDC__
#pragma option push -w-8037
#endif
const charT* fmt_end = fmt; const charT* fmt_end = fmt;
while(*fmt_end) ++ fmt_end; while(*fmt_end) ++ fmt_end;
@ -424,6 +427,9 @@ default_opt:
} }
return out; return out;
#ifdef __BORLANDC__
#pragma option pop
#endif
} }
#if defined(BOOST_REGEX_NO_TEMPLATE_SWITCH_MERGE) #if defined(BOOST_REGEX_NO_TEMPLATE_SWITCH_MERGE)
@ -520,8 +526,8 @@ std::basic_string<charT> regex_format(const match_results<Iterator, Allocator>&
return result; return result;
} }
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
#pragma option pop # include BOOST_ABI_SUFFIX
#endif #endif
} // namespace boost } // namespace boost

View File

@ -26,11 +26,10 @@
namespace boost{ namespace boost{
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
#pragma option push -a8 -b -Vx -Ve -pc -w-8037 # include BOOST_ABI_PREFIX
#endif #endif
// //
// regex_grep: // regex_grep:
// find all non-overlapping matches within the sequence first last: // find all non-overlapping matches within the sequence first last:
@ -138,8 +137,8 @@ inline unsigned int regex_grep(bool (*foo)(const match_results<std::basic_string
#endif #endif
#endif #endif
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
#pragma option pop # include BOOST_ABI_SUFFIX
#endif #endif
} // namespace boost } // namespace boost

View File

@ -27,6 +27,10 @@
namespace boost{ namespace boost{
#ifdef BOST_HAS_ABI_HEADERS
# include BOOST_ABI_PREFIX
#endif
template <class BidirectionalIterator, template <class BidirectionalIterator,
class charT, class charT,
class traits, class traits,
@ -148,6 +152,9 @@ private:
} }
}; };
#ifdef BOST_HAS_ABI_HEADERS
# include BOOST_ABI_SUFFIX
#endif
} // namespace boost } // namespace boost

View File

@ -33,8 +33,8 @@
namespace boost{ namespace boost{
namespace re_detail{ namespace re_detail{
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
#pragma option push -a8 -b -Vx -Ve -pc # include BOOST_ABI_PREFIX
#endif #endif
template <class charT> template <class charT>
@ -98,8 +98,8 @@ kmp_info<charT>* kmp_compile(iterator first, iterator last, charT, Trans transla
return pinfo; return pinfo;
} }
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
#pragma option pop # include BOOST_ABI_SUFFIX
#endif #endif
} // namepsace re_detail } // namepsace re_detail

View File

@ -36,8 +36,8 @@
namespace boost{ namespace boost{
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
#pragma option push -a8 -b -Vx -Ve -pc -w-8026 -w-8027 # include BOOST_ABI_PREFIX
#endif #endif
// //
@ -169,8 +169,8 @@ inline bool regex_match(const std::basic_string<wchar_t>& s,
#endif #endif
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
#pragma option pop # include BOOST_ABI_SUFFIX
#endif #endif
} // namespace boost } // namespace boost

View File

@ -28,8 +28,8 @@
namespace boost{ namespace boost{
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
#pragma option push -a8 -b -Vx -Ve -pc -w-8037 # include BOOST_ABI_PREFIX
#endif #endif
template <class OutputIterator, class Iterator, class traits, class Allocator, class charT> template <class OutputIterator, class Iterator, class traits, class Allocator, class charT>
@ -72,8 +72,8 @@ inline std::basic_string<charT> regex_merge(const std::basic_string<charT>& s,
return regex_replace(s, e, fmt, flags); return regex_replace(s, e, fmt, flags);
} }
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
#pragma option pop # include BOOST_ABI_SUFFIX
#endif #endif
} // namespace boost } // namespace boost

View File

@ -32,8 +32,8 @@
namespace boost{ namespace boost{
namespace re_detail{ namespace re_detail{
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
#pragma option push -a8 -b -Vx -Ve -pc # include BOOST_ABI_PREFIX
#endif #endif
struct empty_padding{}; struct empty_padding{};
@ -241,8 +241,8 @@ void* BOOST_REGEX_CALL raw_storage<Allocator>::insert(size_type pos, size_type n
return result; return result;
} }
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
#pragma option pop # include BOOST_ABI_SUFFIX
#endif #endif
} // namespace re_detail } // namespace re_detail

View File

@ -28,8 +28,8 @@
namespace boost{ namespace boost{
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
#pragma option push -a8 -b -Vx -Ve -pc -w-8037 # include BOOST_ABI_PREFIX
#endif #endif
template <class OutputIterator, class Iterator, class traits, class Allocator, class charT> template <class OutputIterator, class Iterator, class traits, class Allocator, class charT>
@ -81,8 +81,8 @@ std::basic_string<charT> regex_replace(const std::basic_string<charT>& s,
return result; return result;
} }
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
#pragma option pop # include BOOST_ABI_SUFFIX
#endif #endif
} // namespace boost } // namespace boost

View File

@ -26,8 +26,8 @@
namespace boost{ namespace boost{
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
#pragma option push -a8 -b -Vx -Ve -pc -w-8037 # include BOOST_ABI_PREFIX
#endif #endif
template <class BidiIterator, class Allocator, class charT, class traits, class Allocator2> template <class BidiIterator, class Allocator, class charT, class traits, class Allocator2>
@ -187,8 +187,8 @@ inline bool regex_search(const std::basic_string<wchar_t>& s,
#endif #endif
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
#pragma option pop # include BOOST_ABI_SUFFIX
#endif #endif
} // namespace boost } // namespace boost

View File

@ -27,8 +27,8 @@
namespace boost{ namespace boost{
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
#pragma option push -a8 -b -Vx -Ve -pc # include BOOST_ABI_PREFIX
#endif #endif
namespace re_detail{ namespace re_detail{
@ -142,8 +142,8 @@ inline std::size_t regex_split(OutputIterator out,
return regex_split(out, s, re_detail::get_default_expression(charT(0)), match_default, UINT_MAX); return regex_split(out, s, re_detail::get_default_expression(charT(0)), match_default, UINT_MAX);
} }
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
#pragma option pop # include BOOST_ABI_SUFFIX
#endif #endif
} // namespace boost } // namespace boost

View File

@ -35,8 +35,8 @@
namespace boost{ namespace boost{
namespace re_detail{ namespace re_detail{
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
#pragma option push -a8 -b -Vx -Ve -pc # include BOOST_ABI_PREFIX
#endif #endif
// //
@ -60,7 +60,7 @@ private:
T* end; // last item T* end; // last item
T* last; // end of storage T* last; // end of storage
}; };
// //
// empty base member optimisation: // empty base member optimisation:
struct data : public allocator_type struct data : public allocator_type
@ -208,8 +208,8 @@ jstack<T, Allocator>::~jstack()
} }
} }
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
#pragma option pop # include BOOST_ABI_SUFFIX
#endif #endif
} // namespace re_detail } // namespace re_detail

View File

@ -46,8 +46,8 @@
namespace boost{ namespace boost{
namespace re_detail{ namespace re_detail{
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
#pragma option push -a8 -b -Vx -Ve -pc # include BOOST_ABI_PREFIX
#endif #endif
void BOOST_REGEX_CALL re_init_threads(); void BOOST_REGEX_CALL re_init_threads();
@ -197,8 +197,8 @@ BOOST_REGEX_DECL extern unsigned int re_lock_count;
#endif // BOOST_HAS_THREADS #endif // BOOST_HAS_THREADS
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
#pragma option pop # include BOOST_ABI_SUFFIX
#endif #endif
} // namespace re_detail } // namespace re_detail

View File

@ -40,6 +40,14 @@
namespace boost{ namespace boost{
#ifdef BOST_HAS_ABI_HEADERS
# include BOOST_ABI_PREFIX
#endif
#if BOOST_WORKAROUND(BOOST_MSVC, > 1300)
# pragma warning(push)
# pragma warning(disable:4700)
#endif
template <class BidirectionalIterator, template <class BidirectionalIterator,
class charT, class charT,
class traits, class traits,
@ -129,7 +137,7 @@ public:
} }
if(what.prefix().first != what[0].second) if(what.prefix().first != what[0].second)
flags |= match_prev_avail; flags |= match_prev_avail;
BidirectionalIterator last_end = what[0].second; BidirectionalIterator last_end(what[0].second);
if(regex_search(last_end, end, what, *pre, ((what[0].first == what[0].second) ? flags | regex_constants::match_not_initial_null : flags))) if(regex_search(last_end, end, what, *pre, ((what[0].first == what[0].second) ? flags | regex_constants::match_not_initial_null : flags)))
{ {
N =0; N =0;
@ -248,6 +256,12 @@ private:
} }
}; };
#if BOOST_WORKAROUND(BOOST_MSVC, == 1310)
# pragma warning(pop)
#endif
#ifdef BOST_HAS_ABI_HEADERS
# include BOOST_ABI_SUFFIX
#endif
} // namespace boost } // namespace boost

View File

@ -32,8 +32,8 @@
namespace boost{ namespace boost{
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
#pragma option push -a8 -b -Vx -Ve -pc # include BOOST_ABI_PREFIX
#endif #endif
template <class charT> template <class charT>
@ -543,18 +543,6 @@ private:
#if !defined(BOOST_NO_STD_LOCALE) #if !defined(BOOST_NO_STD_LOCALE)
} // namspace boost
#ifdef __BORLANDC__
#pragma option pop
#endif
#include <locale>
#ifdef __BORLANDC__
#pragma option push -a4 -b -Ve -pc
#endif
namespace boost{
namespace re_detail namespace re_detail
{ {
@ -806,8 +794,8 @@ class regex_traits : public cpp_regex_traits<charT>
#error No default localisation model defined #error No default localisation model defined
#endif #endif
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
#pragma option pop # include BOOST_ABI_SUFFIX
#endif #endif
} // namespace boost } // namespace boost

View File

@ -23,8 +23,8 @@
#ifndef BOOST_REGEX_V4_STATES_HPP #ifndef BOOST_REGEX_V4_STATES_HPP
#define BOOST_REGEX_V4_STATES_HPP #define BOOST_REGEX_V4_STATES_HPP
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
# pragma option push -a8 -b -Vx -Ve -pc -w-8027 # include BOOST_ABI_PREFIX
#endif #endif
namespace boost{ namespace boost{
@ -226,8 +226,8 @@ iterator BOOST_REGEX_CALL re_is_set_member(iterator next,
} // namespace boost } // namespace boost
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
# pragma option pop # include BOOST_ABI_SUFFIX
#endif #endif
#endif #endif

View File

@ -23,8 +23,8 @@
#ifndef BOOST_REGEX_V4_SUB_MATCH_HPP #ifndef BOOST_REGEX_V4_SUB_MATCH_HPP
#define BOOST_REGEX_V4_SUB_MATCH_HPP #define BOOST_REGEX_V4_SUB_MATCH_HPP
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
# pragma option push -a8 -b -Vx -Ve -pc -w-8027 # include BOOST_ABI_PREFIX
#endif #endif
namespace boost{ namespace boost{
@ -330,8 +330,8 @@ sub_match<BidiIterator>::operator unsigned int()const
} // namespace boost } // namespace boost
#ifdef __BORLANDC__ #ifdef BOST_HAS_ABI_HEADERS
# pragma option pop # include BOOST_ABI_SUFFIX
#endif #endif
#endif #endif