Commit Graph

996 Commits

Author SHA1 Message Date
Robert Ramey
ff0a5f9f4a corrected inclusion of <optional> 2023-11-02 20:17:08 -07:00
Robert Ramey
a2f93247e2 uploading changes regarding unordered ...
uploading tweaks to CMakeLists.txt so accommodate static linking
2023-10-20 15:20:43 -07:00
Robert Ramey
01c26ba107 Merge pull request #292 from cmazakas/ubsan-fixes-v2
ubsan fixes v2
2023-10-20 13:42:37 -07:00
Robert Ramey
404e0a31ae Merge pull request #289 from cmazakas/unordered-serialization
Remove serialization support from Boost.Unordered containers
2023-10-13 12:48:01 -07:00
Robert Ramey
897dec4c01 imported/implemented boost/serialization/variant and test_variant
imported/implemented boost/serialization/variant now contains code for serialization of boost::variant, boost::variant2 and std::variant. Care has been taken to depend only on the public interfaces of these types. Hence, it is reasonable to hope that the archives are compatible in that one type could be saved and subsequently loaded into a compatible type.  Hopefully this will be useful in some way.  At a minimum it minimizes code duplication.
2023-09-18 10:49:21 -07:00
Christian Mazakas
f28482232d Remove serialization support from Boost.Unordered containers
Unordered now supports its Serialization functions so the headers just need to be updated to keep backwards compatibility
2023-09-11 14:52:51 -07:00
Christian Mazakas
6388138a0c Fix invalid vptr access in extended_type_info_no_rtti constructor
Initializing a base class in the initializer list with a member function in the derived is invalid in gcc as the object isn't fully-formed

We instead just inline the body of `get_key()` which avoids the issue.
2023-09-11 13:59:51 -07:00
Christian Mazakas
8d0fbb79f3 Fix invalid downcast in ~xml_oarchive_impl
The destructor of the xml_oarchive_impl winds up calling `this->windup()` which in turn invokes `this->This()->...` which essentially static_cast's to a Archive, which by this point in time is long-since destructed.

By simply inlining the implementation of windup(), we avoid the UB and minimize the required code changes
2023-09-11 13:59:51 -07:00
Robert Ramey
61a2b12076 altered boost optional to depend only public interface functions declared in std::optional.
adjusted test_optional to test serialization of both boost::optional and std::optional
2023-09-08 09:54:14 -07:00
Robert Ramey
74c46ec43c Revert "Add serialization for std::optional" 2023-09-03 14:36:59 -07:00
Robert Ramey
1af820b02e Merge pull request #163 from sdebionne/add-std-optional-support
Add serialization for std::optional
2023-09-03 14:19:57 -07:00
Robert Ramey
cb729f5d88 Merge pull request #148 from sdebionne/add-std-variant-support
Add support for C++17 std::variant
2023-09-03 13:06:00 -07:00
Robert Ramey
14b10185de correction in previous merge 2023-08-27 07:40:09 -07:00
Robert Ramey
9a72e5407b incremement archive version number
fix PR 274
fix PR 283
2023-08-24 11:47:59 -07:00
Robert Ramey
ab1da83f40 committing most pending PRs 2023-08-23 15:49:25 -07:00
Robert Ramey
60a28371c5 Merge pull request #288 from cmazakas/xml-ubsan-fixes
XML ubsan fixes
2023-08-23 11:58:32 -07:00
Robert Ramey
ae69bf4ba9 Merge pull request #284 from mborland/gha
Use containers to supported deprecated OS with GHA
2023-08-23 11:53:50 -07:00
Robert Ramey
bb4d07e874 Merge pull request #277 from TobiasLange75443/develop
add ':' (colon) as valid char for an XML tag
2023-08-23 11:50:08 -07:00
Christian Mazakas
d56e16b391 Replace static_cast with reinterpet_cast in interface_oarchive
There's no inheritance so static_cast'ing to a base is incorrect, instead we use reinterpret_cast with the common initial sequence to avoid ubsan failures
2023-08-22 12:44:58 -07:00
Christian Mazakas
0e64d96019 Update xml_escape::fill() to default assign bstart, bend to an empty string
This avoids an extraneous warning when running Serialization code through ubsan which flags increments to a nullptr

