Fix submodules for realsies

This commit is contained in:
wheremyfoodat
2022-09-28 17:25:35 +03:00
parent 4d1bb6f866
commit 4395013118
1837 changed files with 212975 additions and 55881 deletions

View File

@@ -380,6 +380,7 @@ void print_compiler_macros()
PRINT_MACRO(__clang_minor__);
PRINT_MACRO(__clang_version__);
PRINT_MACRO(__clang_patchlevel__);
PRINT_MACRO(__apple_build_version__);
// misc compilers not covered so far:
PRINT_MACRO(__USLC__);
@@ -848,6 +849,7 @@ void print_stdlib_macros()
PRINT_MACRO(_GLIBCXX_HOSTED);
PRINT_MACRO(_GLIBCXX_SJLJ_EXCEPTIONS);
PRINT_MACRO(_GLIBCXX_RELEASE);
PRINT_MACRO(_GLIBCXX_USE_FLOAT128);
// Modena C++ standard library
PRINT_MACRO(MSIPL_ANSI_HEADER);
@@ -1083,6 +1085,8 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_CV_VOID_SPECIALIZATIONS);
PRINT_MACRO(BOOST_NO_CWCHAR);
PRINT_MACRO(BOOST_NO_CWCTYPE);
PRINT_MACRO(BOOST_NO_CXX03);
PRINT_MACRO(BOOST_NO_CXX11);
PRINT_MACRO(BOOST_NO_CXX11_ADDRESSOF);
PRINT_MACRO(BOOST_NO_CXX11_ALIGNAS);
PRINT_MACRO(BOOST_NO_CXX11_ALLOCATOR);
@@ -1107,6 +1111,7 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_CXX11_HDR_CHRONO);
PRINT_MACRO(BOOST_NO_CXX11_HDR_CODECVT);
PRINT_MACRO(BOOST_NO_CXX11_HDR_CONDITION_VARIABLE);
PRINT_MACRO(BOOST_NO_CXX11_HDR_EXCEPTION);
PRINT_MACRO(BOOST_NO_CXX11_HDR_FORWARD_LIST);
PRINT_MACRO(BOOST_NO_CXX11_HDR_FUNCTIONAL);
PRINT_MACRO(BOOST_NO_CXX11_HDR_FUTURE);
@@ -1129,6 +1134,7 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS);
PRINT_MACRO(BOOST_NO_CXX11_NULLPTR);
PRINT_MACRO(BOOST_NO_CXX11_NUMERIC_LIMITS);
PRINT_MACRO(BOOST_NO_CXX11_OVERRIDE);
PRINT_MACRO(BOOST_NO_CXX11_POINTER_TRAITS);
PRINT_MACRO(BOOST_NO_CXX11_RANGE_BASED_FOR);
PRINT_MACRO(BOOST_NO_CXX11_RAW_LITERALS);
@@ -1144,9 +1150,11 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_CXX11_TRAILING_RESULT_TYPES);
PRINT_MACRO(BOOST_NO_CXX11_UNICODE_LITERALS);
PRINT_MACRO(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX);
PRINT_MACRO(BOOST_NO_CXX11_UNRESTRICTED_UNION);
PRINT_MACRO(BOOST_NO_CXX11_USER_DEFINED_LITERALS);
PRINT_MACRO(BOOST_NO_CXX11_VARIADIC_MACROS);
PRINT_MACRO(BOOST_NO_CXX11_VARIADIC_TEMPLATES);
PRINT_MACRO(BOOST_NO_CXX14);
PRINT_MACRO(BOOST_NO_CXX14_AGGREGATE_NSDMI);
PRINT_MACRO(BOOST_NO_CXX14_BINARY_LITERALS);
PRINT_MACRO(BOOST_NO_CXX14_CONSTEXPR);
@@ -1158,7 +1166,14 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION);
PRINT_MACRO(BOOST_NO_CXX14_STD_EXCHANGE);
PRINT_MACRO(BOOST_NO_CXX14_VARIABLE_TEMPLATES);
PRINT_MACRO(BOOST_NO_CXX17);
PRINT_MACRO(BOOST_NO_CXX17_DEDUCTION_GUIDES);
PRINT_MACRO(BOOST_NO_CXX17_FOLD_EXPRESSIONS);
PRINT_MACRO(BOOST_NO_CXX17_HDR_ANY);
PRINT_MACRO(BOOST_NO_CXX17_HDR_CHARCONV);
PRINT_MACRO(BOOST_NO_CXX17_HDR_EXECUTION);
PRINT_MACRO(BOOST_NO_CXX17_HDR_FILESYSTEM);
PRINT_MACRO(BOOST_NO_CXX17_HDR_MEMORY_RESOURCE);
PRINT_MACRO(BOOST_NO_CXX17_HDR_OPTIONAL);
PRINT_MACRO(BOOST_NO_CXX17_HDR_STRING_VIEW);
PRINT_MACRO(BOOST_NO_CXX17_HDR_VARIANT);
@@ -1168,6 +1183,21 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_CXX17_STD_APPLY);
PRINT_MACRO(BOOST_NO_CXX17_STD_INVOKE);
PRINT_MACRO(BOOST_NO_CXX17_STRUCTURED_BINDINGS);
PRINT_MACRO(BOOST_NO_CXX20_HDR_BARRIER);
PRINT_MACRO(BOOST_NO_CXX20_HDR_BIT);
PRINT_MACRO(BOOST_NO_CXX20_HDR_COMPARE);
PRINT_MACRO(BOOST_NO_CXX20_HDR_CONCEPTS);
PRINT_MACRO(BOOST_NO_CXX20_HDR_COROUTINE);
PRINT_MACRO(BOOST_NO_CXX20_HDR_FORMAT);
PRINT_MACRO(BOOST_NO_CXX20_HDR_LATCH);
PRINT_MACRO(BOOST_NO_CXX20_HDR_NUMBERS);
PRINT_MACRO(BOOST_NO_CXX20_HDR_RANGES);
PRINT_MACRO(BOOST_NO_CXX20_HDR_SEMAPHORE);
PRINT_MACRO(BOOST_NO_CXX20_HDR_SOURCE_LOCATION);
PRINT_MACRO(BOOST_NO_CXX20_HDR_SPAN);
PRINT_MACRO(BOOST_NO_CXX20_HDR_STOP_TOKEN);
PRINT_MACRO(BOOST_NO_CXX20_HDR_SYNCSTREAM);
PRINT_MACRO(BOOST_NO_CXX20_HDR_VERSION);
PRINT_MACRO(BOOST_NO_CXX98_BINDERS);
PRINT_MACRO(BOOST_NO_CXX98_FUNCTION_BASE);
PRINT_MACRO(BOOST_NO_CXX98_RANDOM_SHUFFLE);
@@ -1231,11 +1261,21 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_USING_TEMPLATE);
PRINT_MACRO(BOOST_NO_VOID_RETURNS);
// END GENERATED BLOCK
PRINT_MACRO(BOOST_CXX_VERSION);
PRINT_MACRO(BOOST_INTEL);
PRINT_MACRO(BOOST_MSVC);
PRINT_MACRO(BOOST_GCC);
PRINT_MACRO(BOOST_CLANG);
PRINT_MACRO(BOOST_CLANG_VERSION);
PRINT_MACRO(BOOST_LIBSTDCXX_VERSION);
PRINT_MACRO(BOOST_STD_EXTENSION_NAMESPACE);
PRINT_MACRO(BOOST_UNREACHABLE_RETURN(0));
@@ -1254,10 +1294,150 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NORETURN);
}
#ifdef __has_include
#if __has_include(<version>)
# include <version>
#endif
#if __has_include(<atomic>) && (BOOST_CXX_VERSION > 201100)
# include <atomic>
#endif
#endif
void print_sd6_macros()
{
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0096r5.html
// Library macros are only really available if we have <version> :
PRINT_MACRO(__cpp_lib_addressof_constexpr);
PRINT_MACRO(__cpp_lib_allocator_traits_is_always_equal);
PRINT_MACRO(__cpp_lib_any);
PRINT_MACRO(__cpp_lib_apply);
PRINT_MACRO(__cpp_lib_array_constexpr);
PRINT_MACRO(__cpp_lib_as_const);
PRINT_MACRO(__cpp_lib_assume_aligned);
PRINT_MACRO(__cpp_lib_atomic_flag_test);
PRINT_MACRO(__cpp_lib_atomic_float);
PRINT_MACRO(__cpp_lib_atomic_is_always_lock_free);
PRINT_MACRO(__cpp_lib_atomic_lock_free_type_aliases);
PRINT_MACRO(__cpp_lib_atomic_ref);
PRINT_MACRO(__cpp_lib_atomic_shared_ptr);
PRINT_MACRO(__cpp_lib_atomic_value_initialization);
PRINT_MACRO(__cpp_lib_atomic_wait);
PRINT_MACRO(__cpp_lib_barrier);
PRINT_MACRO(__cpp_lib_bind_front);
PRINT_MACRO(__cpp_lib_bit_cast);
PRINT_MACRO(__cpp_lib_bitops);
PRINT_MACRO(__cpp_lib_bool_constant);
PRINT_MACRO(__cpp_lib_bounded_array_traits);
PRINT_MACRO(__cpp_lib_boyer_moore_searcher);
PRINT_MACRO(__cpp_lib_byte);
PRINT_MACRO(__cpp_lib_char8_t);
PRINT_MACRO(__cpp_lib_chrono);
PRINT_MACRO(__cpp_lib_chrono_udls);
PRINT_MACRO(__cpp_lib_clamp);
PRINT_MACRO(__cpp_lib_complex_udls);
PRINT_MACRO(__cpp_lib_concepts);
PRINT_MACRO(__cpp_lib_constexpr_algorithms);
PRINT_MACRO(__cpp_lib_constexpr_complex);
PRINT_MACRO(__cpp_lib_constexpr_dynamic_alloc);
PRINT_MACRO(__cpp_lib_constexpr_functional);
PRINT_MACRO(__cpp_lib_constexpr_iterator);
PRINT_MACRO(__cpp_lib_constexpr_memory);
PRINT_MACRO(__cpp_lib_constexpr_numeric);
PRINT_MACRO(__cpp_lib_constexpr_string);
PRINT_MACRO(__cpp_lib_constexpr_string_view);
PRINT_MACRO(__cpp_lib_constexpr_tuple);
PRINT_MACRO(__cpp_lib_constexpr_utility);
PRINT_MACRO(__cpp_lib_constexpr_vector);
PRINT_MACRO(__cpp_lib_coroutine);
PRINT_MACRO(__cpp_lib_destroying_delete);
PRINT_MACRO(__cpp_lib_enable_shared_from_this);
PRINT_MACRO(__cpp_lib_endian);
PRINT_MACRO(__cpp_lib_erase_if);
PRINT_MACRO(__cpp_lib_exchange_function);
PRINT_MACRO(__cpp_lib_execution);
PRINT_MACRO(__cpp_lib_filesystem);
PRINT_MACRO(__cpp_lib_format);
PRINT_MACRO(__cpp_lib_gcd_lcm);
PRINT_MACRO(__cpp_lib_generic_associative_lookup);
PRINT_MACRO(__cpp_lib_generic_unordered_lookup);
PRINT_MACRO(__cpp_lib_hardware_interference_size);
PRINT_MACRO(__cpp_lib_has_unique_object_representations);
PRINT_MACRO(__cpp_lib_hypot);
PRINT_MACRO(__cpp_lib_incomplete_container_elements);
PRINT_MACRO(__cpp_lib_int_pow2);
PRINT_MACRO(__cpp_lib_integer_comparison_functions);
PRINT_MACRO(__cpp_lib_integer_sequence);
PRINT_MACRO(__cpp_lib_integral_constant_callable);
PRINT_MACRO(__cpp_lib_interpolate);
PRINT_MACRO(__cpp_lib_invoke);
PRINT_MACRO(__cpp_lib_is_aggregate);
PRINT_MACRO(__cpp_lib_is_constant_evaluated);
PRINT_MACRO(__cpp_lib_is_final);
PRINT_MACRO(__cpp_lib_is_invocable);
PRINT_MACRO(__cpp_lib_is_layout_compatible);
PRINT_MACRO(__cpp_lib_is_nothrow_convertible);
PRINT_MACRO(__cpp_lib_is_null_pointer);
PRINT_MACRO(__cpp_lib_is_pointer_interconvertible);
PRINT_MACRO(__cpp_lib_is_swappable);
PRINT_MACRO(__cpp_lib_jthread);
PRINT_MACRO(__cpp_lib_latch);
PRINT_MACRO(__cpp_lib_launder);
PRINT_MACRO(__cpp_lib_list_remove_return_type);
PRINT_MACRO(__cpp_lib_logical_traits);
PRINT_MACRO(__cpp_lib_make_from_tuple);
PRINT_MACRO(__cpp_lib_make_reverse_iterator);
PRINT_MACRO(__cpp_lib_make_unique);
PRINT_MACRO(__cpp_lib_map_try_emplace);
PRINT_MACRO(__cpp_lib_math_constants);
PRINT_MACRO(__cpp_lib_math_special_functions);
PRINT_MACRO(__cpp_lib_memory_resource);
PRINT_MACRO(__cpp_lib_node_extract);
PRINT_MACRO(__cpp_lib_nonmember_container_access);
PRINT_MACRO(__cpp_lib_not_fn);
PRINT_MACRO(__cpp_lib_null_iterators);
PRINT_MACRO(__cpp_lib_optional);
PRINT_MACRO(__cpp_lib_parallel_algorithm);
PRINT_MACRO(__cpp_lib_polymorphic_allocator);
PRINT_MACRO(__cpp_lib_quoted_string_io);
PRINT_MACRO(__cpp_lib_ranges);
PRINT_MACRO(__cpp_lib_raw_memory_algorithms);
PRINT_MACRO(__cpp_lib_remove_cvref);
PRINT_MACRO(__cpp_lib_result_of_sfinae);
PRINT_MACRO(__cpp_lib_robust_nonmodifying_seq_ops);
PRINT_MACRO(__cpp_lib_sample);
PRINT_MACRO(__cpp_lib_scoped_lock);
PRINT_MACRO(__cpp_lib_semaphore);
PRINT_MACRO(__cpp_lib_shared_mutex);
PRINT_MACRO(__cpp_lib_shared_ptr_arrays);
PRINT_MACRO(__cpp_lib_shared_ptr_weak_type);
PRINT_MACRO(__cpp_lib_shared_timed_mutex);
PRINT_MACRO(__cpp_lib_shift);
PRINT_MACRO(__cpp_lib_smart_ptr_for_overwrite);
PRINT_MACRO(__cpp_lib_source_location);
PRINT_MACRO(__cpp_lib_span);
PRINT_MACRO(__cpp_lib_ssize);
PRINT_MACRO(__cpp_lib_starts_ends_with);
PRINT_MACRO(__cpp_lib_string_udls);
PRINT_MACRO(__cpp_lib_string_view);
PRINT_MACRO(__cpp_lib_syncbuf);
PRINT_MACRO(__cpp_lib_three_way_comparison);
PRINT_MACRO(__cpp_lib_to_address);
PRINT_MACRO(__cpp_lib_to_array);
PRINT_MACRO(__cpp_lib_to_chars);
PRINT_MACRO(__cpp_lib_transformation_trait_aliases);
PRINT_MACRO(__cpp_lib_transparent_operators);
PRINT_MACRO(__cpp_lib_tuple_element_t);
PRINT_MACRO(__cpp_lib_tuples_by_type);
PRINT_MACRO(__cpp_lib_type_identity);
PRINT_MACRO(__cpp_lib_type_trait_variable_templates);
PRINT_MACRO(__cpp_lib_uncaught_exceptions);
PRINT_MACRO(__cpp_lib_unordered_map_try_emplace);
PRINT_MACRO(__cpp_lib_unwrap_ref);
PRINT_MACRO(__cpp_lib_variant);
PRINT_MACRO(__cpp_lib_void_t);
// C++20:
PRINT_MACRO(__cpp_aggregate_paren_init);
PRINT_MACRO(__cpp_char8_t);
@@ -1321,6 +1501,18 @@ void print_sd6_macros()
// C++98:
PRINT_MACRO(__cpp_rtti);
PRINT_MACRO(__cpp_exceptions);
// <atomic>:
PRINT_MACRO(ATOMIC_INT_LOCK_FREE);
PRINT_MACRO(ATOMIC_SHORT_LOCK_FREE);
PRINT_MACRO(ATOMIC_LONG_LOCK_FREE);
PRINT_MACRO(ATOMIC_LLONG_LOCK_FREE);
PRINT_MACRO(ATOMIC_POINTER_LOCK_FREE);
PRINT_MACRO(ATOMIC_CHAR_LOCK_FREE);
PRINT_MACRO(ATOMIC_WCHAR_T_LOCK_FREE);
PRINT_MACRO(ATOMIC_CHAR8_T_LOCK_FREE);
PRINT_MACRO(ATOMIC_CHAR16_T_LOCK_FREE);
PRINT_MACRO(ATOMIC_CHAR32_T_LOCK_FREE);
}
void print_separator()

View File

@@ -19,9 +19,9 @@
#define BOOST_REGEX_SOURCE
#include <boost/config.hpp>
#include <cstdio>
#include <boost/regex.hpp>
#include <boost/cregex.hpp>
#include <cstdio>
#if defined(BOOST_NO_STDC_NAMESPACE)
namespace std{
@@ -66,6 +66,10 @@ const char* names[] = {
typedef boost::basic_regex<char, c_regex_traits<char> > c_regex_type;
#ifdef BOOST_MSVC
# pragma warning(push)
#pragma warning(disable:26812)
#endif
BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompA(regex_tA* expression, const char* ptr, int f)
{
#ifndef BOOST_NO_EXCEPTIONS
@@ -140,6 +144,9 @@ BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompA(regex_tA* expression, const char
return result;
}
#ifdef BOOST_MSVC
# pragma warning(pop)
#endif
BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorA(int code, const regex_tA* e, char* buf, regsize_t buf_size)
{
@@ -262,8 +269,8 @@ BOOST_REGEX_DECL int BOOST_REGEX_CCALL regexecA(const regex_tA* expression, cons
std::size_t i;
for(i = 0; (i < n) && (i < expression->re_nsub + 1); ++i)
{
array[i].rm_so = (m[i].matched == false) ? -1 : (m[i].first - buf);
array[i].rm_eo = (m[i].matched == false) ? -1 : (m[i].second - buf);
array[i].rm_so = m[i].matched ? (m[i].first - buf) : -1;
array[i].rm_eo = m[i].matched ? (m[i].second - buf) : -1;
}
// and set anything else to -1:
for(i = expression->re_nsub + 1; i < n; ++i)
@@ -289,7 +296,3 @@ BOOST_REGEX_DECL void BOOST_REGEX_CCALL regfreeA(regex_tA* expression)
}
} // namespace boost

View File

@@ -19,15 +19,12 @@
#define BOOST_REGEX_SOURCE
#include <boost/config.hpp>
#include <new>
#include <boost/regex.hpp>
#include <boost/throw_exception.hpp>
#include <boost/regex/config.hpp>
#if defined(BOOST_REGEX_HAS_MS_STACK_GUARD) && defined(_MSC_VER) && (_MSC_VER >= 1300)
# include <malloc.h>
#endif
#ifdef BOOST_REGEX_HAS_MS_STACK_GUARD
#include <malloc.h>
#ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
#endif
@@ -37,78 +34,12 @@
#define NOGDI
#define NOUSER
#include <windows.h>
#endif
#include <stdexcept>
#include <boost/regex/pattern_except.hpp>
#include <boost/regex/v4/protected_call.hpp>
#if defined(BOOST_REGEX_NON_RECURSIVE) && !defined(BOOST_REGEX_V3)
#if BOOST_REGEX_MAX_CACHE_BLOCKS == 0
#include <new>
#else
#include <boost/regex/v4/mem_block_cache.hpp>
#endif
#endif
#ifdef BOOST_INTEL
#pragma warning(disable:383)
#endif
namespace boost{
//
// fix: these are declared out of line here to ensure
// that dll builds contain the Virtual table for these
// types - this ensures that exceptions can be thrown
// from the dll and caught in an exe.
regex_error::regex_error(const std::string& s, regex_constants::error_type err, std::ptrdiff_t pos)
: std::runtime_error(s)
, m_error_code(err)
, m_position(pos)
{
}
regex_error::regex_error(regex_constants::error_type err)
: std::runtime_error(::boost::BOOST_REGEX_DETAIL_NS::get_default_error_string(err))
, m_error_code(err)
, m_position(0)
{
}
regex_error::~regex_error() throw()
{
}
void regex_error::raise()const
{
#ifndef BOOST_NO_EXCEPTIONS
::boost::throw_exception(*this);
#endif
}
namespace BOOST_REGEX_DETAIL_NS{
BOOST_REGEX_DECL void BOOST_REGEX_CALL raise_runtime_error(const std::runtime_error& ex)
{
::boost::throw_exception(ex);
}
//
// error checking API:
//
BOOST_REGEX_DECL void BOOST_REGEX_CALL verify_options(boost::regex::flag_type /*ef*/, match_flag_type mf)
{
#ifndef BOOST_REGEX_V3
//
// can't mix match_extra with POSIX matching rules:
//
if((mf & match_extra) && (mf & match_posix))
{
std::logic_error msg("Usage Error: Can't mix regular expression captures with POSIX matching rules");
throw_exception(msg);
}
#endif
}
#ifdef BOOST_REGEX_HAS_MS_STACK_GUARD
namespace boost {
namespace BOOST_REGEX_DETAIL_NS {
static void execute_eror()
{
@@ -175,52 +106,10 @@ BOOST_REGEX_DECL void BOOST_REGEX_CALL reset_stack_guard_page()
}
#endif
}
#endif
#if defined(BOOST_REGEX_NON_RECURSIVE) && !defined(BOOST_REGEX_V3)
#if BOOST_REGEX_MAX_CACHE_BLOCKS == 0
BOOST_REGEX_DECL void* BOOST_REGEX_CALL get_mem_block()
{
return ::operator new(BOOST_REGEX_BLOCKSIZE);
}
BOOST_REGEX_DECL void BOOST_REGEX_CALL put_mem_block(void* p)
{
::operator delete(p);
}
#else
#if defined(BOOST_REGEX_MEM_BLOCK_CACHE_LOCK_FREE)
mem_block_cache block_cache = { { {nullptr} } } ;
#elif defined(BOOST_HAS_THREADS)
mem_block_cache block_cache = { 0, 0, BOOST_STATIC_MUTEX_INIT, };
#else
mem_block_cache block_cache = { 0, 0, };
} // namspaces
#endif
BOOST_REGEX_DECL void* BOOST_REGEX_CALL get_mem_block()
{
return block_cache.get();
}
BOOST_REGEX_DECL void BOOST_REGEX_CALL put_mem_block(void* p)
{
block_cache.put(p);
}
#endif
#endif
} // namespace BOOST_REGEX_DETAIL_NS
} // namespace boost
#if defined(BOOST_RE_USE_VCL) && defined(BOOST_REGEX_DYN_LINK)
int WINAPI DllEntryPoint(HINSTANCE , unsigned long , void*)

View File

@@ -17,7 +17,10 @@
*/
#define BOOST_REGEX_SOURCE
#include <boost/config.hpp>
#include <boost/regex/config.hpp>
#if defined(BOOST_REGEX_CXX03)
#include <boost/assert.hpp>
#ifdef BOOST_HAS_THREADS
@@ -183,3 +186,4 @@ void scoped_static_mutex_lock::unlock()
}
#endif // BOOST_HAS_THREADS
#endif

View File

@@ -25,9 +25,9 @@
#include <boost/regex.hpp>
#include <boost/cregex.hpp>
#include <cwchar>
#include <cstring>
#include <cstdio>
#include <cstring>
#include <cwchar>
#ifdef BOOST_INTEL
#pragma warning(disable:981)
@@ -76,6 +76,10 @@ const wchar_t* wnames[] = {
typedef boost::basic_regex<wchar_t, c_regex_traits<wchar_t> > wc_regex_type;
#ifdef BOOST_MSVC
# pragma warning(push)
#pragma warning(disable:26812)
#endif
BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompW(regex_tW* expression, const wchar_t* ptr, int f)
{
#ifndef BOOST_NO_EXCEPTIONS
@@ -150,6 +154,9 @@ BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompW(regex_tW* expression, const wcha
return result;
}
#ifdef BOOST_MSVC
# pragma warning(pop)
#endif
BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorW(int code, const regex_tW* e, wchar_t* buf, regsize_t buf_size)
{
@@ -277,8 +284,8 @@ BOOST_REGEX_DECL int BOOST_REGEX_CCALL regexecW(const regex_tW* expression, cons
std::size_t i;
for(i = 0; (i < n) && (i < expression->re_nsub + 1); ++i)
{
array[i].rm_so = (m[i].matched == false) ? -1 : (m[i].first - buf);
array[i].rm_eo = (m[i].matched == false) ? -1 : (m[i].second - buf);
array[i].rm_so = m[i].matched ? (m[i].first - buf) : -1;
array[i].rm_eo = m[i].matched ? (m[i].second - buf) : -1;
}
// and set anything else to -1:
for(i = expression->re_nsub + 1; i < n; ++i)
@@ -306,7 +313,3 @@ BOOST_REGEX_DECL void BOOST_REGEX_CCALL regfreeW(regex_tW* expression)
} // namespace boost;
#endif

View File

@@ -80,10 +80,14 @@ BOOST_ARCHIVE_SIGNATURE(){
// 16- eliminated dependency on <codecvt> which is buggy in some libraries
// and now officially deprecated in the standard
// 17- Boost 1.68 August 2018
// 18- addressed undefined behavior in archive constuctors.
// init() called from base wrote archive header before archive
// was fully constructed.
// Boost 1.76
BOOST_SYMBOL_VISIBLE library_version_type
BOOST_SYMBOL_VISIBLE boost::serialization::library_version_type
BOOST_ARCHIVE_VERSION(){
return library_version_type(17);
return boost::serialization::library_version_type(19);
}
} // namespace archive

View File

@@ -257,7 +257,10 @@ basic_iarchive_impl::reset_object_address(
break;
}
for(; i < m_moveable_objects.end; ++i){
void const * const this_address = object_id_vector[i].address;
const aobject & ao = object_id_vector[i];
if(ao.loaded_as_pointer)
continue;
void const * const this_address = ao.address;
// calculate displacement from this level
// warning - pointer arithmetic on void * is in herently non-portable
// but expected to work on all platforms in current usage
@@ -424,7 +427,7 @@ basic_iarchive_impl::load_pointer(
class_id_type cid;
load(ar, cid);
if(NULL_POINTER_TAG == cid){
if(BOOST_SERIALIZATION_NULL_POINTER_TAG == cid){
t = NULL;
return bpis_ptr;
}
@@ -497,7 +500,6 @@ basic_iarchive_impl::load_pointer(
serialization::state_saver<object_id_type> w_end(m_moveable_objects.end);
// add to list of serialized objects so that we can properly handle
// cyclic strucures
object_id_vector.push_back(aobject(t, cid));
@@ -584,7 +586,7 @@ basic_iarchive::delete_created_pointers()
pimpl->delete_created_pointers();
}
BOOST_ARCHIVE_DECL boost::archive::library_version_type
BOOST_ARCHIVE_DECL boost::serialization::library_version_type
basic_iarchive::get_library_version() const{
return pimpl->m_archive_library_version;
}

View File

@@ -134,7 +134,7 @@ class basic_oarchive_impl {
// keyed on object id
std::set<object_id_type> stored_pointers;
// address of the most recent object serialized as a poiner
// address of the most recent object serialized as a pointer
// whose data itself is now pending serialization
const void * pending_object;
const basic_oserializer * pending_bos;
@@ -179,28 +179,28 @@ basic_oarchive_impl::find(const serialization::extended_type_info & ti) const {
class bosarg :
public basic_oserializer
{
bool class_info() const {
bool class_info() const BOOST_OVERRIDE {
BOOST_ASSERT(false);
return false;
}
// returns true if objects should be tracked
bool tracking(const unsigned int) const {
bool tracking(const unsigned int) const BOOST_OVERRIDE {
BOOST_ASSERT(false);
return false;
}
// returns class version
version_type version() const {
version_type version() const BOOST_OVERRIDE {
BOOST_ASSERT(false);
return version_type(0);
}
// returns true if this class is polymorphic
bool is_polymorphic() const{
bool is_polymorphic() const BOOST_OVERRIDE {
BOOST_ASSERT(false);
return false;
}
void save_object_data(
basic_oarchive & /*ar*/, const void * /*x*/
) const {
) const BOOST_OVERRIDE {
BOOST_ASSERT(false);
}
public:
@@ -306,10 +306,9 @@ basic_oarchive_impl::save_object(
// just save the object id
ar.vsave(object_reference_type(oid));
ar.end_preamble();
return;
}
// save a pointer to an object instance
// colle
inline void
basic_oarchive_impl::save_pointer(
basic_oarchive & ar,

View File

@@ -18,7 +18,7 @@
namespace boost {
namespace archive {
std::codecvt_base::result
BOOST_SYMBOL_EXPORT std::codecvt_base::result
codecvt_null<wchar_t>::do_out(
std::mbstate_t & /*state*/,
const wchar_t * first1,
@@ -46,7 +46,7 @@ codecvt_null<wchar_t>::do_out(
return std::codecvt_base::ok;
}
std::codecvt_base::result
BOOST_SYMBOL_EXPORT std::codecvt_base::result
codecvt_null<wchar_t>::do_in(
std::mbstate_t & /*state*/,
const char * first1,
@@ -80,5 +80,12 @@ codecvt_null<wchar_t>::do_in(
return std::codecvt_base::ok;
}
BOOST_SYMBOL_EXPORT codecvt_null<wchar_t>::codecvt_null(std::size_t no_locale_manage) :
std::codecvt<wchar_t, char, std::mbstate_t>(no_locale_manage)
{}
BOOST_SYMBOL_EXPORT codecvt_null<wchar_t>::~codecvt_null()
{}
} // namespace archive
} // namespace boost

View File

@@ -79,24 +79,24 @@ typedef std::multiset<const extended_type_info *, key_compare> ktmap;
class extended_type_info_arg : public extended_type_info
{
virtual bool
is_less_than(const extended_type_info & /*rhs*/) const {
bool
is_less_than(const extended_type_info & /*rhs*/) const BOOST_OVERRIDE {
BOOST_ASSERT(false);
return false;
};
virtual bool
is_equal(const extended_type_info & /*rhs*/) const {
}
bool
is_equal(const extended_type_info & /*rhs*/) const BOOST_OVERRIDE {
BOOST_ASSERT(false);
return false;
};
virtual const char * get_debug_info() const {
}
const char * get_debug_info() const BOOST_OVERRIDE {
return get_key();
}
virtual void * construct(unsigned int /*count*/, ...) const{
void * construct(unsigned int /*count*/, ...) const BOOST_OVERRIDE {
BOOST_ASSERT(false);
return NULL;
}
virtual void destroy(void const * const /*p*/) const {
void destroy(void const * const /*p*/) const BOOST_OVERRIDE {
BOOST_ASSERT(false);
}
public:
@@ -104,8 +104,7 @@ public:
extended_type_info(0, key)
{}
~extended_type_info_arg(){
}
~extended_type_info_arg() BOOST_OVERRIDE {}
};
#ifdef BOOST_MSVC

View File

@@ -10,11 +10,11 @@
// See http://www.boost.org for updates, documentation, and revision history.
#include <algorithm>
#include <set>
#include <boost/assert.hpp>
#include <typeinfo>
#include <cstddef> // NULL
#include <set>
#include <typeinfo>
#include <boost/assert.hpp>
#include <boost/core/no_exceptions_support.hpp>
// it marks our code with proper attributes as being exported when
@@ -105,12 +105,12 @@ extended_type_info_typeid_0::type_unregister()
// remove all entries in map which corresponds to this type
// make sure that we don't use any invalidated iterators
for(;;){
while(true){
const tkmap::iterator & it = x.find(this);
if(it == x.end())
break;
x.erase(it);
};
}
}
}
m_ti = NULL;
@@ -125,23 +125,23 @@ extended_type_info_typeid_0::type_unregister()
class extended_type_info_typeid_arg :
public extended_type_info_typeid_0
{
virtual void * construct(unsigned int /*count*/, ...) const{
void * construct(unsigned int /*count*/, ...) const BOOST_OVERRIDE {
BOOST_ASSERT(false);
return NULL;
}
virtual void destroy(void const * const /*p*/) const {
void destroy(void const * const /*p*/) const BOOST_OVERRIDE {
BOOST_ASSERT(false);
}
public:
extended_type_info_typeid_arg(const std::type_info & ti) :
extended_type_info_typeid_0(NULL)
{
// note absense of self register and key as this is used only as
// note absence of self register and key as this is used only as
// search argument given a type_info reference and is not to
// be added to the map.
m_ti = & ti;
}
~extended_type_info_typeid_arg(){
~extended_type_info_typeid_arg() BOOST_OVERRIDE {
m_ti = NULL;
}
};

View File

@@ -43,7 +43,7 @@ namespace void_cast_detail {
// member extended type info records - NOT their
// addresses. This is necessary in order for the
// void cast operations to work across dll and exe
// module boundries.
// module boundaries.
bool void_caster::operator<(const void_caster & rhs) const {
// include short cut to save time and eliminate
// problems when when base class aren't virtual
@@ -87,14 +87,14 @@ class void_caster_shortcut : public void_caster
vbc_downcast(
void const * const t
) const;
virtual void const *
upcast(void const * const t) const{
void const *
upcast(void const * const t) const BOOST_OVERRIDE {
if(m_includes_virtual_base)
return vbc_upcast(t);
return static_cast<const char *> ( t ) - m_difference;
}
virtual void const *
downcast(void const * const t) const{
void const *
downcast(void const * const t) const BOOST_OVERRIDE {
if(m_includes_virtual_base)
return vbc_downcast(t);
return static_cast<const char *> ( t ) + m_difference;
@@ -102,7 +102,7 @@ class void_caster_shortcut : public void_caster
virtual bool is_shortcut() const {
return true;
}
virtual bool has_virtual_base() const {
bool has_virtual_base() const BOOST_OVERRIDE {
return m_includes_virtual_base;
}
public:
@@ -118,7 +118,7 @@ public:
{
recursive_register(includes_virtual_base);
}
virtual ~void_caster_shortcut(){
~void_caster_shortcut() BOOST_OVERRIDE {
recursive_unregister();
}
};
@@ -187,17 +187,17 @@ void_caster_shortcut::vbc_upcast(
// just used as a search key
class void_caster_argument : public void_caster
{
virtual void const *
upcast(void const * const /*t*/) const {
void const *
upcast(void const * const /*t*/) const BOOST_OVERRIDE {
BOOST_ASSERT(false);
return NULL;
}
virtual void const *
downcast( void const * const /*t*/) const {
void const *
downcast( void const * const /*t*/) const BOOST_OVERRIDE {
BOOST_ASSERT(false);
return NULL;
}
virtual bool has_virtual_base() const {
bool has_virtual_base() const BOOST_OVERRIDE {
BOOST_ASSERT(false);
return false;
}
@@ -208,7 +208,7 @@ public:
) :
void_caster(derived, base)
{}
virtual ~void_caster_argument(){};
~void_caster_argument() BOOST_OVERRIDE {}
};
#ifdef BOOST_MSVC