The relevant condtional check (`++m_bnext < m_bend`) still passes with this change
2023-08-22 12:43:39 -07:00
Matt Borland
9bd9550ad1 Suppress additional polymorphic UB warning 2023-07-06 10:39:00 +02:00
Matt Borland
be9421f80f Suppress UB warning 2023-07-05 17:27:02 +02:00
Matt Borland
a0d30cbb18 Add null check 2023-06-30 13:58:34 +02:00
Tobias Lange
c977d4e623 add ':' (colon) as valid char for an XML tag 2023-01-12 10:05:53 +01:00
Romain Geissler
a7a8704438 Fix clang -Wdeprecated-copy warning when using -std=gnu++2b in boost/archive/detail/helper_collection.hpp
In file included from magadm/CmdGetInfoHTHSession.cpp:24:
In file included from /remote/users/mlamesch/CloneFromPlatinum/SI_Pack23-2/common/include/si/common/HTHSegmentationCacheInfoSerialization.h:19:
In file included from /data/mwrep/res/osp/Boost/23-0-0-0/include/boost/archive/text_iarchive.hpp:24:
In file included from /data/mwrep/res/osp/Boost/23-0-0-0/include/boost/archive/basic_text_iarchive.hpp:30:
In file included from /data/mwrep/res/osp/Boost/23-0-0-0/include/boost/archive/detail/common_iarchive.hpp:21:
In file included from /data/mwrep/res/osp/Boost/23-0-0-0/include/boost/archive/detail/basic_iarchive.hpp:28:
/data/mwrep/res/osp/Boost/23-0-0-0/include/boost/archive/detail/helper_collection.hpp:58:44: error: definition of implicit copy constructor for 'predicate' is deprecated because it has a user-declared copy assignment operator [-Werror,-Wdeprecated-copy]
        BOOST_DELETED_FUNCTION(predicate & operator=(const predicate & rhs))
                                           ^
/opt/1A/toolchain/x86_64-v23.0.2/lib64/gcc/x86_64-1a-linux-gnu/13.0.0/../../../../include/c++/13.0.0/bits/predefined_ops.h:325:37: note: in implicit copy constructor for 'boost::archive::detail::helper_collection::predicate' first required here
    { return _Iter_pred<_Predicate>(_GLIBCXX_MOVE(__pred)); }
                                    ^
/opt/1A/toolchain/x86_64-v23.0.2/lib64/gcc/x86_64-1a-linux-gnu/13.0.0/../../../../include/c++/13.0.0/bits/move.h:167:30: note: expanded from macro '_GLIBCXX_MOVE'
                             ^
/opt/1A/toolchain/x86_64-v23.0.2/lib64/gcc/x86_64-1a-linux-gnu/13.0.0/../../../../include/c++/13.0.0/bits/stl_algo.h:3923:26: note: in instantiation of function template specialization '__gnu_cxx::__ops::__pred_iter<boost::archive::detail::helper_collection::predicate>' requested here
                            __gnu_cxx::__ops::__pred_iter(__pred));
                                              ^
/data/mwrep/res/osp/Boost/23-0-0-0/include/boost/archive/detail/helper_collection.hpp:75:18: note: in instantiation of function template specialization 'std::find_if<__gnu_cxx::__normal_iterator<std::pair<const void *, boost::shared_ptr<void>> *, std::vector<std::pair<const void *, boost::shared_ptr<void>>>>, boost::archive::detail::helper_collection::predicate>' requested here
            std::find_if(
                 ^
2023-01-08 16:28:49 +00:00
Robert Ramey
3f322d4adc fix address sanitizer exception when loading corrupted XML archive. GitHub issue #257 2022-09-16 16:15:50 -07:00
Robert Ramey
df2e6703c3 iserializer should throw when file_version > version() #258 2022-09-15 15:34:25 -07:00
Robert Ramey
670648f276 Merge pull request #256 from BrianWeed/develop
Use rehash(count) instead of rehash(bucket_count), to avoid excessive pre-allocation.
2022-09-15 14:08:31 -07:00
Robert Ramey
88d270543b Merge pull request #241 from alxrmorozov/mb_from_wchar-copy-ctor
Fix mb_from_wchar copy constructor
2022-09-15 13:43:28 -07:00
Robert Ramey
2012f8c184 Merge pull request #245 from jngrad/spellchecker
Documentation maintenance
2022-09-15 13:41:36 -07:00
Antony Polukhin
8cdb837bb9 Fix misleading indentation warning (#262) 2022-09-11 12:46:46 -07:00
Antony Polukhin
b87d54da86 Modernize throw specifications (#263) 2022-09-11 12:35:48 -07:00
Robert Ramey
3f46a64ff4 change to CI files to eliminate non working platforms 2022-09-09 10:37:41 -07:00
BrianWeed
532a1c5e26 Update unordered_collections_load_imp.hpp 2022-05-04 15:02:04 -04:00
Robert Ramey
b7ae64e95c backout previous change 2022-03-02 10:06:48 -08:00
Robert Ramey
08b257f927 iadjust exception handling
:w
:q
:wq
2022-02-25 12:10:05 -08:00
jzmaddock
b4412f2867 Missing #include in throw_exception.hpp
boost/serialization/throw_exception.hpp does not include the header which defines boost::throw_exception leading to compiler errors unless that header just happens to be #included elsewhere.  See this message thread: https://lists.boost.org/boost-users/2022/01/91144.php

Likewise the std lib header <exception> is *not* required since we use nothing from that here.
2022-01-12 16:31:16 +00:00
Jean-Noël Grad
3fa5669d72 Spellcheck documentation and code comments 2021-12-31 18:16:03 +01:00
Alexander Morozov
d1390bb7b6 Fix mb_from_wchar copy constructor 2021-09-14 02:28:20 +03:00
Robert Ramey
45b0789b1a Merge branch 'master' into develop
* master:
  squash merge all changes in develop into master
  squash merge into next boost release
  merge into next boost release
  changes made in the hope of eliminated “stable” error for functions previously defined in the header.  Moved those function to codecvt_null.cpp
  Squash-merge develop

# Conflicts:
#	test/testfile2
2021-06-28 10:08:24 -07:00
Robert Ramey
bcc0bfe073 squash merge all changes in develop into master 2021-05-02 18:31:57 -07:00
Robert Ramey
ef69de1981 Merge commit '6bf961f31e7e13c18548b553070e132347d2b58b' into develop
* commit '6bf961f31e7e13c18548b553070e132347d2b58b':
  Guard MSVC pragmas from clang-cl

# Conflicts:
#	include/boost/archive/detail/check.hpp
#	include/boost/archive/detail/iserializer.hpp
#	include/boost/archive/detail/oserializer.hpp
2021-03-28 23:36:03 -07:00
Robert Ramey
3ab4da85f2 squash merge into next boost release 2021-02-22 16:33:33 -08:00
Marian Klymov
b7e454f52f Add missing #pragma warning (pop) (#218) 2021-01-20 10:42:03 -08:00
NamaNamazu
886080ef55 Fix typo in include guard. (#226) 2021-01-20 10:39:41 -08:00
nevilad
11ab51f97c Correct build errors when building serialization with (#224)
BOOST_NO_STD_LOCALE defined

Signed-off-by: Alexey Romko <nevilad@yahoo.com>
2021-01-19 13:13:50 -08:00
Robert Ramey
e7e5978a54 corrected over zealous trimming of hash_map include files
bumped archive version # just in case I broke something
cleaned up test set hashed and test map hashed.
2021-01-01 14:00:37 -08:00
Robert Ramey
c5d199837b minor adjustments to config files in the hopes of passing all git hub actions tests. 2020-12-23 11:27:58 -08:00
Robert Ramey
07de314975 merge into next boost release 2020-11-17 22:18:38 -08:00
Robert Ramey
8899617fba mixup some pragmas to suppress warnings 2020-11-08 15:16:35 -08:00