passenger 6.1.0 → 6.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG +32 -2
- data/Rakefile +6 -13
- data/bin/passenger-install-apache2-module +15 -19
- data/bin/passenger-install-nginx-module +42 -44
- data/bin/passenger-status +9 -10
- data/build/common_library.rb +4 -4
- data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +1 -1
- data/build/test_basics.rb +4 -3
- data/dev/copy_boost_headers +54 -40
- data/dev/ruby_server.rb +1 -1
- data/src/agent/Core/Config.h +1 -1
- data/src/agent/Core/Controller/Config.h +1 -1
- data/src/agent/Watchdog/Config.h +1 -1
- data/src/cxx_supportlib/Constants.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/assert/source_location.hpp +8 -1
- data/src/cxx_supportlib/vendor-modified/boost/assert.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic.hpp +94 -110
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_flag.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_ref.hpp +14 -14
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/addressof.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_flag_impl.hpp +52 -24
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_impl.hpp +641 -285
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_ref_impl.hpp +593 -260
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_cast.hpp +37 -24
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_fp_cast.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/cas_based_exchange.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/chrono.hpp +93 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/classify.hpp +16 -17
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +25 -34
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_aarch32.hpp +204 -97
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_aarch64.hpp +251 -122
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_alpha.hpp +56 -56
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_arm.hpp +129 -129
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_ppc.hpp +253 -125
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_sparc.hpp +25 -25
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_x86.hpp +193 -126
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_msvc_arm.hpp +57 -57
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_msvc_x86.hpp +96 -97
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations_emulated.hpp +24 -24
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_cas_based.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_gcc_atomic.hpp +27 -24
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_gcc_sync.hpp +39 -37
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_linux_arm.hpp +17 -17
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extending_cas_based_arithmetic.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_emulated.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_generic.hpp +21 -21
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_emulated.hpp +30 -30
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_aarch32.hpp +170 -98
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_aarch64.hpp +209 -119
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_arm.hpp +95 -95
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_ppc.hpp +148 -76
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_x86.hpp +293 -123
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_generic.hpp +87 -71
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_arm.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_x86.hpp +88 -88
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_operations.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_aarch32.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_aarch64.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_alpha.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_arm.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_ppc.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_sparc.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_x86.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_msvc_arm.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_msvc_x86.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_operations.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_operations_emulated.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_gcc_atomic.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_gcc_sync.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_linux_arm.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_emulated.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_generic.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/futex.hpp +110 -49
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc_atomic_memory_order_utils.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/has_posix_clock_traits.hpp +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/int_sizes.hpp +26 -32
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/integral_conversions.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/interlocked.hpp +69 -30
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/intptr.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/lock_pool.hpp +51 -31
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/memory_order_utils.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/once_flag.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_arm_common.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_ppc_common.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/platform.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/storage_traits.hpp +31 -31
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/alignment_of.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/has_unique_object_representations.hpp +2 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_floating_point.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_iec559.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_integral.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_signed.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_trivially_copyable.hpp +20 -13
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_trivially_default_constructible.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/make_signed.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/make_unsigned.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_darwin_ulock.hpp +90 -16
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_dragonfly_umtx.hpp +80 -11
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_emulated.hpp +160 -15
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_freebsd_umtx.hpp +327 -38
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_futex.hpp +276 -33
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_generic.hpp +260 -20
- data/src/cxx_supportlib/vendor-modified/boost/atomic/fences.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic.hpp +14 -18
- data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_flag.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_ref.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/atomic/posix_clock_traits_fwd.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/thread_pause.hpp +102 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/wait_result.hpp +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +108 -41
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +1235 -1009
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/algorithm.hpp +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_helpers.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_lib.h +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +23 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +88 -23
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool_impl.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/operator_new_helpers.hpp +68 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +72 -13
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +8 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +31 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +37 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +19 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +23 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +72 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +3 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +54 -23
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/devector.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +19 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +32 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +27 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +22 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +37 -17
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +23 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +41 -20
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +5 -8
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash_fwd.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash_is_avalanching.hpp +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/bit.hpp +29 -29
- data/src/cxx_supportlib/vendor-modified/boost/core/cmath.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/core/data.hpp +15 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/default_allocator.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/demangle.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/assert.hpp +18 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_thread_sleep.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/static_assert.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/string_view.hpp +16 -10
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +35 -27
- data/src/cxx_supportlib/vendor-modified/boost/core/scoped_enum.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/size.hpp +14 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/span.hpp +20 -9
- data/src/cxx_supportlib/vendor-modified/boost/cregex.hpp +0 -5
- data/src/cxx_supportlib/vendor-modified/boost/describe/detail/config.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/describe/modifiers.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/foreach.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_rebind.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/iterator/advance.hpp +43 -64
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_def.hpp +0 -83
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_undef.hpp +1 -5
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/eval_if_default.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/facade_iterator_category.hpp +103 -117
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/conjunction.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/disjunction.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/negation.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/type_identity.hpp +54 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/distance.hpp +32 -38
- data/src/cxx_supportlib/vendor-modified/boost/iterator/enable_if_convertible.hpp +84 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/interoperable.hpp +22 -34
- data/src/cxx_supportlib/vendor-modified/boost/iterator/is_iterator.hpp +16 -16
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_adaptor.hpp +162 -309
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_categories.hpp +52 -161
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_concepts.hpp +3 -11
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_facade.hpp +804 -977
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_traits.hpp +24 -17
- data/src/cxx_supportlib/vendor-modified/boost/iterator/min_category.hpp +83 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/minimum_category.hpp +11 -73
- data/src/cxx_supportlib/vendor-modified/boost/iterator/reverse_iterator.hpp +56 -57
- data/src/cxx_supportlib/vendor-modified/boost/iterator/transform_iterator.hpp +123 -156
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/buffer_view.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +36 -33
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +43 -50
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +23 -27
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +10 -11
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_basic_unlockedbuf.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +6 -7
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/type_traits.hpp +81 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +8 -9
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/wide_posix_api.cpp +1 -12
- data/src/cxx_supportlib/vendor-modified/boost/memory_order.hpp +8 -26
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_to_raw_pointer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/launder.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/std_ns_begin.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/unique_ptr_meta_utils.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/mp11/algorithm.hpp +11 -44
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_map_find.hpp +34 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/set.hpp +33 -1
- data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/and.hpp +4 -8
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/na_assert.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/ptr_to_ref.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/bitand.hpp +2 -6
- data/src/cxx_supportlib/vendor-modified/boost/mpl/bitor.hpp +2 -6
- data/src/cxx_supportlib/vendor-modified/boost/mpl/or.hpp +2 -6
- data/src/cxx_supportlib/vendor-modified/boost/pool/pool.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/pool/simple_segregated_storage.hpp +0 -13
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/to_seq_256.hpp +190 -190
- data/src/cxx_supportlib/vendor-modified/boost/random/beta_distribution.hpp +12 -2
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/config.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/size.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/xoshiro_base.hpp +472 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/discrete_distribution.hpp +7 -10
- data/src/cxx_supportlib/vendor-modified/boost/random/gamma_distribution.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/random/generalized_inverse_gaussian_distribution.hpp +339 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/hyperexponential_distribution.hpp +12 -14
- data/src/cxx_supportlib/vendor-modified/boost/random/inverse_gaussian_distribution.hpp +226 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/mersenne_twister.hpp +1 -4
- data/src/cxx_supportlib/vendor-modified/boost/random/mixmax.hpp +63 -63
- data/src/cxx_supportlib/vendor-modified/boost/random/piecewise_constant_distribution.hpp +7 -10
- data/src/cxx_supportlib/vendor-modified/boost/random/piecewise_linear_distribution.hpp +8 -11
- data/src/cxx_supportlib/vendor-modified/boost/random/seed_seq.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/random/splitmix64.hpp +1 -4
- data/src/cxx_supportlib/vendor-modified/boost/random/xoshiro.hpp +488 -0
- data/src/cxx_supportlib/vendor-modified/boost/random.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/detail/has_member_size.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/detail/msvc_has_iterator_workaround.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/has_range_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/range/iterator.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/iterator_range_core.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/range/size_type.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +35 -18
- data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +18 -101
- data/src/cxx_supportlib/vendor-modified/boost/regex/pattern_except.hpp +0 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/pending/object_cache.hpp +0 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/pending/unicode_iterator.hpp +0 -6
- data/src/cxx_supportlib/vendor-modified/boost/regex/regex_traits.hpp +0 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/user.hpp +4 -10
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex.hpp +63 -17
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_creator.hpp +71 -16
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_parser.hpp +22 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/c_regex_traits.hpp +11 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/char_regex_traits.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/cpp_regex_traits.hpp +11 -8
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/cregex.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/error_type.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/icu.hpp +40 -38
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/iterator_category.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/iterator_traits.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/match_flags.hpp +39 -37
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/match_results.hpp +46 -9
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/mem_block_cache.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/object_cache.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/pattern_except.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher.hpp +57 -8
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher_common.hpp +21 -6
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher_non_recursive.hpp +18 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regbase.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_format.hpp +23 -18
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_fwd.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_grep.hpp +9 -5
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_iterator.hpp +11 -7
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_match.hpp +10 -7
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_merge.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_raw_buffer.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_replace.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_search.hpp +12 -9
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_split.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_token_iterator.hpp +16 -11
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_traits_defaults.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_workaround.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/states.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/sub_match.hpp +54 -49
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/syntax_type.hpp +64 -62
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/u32regex_iterator.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/u32regex_token_iterator.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/unicode_iterator.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/w32_regex_traits.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex.hpp +0 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex_fwd.hpp +0 -4
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count.hpp +1 -43
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/deprecated_macros.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +2 -77
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base.hpp +1 -64
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +0 -77
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_cxx20_constexpr.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock.hpp +5 -28
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +41 -40
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_array.hpp +0 -15
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_ptr.hpp +0 -18
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/tuple/detail/tuple_basic.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complete.hpp +31 -10
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fca.hpp +34 -8
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/table.hpp +9 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/unordered/{unordered_printers.hpp → detail/unordered_printers.hpp} +34 -36
- data/src/cxx_supportlib/vendor-modified/boost/unordered/hash_traits.hpp +6 -49
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/nginx_module/ContentHandler.c +2 -0
- data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +3 -5
- data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +3 -5
- data/src/ruby_supportlib/phusion_passenger/config/install_agent_command.rb +3 -5
- data/src/ruby_supportlib/phusion_passenger/config/install_standalone_runtime_command.rb +3 -5
- data/src/ruby_supportlib/phusion_passenger/config/installation_utils.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +5 -3
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +6 -13
- data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +29 -30
- data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +2 -3
- data/src/ruby_supportlib/phusion_passenger/standalone/config_utils.rb +2 -0
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/json.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/terminal_choice_menu.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger.rb +8 -8
- metadata +26 -99
- data/src/cxx_supportlib/vendor-modified/boost/align/aligned_alloc.hpp +0 -47
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc_posix.hpp +0 -41
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc_sunos.hpp +0 -34
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/is_alignment.hpp +0 -28
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/pause.hpp +0 -68
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/conditional.hpp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/integral_constant.hpp +0 -46
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_enum.hpp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_function.hpp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_nothrow_default_constructible.hpp +0 -46
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/remove_cv.hpp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_on_address.hpp +0 -64
- data/src/cxx_supportlib/vendor-modified/boost/cerrno.hpp +0 -15
- data/src/cxx_supportlib/vendor-modified/boost/detail/indirect_traits.hpp +0 -195
- data/src/cxx_supportlib/vendor-modified/boost/detail/select_type.hpp +0 -36
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/enable_if.hpp +0 -83
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/internals.hpp +0 -35
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex.cpp +0 -120
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex_debug.cpp +0 -59
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/static_mutex.cpp +0 -189
- data/src/cxx_supportlib/vendor-modified/boost/libs/system/src/error_code.cpp +0 -31
- data/src/cxx_supportlib/vendor-modified/boost/regex/config/borland.hpp +0 -72
- data/src/cxx_supportlib/vendor-modified/boost/regex/config/cwchar.hpp +0 -207
- data/src/cxx_supportlib/vendor-modified/boost/regex/pending/static_mutex.hpp +0 -182
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex.hpp +0 -797
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +0 -1598
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +0 -3174
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/c_regex_traits.hpp +0 -511
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/char_regex_traits.hpp +0 -81
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cpp_regex_traits.hpp +0 -1237
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cregex.hpp +0 -213
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/error_type.hpp +0 -59
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/icu.hpp +0 -1516
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/indexed_bit_flag.hpp +0 -54
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/iterator_category.hpp +0 -91
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/iterator_traits.hpp +0 -135
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +0 -161
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_results.hpp +0 -716
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/mem_block_cache.hpp +0 -183
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/object_cache.hpp +0 -171
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/pattern_except.hpp +0 -128
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +0 -645
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +0 -1030
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +0 -1947
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_recursive.hpp +0 -1131
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/primary_transform.hpp +0 -146
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/protected_call.hpp +0 -83
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regbase.hpp +0 -180
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex.hpp +0 -166
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +0 -1158
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_fwd.hpp +0 -73
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_grep.hpp +0 -155
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_iterator.hpp +0 -195
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_match.hpp +0 -382
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_merge.hpp +0 -93
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_raw_buffer.hpp +0 -241
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_replace.hpp +0 -99
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_search.hpp +0 -217
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_split.hpp +0 -174
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_token_iterator.hpp +0 -327
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits.hpp +0 -189
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +0 -997
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +0 -237
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/states.hpp +0 -321
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/sub_match.hpp +0 -516
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/syntax_type.hpp +0 -105
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_iterator.hpp +0 -185
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_token_iterator.hpp +0 -360
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/unicode_iterator.hpp +0 -871
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +0 -1229
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc.hpp +0 -79
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc_atomic.hpp +0 -63
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp +0 -88
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_pt.hpp +0 -104
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_spin.hpp +0 -69
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_sync.hpp +0 -72
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +0 -163
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_aix.hpp +0 -152
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +0 -185
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_atomic.hpp +0 -148
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +0 -170
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +0 -200
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +0 -194
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +0 -179
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +0 -186
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +0 -147
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +0 -174
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_spin.hpp +0 -141
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_sync.hpp +0 -165
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +0 -163
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_gcc_intrinsics.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_sync_intrinsics.hpp +0 -69
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_gcc_arm.hpp +0 -128
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_nt.hpp +0 -96
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_pt.hpp +0 -86
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_sync.hpp +0 -94
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) 2009 Helge Bahmann
|
|
7
7
|
* Copyright (c) 2013 Tim Blechmann
|
|
8
|
-
* Copyright (c) 2014
|
|
8
|
+
* Copyright (c) 2014-2025 Andrey Semashev
|
|
9
9
|
*/
|
|
10
10
|
/*!
|
|
11
11
|
* \file atomic/detail/core_arch_ops_gcc_arm.hpp
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
#define BOOST_ATOMIC_DETAIL_CORE_ARCH_OPS_GCC_ARM_HPP_INCLUDED_
|
|
18
18
|
|
|
19
19
|
#include <cstddef>
|
|
20
|
-
#include <
|
|
20
|
+
#include <cstdint>
|
|
21
21
|
#include <boost/memory_order.hpp>
|
|
22
22
|
#include <boost/atomic/detail/config.hpp>
|
|
23
23
|
#include <boost/atomic/detail/storage_traits.hpp>
|
|
@@ -60,32 +60,32 @@ template< bool Signed, bool Interprocess >
|
|
|
60
60
|
struct core_arch_operations< 4u, Signed, Interprocess > :
|
|
61
61
|
public core_arch_operations_gcc_arm_base
|
|
62
62
|
{
|
|
63
|
-
|
|
63
|
+
using storage_type = typename storage_traits< 4u >::type;
|
|
64
64
|
|
|
65
|
-
static
|
|
66
|
-
static
|
|
67
|
-
static
|
|
68
|
-
static
|
|
65
|
+
static constexpr std::size_t storage_size = 4u;
|
|
66
|
+
static constexpr std::size_t storage_alignment = 4u;
|
|
67
|
+
static constexpr bool is_signed = Signed;
|
|
68
|
+
static constexpr bool is_interprocess = Interprocess;
|
|
69
69
|
|
|
70
|
-
static BOOST_FORCEINLINE void store(storage_type volatile& storage, storage_type v, memory_order order)
|
|
70
|
+
static BOOST_FORCEINLINE void store(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
71
71
|
{
|
|
72
72
|
fence_before(order);
|
|
73
73
|
storage = v;
|
|
74
74
|
fence_after_store(order);
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
static BOOST_FORCEINLINE storage_type load(storage_type const volatile& storage, memory_order order)
|
|
77
|
+
static BOOST_FORCEINLINE storage_type load(storage_type const volatile& storage, memory_order order) noexcept
|
|
78
78
|
{
|
|
79
79
|
storage_type v = storage;
|
|
80
80
|
fence_after(order);
|
|
81
81
|
return v;
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
-
static BOOST_FORCEINLINE storage_type exchange(storage_type volatile& storage, storage_type v, memory_order order)
|
|
84
|
+
static BOOST_FORCEINLINE storage_type exchange(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
85
85
|
{
|
|
86
86
|
fence_before(order);
|
|
87
87
|
storage_type original;
|
|
88
|
-
uint32_t tmp;
|
|
88
|
+
std::uint32_t tmp;
|
|
89
89
|
__asm__ __volatile__
|
|
90
90
|
(
|
|
91
91
|
BOOST_ATOMIC_DETAIL_ARM_ASM_START(%[tmp])
|
|
@@ -104,12 +104,12 @@ struct core_arch_operations< 4u, Signed, Interprocess > :
|
|
|
104
104
|
}
|
|
105
105
|
|
|
106
106
|
static BOOST_FORCEINLINE bool compare_exchange_weak(
|
|
107
|
-
storage_type volatile& storage, storage_type& expected, storage_type desired, memory_order success_order, memory_order failure_order)
|
|
107
|
+
storage_type volatile& storage, storage_type& expected, storage_type desired, memory_order success_order, memory_order failure_order) noexcept
|
|
108
108
|
{
|
|
109
109
|
fence_before(success_order);
|
|
110
110
|
bool success = false;
|
|
111
111
|
#if !defined(BOOST_ATOMIC_DETAIL_ARM_ASM_TMPREG_UNUSED)
|
|
112
|
-
uint32_t tmp;
|
|
112
|
+
std::uint32_t tmp;
|
|
113
113
|
#endif
|
|
114
114
|
storage_type original;
|
|
115
115
|
__asm__ __volatile__
|
|
@@ -140,12 +140,12 @@ struct core_arch_operations< 4u, Signed, Interprocess > :
|
|
|
140
140
|
}
|
|
141
141
|
|
|
142
142
|
static BOOST_FORCEINLINE bool compare_exchange_strong(
|
|
143
|
-
storage_type volatile& storage, storage_type& expected, storage_type desired, memory_order success_order, memory_order failure_order)
|
|
143
|
+
storage_type volatile& storage, storage_type& expected, storage_type desired, memory_order success_order, memory_order failure_order) noexcept
|
|
144
144
|
{
|
|
145
145
|
fence_before(success_order);
|
|
146
146
|
bool success = false;
|
|
147
147
|
#if !defined(BOOST_ATOMIC_DETAIL_ARM_ASM_TMPREG_UNUSED)
|
|
148
|
-
uint32_t tmp;
|
|
148
|
+
std::uint32_t tmp;
|
|
149
149
|
#endif
|
|
150
150
|
storage_type original;
|
|
151
151
|
__asm__ __volatile__
|
|
@@ -178,10 +178,10 @@ struct core_arch_operations< 4u, Signed, Interprocess > :
|
|
|
178
178
|
return success;
|
|
179
179
|
}
|
|
180
180
|
|
|
181
|
-
static BOOST_FORCEINLINE storage_type fetch_add(storage_type volatile& storage, storage_type v, memory_order order)
|
|
181
|
+
static BOOST_FORCEINLINE storage_type fetch_add(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
182
182
|
{
|
|
183
183
|
fence_before(order);
|
|
184
|
-
uint32_t tmp;
|
|
184
|
+
std::uint32_t tmp;
|
|
185
185
|
storage_type original, result;
|
|
186
186
|
__asm__ __volatile__
|
|
187
187
|
(
|
|
@@ -204,10 +204,10 @@ struct core_arch_operations< 4u, Signed, Interprocess > :
|
|
|
204
204
|
return original;
|
|
205
205
|
}
|
|
206
206
|
|
|
207
|
-
static BOOST_FORCEINLINE storage_type fetch_sub(storage_type volatile& storage, storage_type v, memory_order order)
|
|
207
|
+
static BOOST_FORCEINLINE storage_type fetch_sub(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
208
208
|
{
|
|
209
209
|
fence_before(order);
|
|
210
|
-
uint32_t tmp;
|
|
210
|
+
std::uint32_t tmp;
|
|
211
211
|
storage_type original, result;
|
|
212
212
|
__asm__ __volatile__
|
|
213
213
|
(
|
|
@@ -230,10 +230,10 @@ struct core_arch_operations< 4u, Signed, Interprocess > :
|
|
|
230
230
|
return original;
|
|
231
231
|
}
|
|
232
232
|
|
|
233
|
-
static BOOST_FORCEINLINE storage_type fetch_and(storage_type volatile& storage, storage_type v, memory_order order)
|
|
233
|
+
static BOOST_FORCEINLINE storage_type fetch_and(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
234
234
|
{
|
|
235
235
|
fence_before(order);
|
|
236
|
-
uint32_t tmp;
|
|
236
|
+
std::uint32_t tmp;
|
|
237
237
|
storage_type original, result;
|
|
238
238
|
__asm__ __volatile__
|
|
239
239
|
(
|
|
@@ -256,10 +256,10 @@ struct core_arch_operations< 4u, Signed, Interprocess > :
|
|
|
256
256
|
return original;
|
|
257
257
|
}
|
|
258
258
|
|
|
259
|
-
static BOOST_FORCEINLINE storage_type fetch_or(storage_type volatile& storage, storage_type v, memory_order order)
|
|
259
|
+
static BOOST_FORCEINLINE storage_type fetch_or(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
260
260
|
{
|
|
261
261
|
fence_before(order);
|
|
262
|
-
uint32_t tmp;
|
|
262
|
+
std::uint32_t tmp;
|
|
263
263
|
storage_type original, result;
|
|
264
264
|
__asm__ __volatile__
|
|
265
265
|
(
|
|
@@ -282,10 +282,10 @@ struct core_arch_operations< 4u, Signed, Interprocess > :
|
|
|
282
282
|
return original;
|
|
283
283
|
}
|
|
284
284
|
|
|
285
|
-
static BOOST_FORCEINLINE storage_type fetch_xor(storage_type volatile& storage, storage_type v, memory_order order)
|
|
285
|
+
static BOOST_FORCEINLINE storage_type fetch_xor(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
286
286
|
{
|
|
287
287
|
fence_before(order);
|
|
288
|
-
uint32_t tmp;
|
|
288
|
+
std::uint32_t tmp;
|
|
289
289
|
storage_type original, result;
|
|
290
290
|
__asm__ __volatile__
|
|
291
291
|
(
|
|
@@ -308,12 +308,12 @@ struct core_arch_operations< 4u, Signed, Interprocess > :
|
|
|
308
308
|
return original;
|
|
309
309
|
}
|
|
310
310
|
|
|
311
|
-
static BOOST_FORCEINLINE bool test_and_set(storage_type volatile& storage, memory_order order)
|
|
311
|
+
static BOOST_FORCEINLINE bool test_and_set(storage_type volatile& storage, memory_order order) noexcept
|
|
312
312
|
{
|
|
313
313
|
return !!exchange(storage, (storage_type)1, order);
|
|
314
314
|
}
|
|
315
315
|
|
|
316
|
-
static BOOST_FORCEINLINE void clear(storage_type volatile& storage, memory_order order)
|
|
316
|
+
static BOOST_FORCEINLINE void clear(storage_type volatile& storage, memory_order order) noexcept
|
|
317
317
|
{
|
|
318
318
|
store(storage, (storage_type)0, order);
|
|
319
319
|
}
|
|
@@ -325,33 +325,33 @@ template< bool Signed, bool Interprocess >
|
|
|
325
325
|
struct core_arch_operations< 1u, Signed, Interprocess > :
|
|
326
326
|
public core_arch_operations_gcc_arm_base
|
|
327
327
|
{
|
|
328
|
-
|
|
329
|
-
|
|
328
|
+
using storage_type = typename storage_traits< 1u >::type;
|
|
329
|
+
using extended_storage_type = typename storage_traits< 4u >::type;
|
|
330
330
|
|
|
331
|
-
static
|
|
332
|
-
static
|
|
333
|
-
static
|
|
334
|
-
static
|
|
331
|
+
static constexpr std::size_t storage_size = 1u;
|
|
332
|
+
static constexpr std::size_t storage_alignment = 1u;
|
|
333
|
+
static constexpr bool is_signed = Signed;
|
|
334
|
+
static constexpr bool is_interprocess = Interprocess;
|
|
335
335
|
|
|
336
|
-
static BOOST_FORCEINLINE void store(storage_type volatile& storage, storage_type v, memory_order order)
|
|
336
|
+
static BOOST_FORCEINLINE void store(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
337
337
|
{
|
|
338
338
|
fence_before(order);
|
|
339
339
|
storage = v;
|
|
340
340
|
fence_after_store(order);
|
|
341
341
|
}
|
|
342
342
|
|
|
343
|
-
static BOOST_FORCEINLINE storage_type load(storage_type const volatile& storage, memory_order order)
|
|
343
|
+
static BOOST_FORCEINLINE storage_type load(storage_type const volatile& storage, memory_order order) noexcept
|
|
344
344
|
{
|
|
345
345
|
storage_type v = storage;
|
|
346
346
|
fence_after(order);
|
|
347
347
|
return v;
|
|
348
348
|
}
|
|
349
349
|
|
|
350
|
-
static BOOST_FORCEINLINE storage_type exchange(storage_type volatile& storage, storage_type v, memory_order order)
|
|
350
|
+
static BOOST_FORCEINLINE storage_type exchange(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
351
351
|
{
|
|
352
352
|
fence_before(order);
|
|
353
353
|
extended_storage_type original;
|
|
354
|
-
uint32_t tmp;
|
|
354
|
+
std::uint32_t tmp;
|
|
355
355
|
__asm__ __volatile__
|
|
356
356
|
(
|
|
357
357
|
BOOST_ATOMIC_DETAIL_ARM_ASM_START(%[tmp])
|
|
@@ -370,12 +370,12 @@ struct core_arch_operations< 1u, Signed, Interprocess > :
|
|
|
370
370
|
}
|
|
371
371
|
|
|
372
372
|
static BOOST_FORCEINLINE bool compare_exchange_weak(
|
|
373
|
-
storage_type volatile& storage, storage_type& expected, storage_type desired, memory_order success_order, memory_order failure_order)
|
|
373
|
+
storage_type volatile& storage, storage_type& expected, storage_type desired, memory_order success_order, memory_order failure_order) noexcept
|
|
374
374
|
{
|
|
375
375
|
fence_before(success_order);
|
|
376
376
|
bool success = false;
|
|
377
377
|
#if !defined(BOOST_ATOMIC_DETAIL_ARM_ASM_TMPREG_UNUSED)
|
|
378
|
-
uint32_t tmp;
|
|
378
|
+
std::uint32_t tmp;
|
|
379
379
|
#endif
|
|
380
380
|
extended_storage_type original;
|
|
381
381
|
__asm__ __volatile__
|
|
@@ -406,12 +406,12 @@ struct core_arch_operations< 1u, Signed, Interprocess > :
|
|
|
406
406
|
}
|
|
407
407
|
|
|
408
408
|
static BOOST_FORCEINLINE bool compare_exchange_strong(
|
|
409
|
-
storage_type volatile& storage, storage_type& expected, storage_type desired, memory_order success_order, memory_order failure_order)
|
|
409
|
+
storage_type volatile& storage, storage_type& expected, storage_type desired, memory_order success_order, memory_order failure_order) noexcept
|
|
410
410
|
{
|
|
411
411
|
fence_before(success_order);
|
|
412
412
|
bool success = false;
|
|
413
413
|
#if !defined(BOOST_ATOMIC_DETAIL_ARM_ASM_TMPREG_UNUSED)
|
|
414
|
-
uint32_t tmp;
|
|
414
|
+
std::uint32_t tmp;
|
|
415
415
|
#endif
|
|
416
416
|
extended_storage_type original;
|
|
417
417
|
__asm__ __volatile__
|
|
@@ -444,10 +444,10 @@ struct core_arch_operations< 1u, Signed, Interprocess > :
|
|
|
444
444
|
return success;
|
|
445
445
|
}
|
|
446
446
|
|
|
447
|
-
static BOOST_FORCEINLINE storage_type fetch_add(storage_type volatile& storage, storage_type v, memory_order order)
|
|
447
|
+
static BOOST_FORCEINLINE storage_type fetch_add(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
448
448
|
{
|
|
449
449
|
fence_before(order);
|
|
450
|
-
uint32_t tmp;
|
|
450
|
+
std::uint32_t tmp;
|
|
451
451
|
extended_storage_type original, result;
|
|
452
452
|
__asm__ __volatile__
|
|
453
453
|
(
|
|
@@ -470,10 +470,10 @@ struct core_arch_operations< 1u, Signed, Interprocess > :
|
|
|
470
470
|
return static_cast< storage_type >(original);
|
|
471
471
|
}
|
|
472
472
|
|
|
473
|
-
static BOOST_FORCEINLINE storage_type fetch_sub(storage_type volatile& storage, storage_type v, memory_order order)
|
|
473
|
+
static BOOST_FORCEINLINE storage_type fetch_sub(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
474
474
|
{
|
|
475
475
|
fence_before(order);
|
|
476
|
-
uint32_t tmp;
|
|
476
|
+
std::uint32_t tmp;
|
|
477
477
|
extended_storage_type original, result;
|
|
478
478
|
__asm__ __volatile__
|
|
479
479
|
(
|
|
@@ -496,10 +496,10 @@ struct core_arch_operations< 1u, Signed, Interprocess > :
|
|
|
496
496
|
return static_cast< storage_type >(original);
|
|
497
497
|
}
|
|
498
498
|
|
|
499
|
-
static BOOST_FORCEINLINE storage_type fetch_and(storage_type volatile& storage, storage_type v, memory_order order)
|
|
499
|
+
static BOOST_FORCEINLINE storage_type fetch_and(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
500
500
|
{
|
|
501
501
|
fence_before(order);
|
|
502
|
-
uint32_t tmp;
|
|
502
|
+
std::uint32_t tmp;
|
|
503
503
|
extended_storage_type original, result;
|
|
504
504
|
__asm__ __volatile__
|
|
505
505
|
(
|
|
@@ -522,10 +522,10 @@ struct core_arch_operations< 1u, Signed, Interprocess > :
|
|
|
522
522
|
return static_cast< storage_type >(original);
|
|
523
523
|
}
|
|
524
524
|
|
|
525
|
-
static BOOST_FORCEINLINE storage_type fetch_or(storage_type volatile& storage, storage_type v, memory_order order)
|
|
525
|
+
static BOOST_FORCEINLINE storage_type fetch_or(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
526
526
|
{
|
|
527
527
|
fence_before(order);
|
|
528
|
-
uint32_t tmp;
|
|
528
|
+
std::uint32_t tmp;
|
|
529
529
|
extended_storage_type original, result;
|
|
530
530
|
__asm__ __volatile__
|
|
531
531
|
(
|
|
@@ -548,10 +548,10 @@ struct core_arch_operations< 1u, Signed, Interprocess > :
|
|
|
548
548
|
return static_cast< storage_type >(original);
|
|
549
549
|
}
|
|
550
550
|
|
|
551
|
-
static BOOST_FORCEINLINE storage_type fetch_xor(storage_type volatile& storage, storage_type v, memory_order order)
|
|
551
|
+
static BOOST_FORCEINLINE storage_type fetch_xor(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
552
552
|
{
|
|
553
553
|
fence_before(order);
|
|
554
|
-
uint32_t tmp;
|
|
554
|
+
std::uint32_t tmp;
|
|
555
555
|
extended_storage_type original, result;
|
|
556
556
|
__asm__ __volatile__
|
|
557
557
|
(
|
|
@@ -574,12 +574,12 @@ struct core_arch_operations< 1u, Signed, Interprocess > :
|
|
|
574
574
|
return static_cast< storage_type >(original);
|
|
575
575
|
}
|
|
576
576
|
|
|
577
|
-
static BOOST_FORCEINLINE bool test_and_set(storage_type volatile& storage, memory_order order)
|
|
577
|
+
static BOOST_FORCEINLINE bool test_and_set(storage_type volatile& storage, memory_order order) noexcept
|
|
578
578
|
{
|
|
579
579
|
return !!exchange(storage, (storage_type)1, order);
|
|
580
580
|
}
|
|
581
581
|
|
|
582
|
-
static BOOST_FORCEINLINE void clear(storage_type volatile& storage, memory_order order)
|
|
582
|
+
static BOOST_FORCEINLINE void clear(storage_type volatile& storage, memory_order order) noexcept
|
|
583
583
|
{
|
|
584
584
|
store(storage, (storage_type)0, order);
|
|
585
585
|
}
|
|
@@ -591,13 +591,13 @@ template< bool Interprocess >
|
|
|
591
591
|
struct core_arch_operations< 1u, false, Interprocess > :
|
|
592
592
|
public core_arch_operations< 4u, false, Interprocess >
|
|
593
593
|
{
|
|
594
|
-
|
|
595
|
-
|
|
594
|
+
using base_type = core_arch_operations< 4u, false, Interprocess >;
|
|
595
|
+
using storage_type = typename base_type::storage_type;
|
|
596
596
|
|
|
597
|
-
static BOOST_FORCEINLINE storage_type fetch_add(storage_type volatile& storage, storage_type v, memory_order order)
|
|
597
|
+
static BOOST_FORCEINLINE storage_type fetch_add(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
598
598
|
{
|
|
599
599
|
base_type::fence_before(order);
|
|
600
|
-
uint32_t tmp;
|
|
600
|
+
std::uint32_t tmp;
|
|
601
601
|
storage_type original, result;
|
|
602
602
|
__asm__ __volatile__
|
|
603
603
|
(
|
|
@@ -621,10 +621,10 @@ struct core_arch_operations< 1u, false, Interprocess > :
|
|
|
621
621
|
return original;
|
|
622
622
|
}
|
|
623
623
|
|
|
624
|
-
static BOOST_FORCEINLINE storage_type fetch_sub(storage_type volatile& storage, storage_type v, memory_order order)
|
|
624
|
+
static BOOST_FORCEINLINE storage_type fetch_sub(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
625
625
|
{
|
|
626
626
|
base_type::fence_before(order);
|
|
627
|
-
uint32_t tmp;
|
|
627
|
+
std::uint32_t tmp;
|
|
628
628
|
storage_type original, result;
|
|
629
629
|
__asm__ __volatile__
|
|
630
630
|
(
|
|
@@ -653,13 +653,13 @@ template< bool Interprocess >
|
|
|
653
653
|
struct core_arch_operations< 1u, true, Interprocess > :
|
|
654
654
|
public core_arch_operations< 4u, true, Interprocess >
|
|
655
655
|
{
|
|
656
|
-
|
|
657
|
-
|
|
656
|
+
using base_type = core_arch_operations< 4u, true, Interprocess >;
|
|
657
|
+
using storage_type = typename base_type::storage_type;
|
|
658
658
|
|
|
659
|
-
static BOOST_FORCEINLINE storage_type fetch_add(storage_type volatile& storage, storage_type v, memory_order order)
|
|
659
|
+
static BOOST_FORCEINLINE storage_type fetch_add(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
660
660
|
{
|
|
661
661
|
base_type::fence_before(order);
|
|
662
|
-
uint32_t tmp;
|
|
662
|
+
std::uint32_t tmp;
|
|
663
663
|
storage_type original, result;
|
|
664
664
|
__asm__ __volatile__
|
|
665
665
|
(
|
|
@@ -683,10 +683,10 @@ struct core_arch_operations< 1u, true, Interprocess > :
|
|
|
683
683
|
return original;
|
|
684
684
|
}
|
|
685
685
|
|
|
686
|
-
static BOOST_FORCEINLINE storage_type fetch_sub(storage_type volatile& storage, storage_type v, memory_order order)
|
|
686
|
+
static BOOST_FORCEINLINE storage_type fetch_sub(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
687
687
|
{
|
|
688
688
|
base_type::fence_before(order);
|
|
689
|
-
uint32_t tmp;
|
|
689
|
+
std::uint32_t tmp;
|
|
690
690
|
storage_type original, result;
|
|
691
691
|
__asm__ __volatile__
|
|
692
692
|
(
|
|
@@ -719,33 +719,33 @@ template< bool Signed, bool Interprocess >
|
|
|
719
719
|
struct core_arch_operations< 2u, Signed, Interprocess > :
|
|
720
720
|
public core_arch_operations_gcc_arm_base
|
|
721
721
|
{
|
|
722
|
-
|
|
723
|
-
|
|
722
|
+
using storage_type = typename storage_traits< 2u >::type;
|
|
723
|
+
using extended_storage_type = typename storage_traits< 4u >::type;
|
|
724
724
|
|
|
725
|
-
static
|
|
726
|
-
static
|
|
727
|
-
static
|
|
728
|
-
static
|
|
725
|
+
static constexpr std::size_t storage_size = 2u;
|
|
726
|
+
static constexpr std::size_t storage_alignment = 2u;
|
|
727
|
+
static constexpr bool is_signed = Signed;
|
|
728
|
+
static constexpr bool is_interprocess = Interprocess;
|
|
729
729
|
|
|
730
|
-
static BOOST_FORCEINLINE void store(storage_type volatile& storage, storage_type v, memory_order order)
|
|
730
|
+
static BOOST_FORCEINLINE void store(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
731
731
|
{
|
|
732
732
|
fence_before(order);
|
|
733
733
|
storage = v;
|
|
734
734
|
fence_after_store(order);
|
|
735
735
|
}
|
|
736
736
|
|
|
737
|
-
static BOOST_FORCEINLINE storage_type load(storage_type const volatile& storage, memory_order order)
|
|
737
|
+
static BOOST_FORCEINLINE storage_type load(storage_type const volatile& storage, memory_order order) noexcept
|
|
738
738
|
{
|
|
739
739
|
storage_type v = storage;
|
|
740
740
|
fence_after(order);
|
|
741
741
|
return v;
|
|
742
742
|
}
|
|
743
743
|
|
|
744
|
-
static BOOST_FORCEINLINE storage_type exchange(storage_type volatile& storage, storage_type v, memory_order order)
|
|
744
|
+
static BOOST_FORCEINLINE storage_type exchange(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
745
745
|
{
|
|
746
746
|
fence_before(order);
|
|
747
747
|
extended_storage_type original;
|
|
748
|
-
uint32_t tmp;
|
|
748
|
+
std::uint32_t tmp;
|
|
749
749
|
__asm__ __volatile__
|
|
750
750
|
(
|
|
751
751
|
BOOST_ATOMIC_DETAIL_ARM_ASM_START(%[tmp])
|
|
@@ -764,12 +764,12 @@ struct core_arch_operations< 2u, Signed, Interprocess > :
|
|
|
764
764
|
}
|
|
765
765
|
|
|
766
766
|
static BOOST_FORCEINLINE bool compare_exchange_weak(
|
|
767
|
-
storage_type volatile& storage, storage_type& expected, storage_type desired, memory_order success_order, memory_order failure_order)
|
|
767
|
+
storage_type volatile& storage, storage_type& expected, storage_type desired, memory_order success_order, memory_order failure_order) noexcept
|
|
768
768
|
{
|
|
769
769
|
fence_before(success_order);
|
|
770
770
|
bool success = false;
|
|
771
771
|
#if !defined(BOOST_ATOMIC_DETAIL_ARM_ASM_TMPREG_UNUSED)
|
|
772
|
-
uint32_t tmp;
|
|
772
|
+
std::uint32_t tmp;
|
|
773
773
|
#endif
|
|
774
774
|
extended_storage_type original;
|
|
775
775
|
__asm__ __volatile__
|
|
@@ -800,12 +800,12 @@ struct core_arch_operations< 2u, Signed, Interprocess > :
|
|
|
800
800
|
}
|
|
801
801
|
|
|
802
802
|
static BOOST_FORCEINLINE bool compare_exchange_strong(
|
|
803
|
-
storage_type volatile& storage, storage_type& expected, storage_type desired, memory_order success_order, memory_order failure_order)
|
|
803
|
+
storage_type volatile& storage, storage_type& expected, storage_type desired, memory_order success_order, memory_order failure_order) noexcept
|
|
804
804
|
{
|
|
805
805
|
fence_before(success_order);
|
|
806
806
|
bool success = false;
|
|
807
807
|
#if !defined(BOOST_ATOMIC_DETAIL_ARM_ASM_TMPREG_UNUSED)
|
|
808
|
-
uint32_t tmp;
|
|
808
|
+
std::uint32_t tmp;
|
|
809
809
|
#endif
|
|
810
810
|
extended_storage_type original;
|
|
811
811
|
__asm__ __volatile__
|
|
@@ -838,10 +838,10 @@ struct core_arch_operations< 2u, Signed, Interprocess > :
|
|
|
838
838
|
return success;
|
|
839
839
|
}
|
|
840
840
|
|
|
841
|
-
static BOOST_FORCEINLINE storage_type fetch_add(storage_type volatile& storage, storage_type v, memory_order order)
|
|
841
|
+
static BOOST_FORCEINLINE storage_type fetch_add(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
842
842
|
{
|
|
843
843
|
fence_before(order);
|
|
844
|
-
uint32_t tmp;
|
|
844
|
+
std::uint32_t tmp;
|
|
845
845
|
extended_storage_type original, result;
|
|
846
846
|
__asm__ __volatile__
|
|
847
847
|
(
|
|
@@ -864,10 +864,10 @@ struct core_arch_operations< 2u, Signed, Interprocess > :
|
|
|
864
864
|
return static_cast< storage_type >(original);
|
|
865
865
|
}
|
|
866
866
|
|
|
867
|
-
static BOOST_FORCEINLINE storage_type fetch_sub(storage_type volatile& storage, storage_type v, memory_order order)
|
|
867
|
+
static BOOST_FORCEINLINE storage_type fetch_sub(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
868
868
|
{
|
|
869
869
|
fence_before(order);
|
|
870
|
-
uint32_t tmp;
|
|
870
|
+
std::uint32_t tmp;
|
|
871
871
|
extended_storage_type original, result;
|
|
872
872
|
__asm__ __volatile__
|
|
873
873
|
(
|
|
@@ -890,10 +890,10 @@ struct core_arch_operations< 2u, Signed, Interprocess > :
|
|
|
890
890
|
return static_cast< storage_type >(original);
|
|
891
891
|
}
|
|
892
892
|
|
|
893
|
-
static BOOST_FORCEINLINE storage_type fetch_and(storage_type volatile& storage, storage_type v, memory_order order)
|
|
893
|
+
static BOOST_FORCEINLINE storage_type fetch_and(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
894
894
|
{
|
|
895
895
|
fence_before(order);
|
|
896
|
-
uint32_t tmp;
|
|
896
|
+
std::uint32_t tmp;
|
|
897
897
|
extended_storage_type original, result;
|
|
898
898
|
__asm__ __volatile__
|
|
899
899
|
(
|
|
@@ -916,10 +916,10 @@ struct core_arch_operations< 2u, Signed, Interprocess > :
|
|
|
916
916
|
return static_cast< storage_type >(original);
|
|
917
917
|
}
|
|
918
918
|
|
|
919
|
-
static BOOST_FORCEINLINE storage_type fetch_or(storage_type volatile& storage, storage_type v, memory_order order)
|
|
919
|
+
static BOOST_FORCEINLINE storage_type fetch_or(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
920
920
|
{
|
|
921
921
|
fence_before(order);
|
|
922
|
-
uint32_t tmp;
|
|
922
|
+
std::uint32_t tmp;
|
|
923
923
|
extended_storage_type original, result;
|
|
924
924
|
__asm__ __volatile__
|
|
925
925
|
(
|
|
@@ -942,10 +942,10 @@ struct core_arch_operations< 2u, Signed, Interprocess > :
|
|
|
942
942
|
return static_cast< storage_type >(original);
|
|
943
943
|
}
|
|
944
944
|
|
|
945
|
-
static BOOST_FORCEINLINE storage_type fetch_xor(storage_type volatile& storage, storage_type v, memory_order order)
|
|
945
|
+
static BOOST_FORCEINLINE storage_type fetch_xor(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
946
946
|
{
|
|
947
947
|
fence_before(order);
|
|
948
|
-
uint32_t tmp;
|
|
948
|
+
std::uint32_t tmp;
|
|
949
949
|
extended_storage_type original, result;
|
|
950
950
|
__asm__ __volatile__
|
|
951
951
|
(
|
|
@@ -968,12 +968,12 @@ struct core_arch_operations< 2u, Signed, Interprocess > :
|
|
|
968
968
|
return static_cast< storage_type >(original);
|
|
969
969
|
}
|
|
970
970
|
|
|
971
|
-
static BOOST_FORCEINLINE bool test_and_set(storage_type volatile& storage, memory_order order)
|
|
971
|
+
static BOOST_FORCEINLINE bool test_and_set(storage_type volatile& storage, memory_order order) noexcept
|
|
972
972
|
{
|
|
973
973
|
return !!exchange(storage, (storage_type)1, order);
|
|
974
974
|
}
|
|
975
975
|
|
|
976
|
-
static BOOST_FORCEINLINE void clear(storage_type volatile& storage, memory_order order)
|
|
976
|
+
static BOOST_FORCEINLINE void clear(storage_type volatile& storage, memory_order order) noexcept
|
|
977
977
|
{
|
|
978
978
|
store(storage, (storage_type)0, order);
|
|
979
979
|
}
|
|
@@ -985,13 +985,13 @@ template< bool Interprocess >
|
|
|
985
985
|
struct core_arch_operations< 2u, false, Interprocess > :
|
|
986
986
|
public core_arch_operations< 4u, false, Interprocess >
|
|
987
987
|
{
|
|
988
|
-
|
|
989
|
-
|
|
988
|
+
using base_type = core_arch_operations< 4u, false, Interprocess >;
|
|
989
|
+
using storage_type = typename base_type::storage_type;
|
|
990
990
|
|
|
991
|
-
static BOOST_FORCEINLINE storage_type fetch_add(storage_type volatile& storage, storage_type v, memory_order order)
|
|
991
|
+
static BOOST_FORCEINLINE storage_type fetch_add(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
992
992
|
{
|
|
993
993
|
base_type::fence_before(order);
|
|
994
|
-
uint32_t tmp;
|
|
994
|
+
std::uint32_t tmp;
|
|
995
995
|
storage_type original, result;
|
|
996
996
|
__asm__ __volatile__
|
|
997
997
|
(
|
|
@@ -1015,10 +1015,10 @@ struct core_arch_operations< 2u, false, Interprocess > :
|
|
|
1015
1015
|
return original;
|
|
1016
1016
|
}
|
|
1017
1017
|
|
|
1018
|
-
static BOOST_FORCEINLINE storage_type fetch_sub(storage_type volatile& storage, storage_type v, memory_order order)
|
|
1018
|
+
static BOOST_FORCEINLINE storage_type fetch_sub(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
1019
1019
|
{
|
|
1020
1020
|
base_type::fence_before(order);
|
|
1021
|
-
uint32_t tmp;
|
|
1021
|
+
std::uint32_t tmp;
|
|
1022
1022
|
storage_type original, result;
|
|
1023
1023
|
__asm__ __volatile__
|
|
1024
1024
|
(
|
|
@@ -1047,13 +1047,13 @@ template< bool Interprocess >
|
|
|
1047
1047
|
struct core_arch_operations< 2u, true, Interprocess > :
|
|
1048
1048
|
public core_arch_operations< 4u, true, Interprocess >
|
|
1049
1049
|
{
|
|
1050
|
-
|
|
1051
|
-
|
|
1050
|
+
using base_type = core_arch_operations< 4u, true, Interprocess >;
|
|
1051
|
+
using storage_type = typename base_type::storage_type;
|
|
1052
1052
|
|
|
1053
|
-
static BOOST_FORCEINLINE storage_type fetch_add(storage_type volatile& storage, storage_type v, memory_order order)
|
|
1053
|
+
static BOOST_FORCEINLINE storage_type fetch_add(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
1054
1054
|
{
|
|
1055
1055
|
base_type::fence_before(order);
|
|
1056
|
-
uint32_t tmp;
|
|
1056
|
+
std::uint32_t tmp;
|
|
1057
1057
|
storage_type original, result;
|
|
1058
1058
|
__asm__ __volatile__
|
|
1059
1059
|
(
|
|
@@ -1077,10 +1077,10 @@ struct core_arch_operations< 2u, true, Interprocess > :
|
|
|
1077
1077
|
return original;
|
|
1078
1078
|
}
|
|
1079
1079
|
|
|
1080
|
-
static BOOST_FORCEINLINE storage_type fetch_sub(storage_type volatile& storage, storage_type v, memory_order order)
|
|
1080
|
+
static BOOST_FORCEINLINE storage_type fetch_sub(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
1081
1081
|
{
|
|
1082
1082
|
base_type::fence_before(order);
|
|
1083
|
-
uint32_t tmp;
|
|
1083
|
+
std::uint32_t tmp;
|
|
1084
1084
|
storage_type original, result;
|
|
1085
1085
|
__asm__ __volatile__
|
|
1086
1086
|
(
|
|
@@ -1124,19 +1124,19 @@ template< bool Signed, bool Interprocess >
|
|
|
1124
1124
|
struct core_arch_operations< 8u, Signed, Interprocess > :
|
|
1125
1125
|
public core_arch_operations_gcc_arm_base
|
|
1126
1126
|
{
|
|
1127
|
-
|
|
1127
|
+
using storage_type = typename storage_traits< 8u >::type;
|
|
1128
1128
|
|
|
1129
|
-
static
|
|
1130
|
-
static
|
|
1131
|
-
static
|
|
1132
|
-
static
|
|
1129
|
+
static constexpr std::size_t storage_size = 8u;
|
|
1130
|
+
static constexpr std::size_t storage_alignment = 8u;
|
|
1131
|
+
static constexpr bool is_signed = Signed;
|
|
1132
|
+
static constexpr bool is_interprocess = Interprocess;
|
|
1133
1133
|
|
|
1134
|
-
static BOOST_FORCEINLINE void store(storage_type volatile& storage, storage_type v, memory_order order)
|
|
1134
|
+
static BOOST_FORCEINLINE void store(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
1135
1135
|
{
|
|
1136
1136
|
exchange(storage, v, order);
|
|
1137
1137
|
}
|
|
1138
1138
|
|
|
1139
|
-
static BOOST_FORCEINLINE storage_type load(storage_type const volatile& storage, memory_order order)
|
|
1139
|
+
static BOOST_FORCEINLINE storage_type load(storage_type const volatile& storage, memory_order order) noexcept
|
|
1140
1140
|
{
|
|
1141
1141
|
// ARMv7 says ldrex (and other load-exclusive instructions) can be used without a matching strex, see
|
|
1142
1142
|
// "ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition", Section A3.4.5 "Load-Exclusive and Store-Exclusive usage restrictions".
|
|
@@ -1149,7 +1149,7 @@ struct core_arch_operations< 8u, Signed, Interprocess > :
|
|
|
1149
1149
|
: "Q" (storage) // %1
|
|
1150
1150
|
);
|
|
1151
1151
|
#else
|
|
1152
|
-
uint32_t tmp;
|
|
1152
|
+
std::uint32_t tmp;
|
|
1153
1153
|
__asm__ __volatile__
|
|
1154
1154
|
(
|
|
1155
1155
|
BOOST_ATOMIC_DETAIL_ARM_ASM_START(%0)
|
|
@@ -1164,11 +1164,11 @@ struct core_arch_operations< 8u, Signed, Interprocess > :
|
|
|
1164
1164
|
return original;
|
|
1165
1165
|
}
|
|
1166
1166
|
|
|
1167
|
-
static BOOST_FORCEINLINE storage_type exchange(storage_type volatile& storage, storage_type v, memory_order order)
|
|
1167
|
+
static BOOST_FORCEINLINE storage_type exchange(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
1168
1168
|
{
|
|
1169
1169
|
fence_before(order);
|
|
1170
1170
|
storage_type original;
|
|
1171
|
-
uint32_t tmp;
|
|
1171
|
+
std::uint32_t tmp;
|
|
1172
1172
|
__asm__ __volatile__
|
|
1173
1173
|
(
|
|
1174
1174
|
BOOST_ATOMIC_DETAIL_ARM_ASM_START(%0)
|
|
@@ -1189,12 +1189,12 @@ struct core_arch_operations< 8u, Signed, Interprocess > :
|
|
|
1189
1189
|
}
|
|
1190
1190
|
|
|
1191
1191
|
static BOOST_FORCEINLINE bool compare_exchange_weak(
|
|
1192
|
-
storage_type volatile& storage, storage_type& expected, storage_type desired, memory_order success_order, memory_order failure_order)
|
|
1192
|
+
storage_type volatile& storage, storage_type& expected, storage_type desired, memory_order success_order, memory_order failure_order) noexcept
|
|
1193
1193
|
{
|
|
1194
1194
|
fence_before(success_order);
|
|
1195
1195
|
storage_type original;
|
|
1196
1196
|
bool success = false;
|
|
1197
|
-
uint32_t tmp;
|
|
1197
|
+
std::uint32_t tmp;
|
|
1198
1198
|
__asm__ __volatile__
|
|
1199
1199
|
(
|
|
1200
1200
|
BOOST_ATOMIC_DETAIL_ARM_ASM_START(%0)
|
|
@@ -1224,12 +1224,12 @@ struct core_arch_operations< 8u, Signed, Interprocess > :
|
|
|
1224
1224
|
}
|
|
1225
1225
|
|
|
1226
1226
|
static BOOST_FORCEINLINE bool compare_exchange_strong(
|
|
1227
|
-
storage_type volatile& storage, storage_type& expected, storage_type desired, memory_order success_order, memory_order failure_order)
|
|
1227
|
+
storage_type volatile& storage, storage_type& expected, storage_type desired, memory_order success_order, memory_order failure_order) noexcept
|
|
1228
1228
|
{
|
|
1229
1229
|
fence_before(success_order);
|
|
1230
1230
|
storage_type original;
|
|
1231
1231
|
bool success = false;
|
|
1232
|
-
uint32_t tmp;
|
|
1232
|
+
std::uint32_t tmp;
|
|
1233
1233
|
__asm__ __volatile__
|
|
1234
1234
|
(
|
|
1235
1235
|
BOOST_ATOMIC_DETAIL_ARM_ASM_START(%0)
|
|
@@ -1260,11 +1260,11 @@ struct core_arch_operations< 8u, Signed, Interprocess > :
|
|
|
1260
1260
|
return success;
|
|
1261
1261
|
}
|
|
1262
1262
|
|
|
1263
|
-
static BOOST_FORCEINLINE storage_type fetch_add(storage_type volatile& storage, storage_type v, memory_order order)
|
|
1263
|
+
static BOOST_FORCEINLINE storage_type fetch_add(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
1264
1264
|
{
|
|
1265
1265
|
fence_before(order);
|
|
1266
1266
|
storage_type original, result;
|
|
1267
|
-
uint32_t tmp;
|
|
1267
|
+
std::uint32_t tmp;
|
|
1268
1268
|
__asm__ __volatile__
|
|
1269
1269
|
(
|
|
1270
1270
|
BOOST_ATOMIC_DETAIL_ARM_ASM_START(%0)
|
|
@@ -1287,11 +1287,11 @@ struct core_arch_operations< 8u, Signed, Interprocess > :
|
|
|
1287
1287
|
return original;
|
|
1288
1288
|
}
|
|
1289
1289
|
|
|
1290
|
-
static BOOST_FORCEINLINE storage_type fetch_sub(storage_type volatile& storage, storage_type v, memory_order order)
|
|
1290
|
+
static BOOST_FORCEINLINE storage_type fetch_sub(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
1291
1291
|
{
|
|
1292
1292
|
fence_before(order);
|
|
1293
1293
|
storage_type original, result;
|
|
1294
|
-
uint32_t tmp;
|
|
1294
|
+
std::uint32_t tmp;
|
|
1295
1295
|
__asm__ __volatile__
|
|
1296
1296
|
(
|
|
1297
1297
|
BOOST_ATOMIC_DETAIL_ARM_ASM_START(%0)
|
|
@@ -1314,11 +1314,11 @@ struct core_arch_operations< 8u, Signed, Interprocess > :
|
|
|
1314
1314
|
return original;
|
|
1315
1315
|
}
|
|
1316
1316
|
|
|
1317
|
-
static BOOST_FORCEINLINE storage_type fetch_and(storage_type volatile& storage, storage_type v, memory_order order)
|
|
1317
|
+
static BOOST_FORCEINLINE storage_type fetch_and(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
1318
1318
|
{
|
|
1319
1319
|
fence_before(order);
|
|
1320
1320
|
storage_type original, result;
|
|
1321
|
-
uint32_t tmp;
|
|
1321
|
+
std::uint32_t tmp;
|
|
1322
1322
|
__asm__ __volatile__
|
|
1323
1323
|
(
|
|
1324
1324
|
BOOST_ATOMIC_DETAIL_ARM_ASM_START(%0)
|
|
@@ -1341,11 +1341,11 @@ struct core_arch_operations< 8u, Signed, Interprocess > :
|
|
|
1341
1341
|
return original;
|
|
1342
1342
|
}
|
|
1343
1343
|
|
|
1344
|
-
static BOOST_FORCEINLINE storage_type fetch_or(storage_type volatile& storage, storage_type v, memory_order order)
|
|
1344
|
+
static BOOST_FORCEINLINE storage_type fetch_or(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
1345
1345
|
{
|
|
1346
1346
|
fence_before(order);
|
|
1347
1347
|
storage_type original, result;
|
|
1348
|
-
uint32_t tmp;
|
|
1348
|
+
std::uint32_t tmp;
|
|
1349
1349
|
__asm__ __volatile__
|
|
1350
1350
|
(
|
|
1351
1351
|
BOOST_ATOMIC_DETAIL_ARM_ASM_START(%0)
|
|
@@ -1368,11 +1368,11 @@ struct core_arch_operations< 8u, Signed, Interprocess > :
|
|
|
1368
1368
|
return original;
|
|
1369
1369
|
}
|
|
1370
1370
|
|
|
1371
|
-
static BOOST_FORCEINLINE storage_type fetch_xor(storage_type volatile& storage, storage_type v, memory_order order)
|
|
1371
|
+
static BOOST_FORCEINLINE storage_type fetch_xor(storage_type volatile& storage, storage_type v, memory_order order) noexcept
|
|
1372
1372
|
{
|
|
1373
1373
|
fence_before(order);
|
|
1374
1374
|
storage_type original, result;
|
|
1375
|
-
uint32_t tmp;
|
|
1375
|
+
std::uint32_t tmp;
|
|
1376
1376
|
__asm__ __volatile__
|
|
1377
1377
|
(
|
|
1378
1378
|
BOOST_ATOMIC_DETAIL_ARM_ASM_START(%0)
|
|
@@ -1395,12 +1395,12 @@ struct core_arch_operations< 8u, Signed, Interprocess > :
|
|
|
1395
1395
|
return original;
|
|
1396
1396
|
}
|
|
1397
1397
|
|
|
1398
|
-
static BOOST_FORCEINLINE bool test_and_set(storage_type volatile& storage, memory_order order)
|
|
1398
|
+
static BOOST_FORCEINLINE bool test_and_set(storage_type volatile& storage, memory_order order) noexcept
|
|
1399
1399
|
{
|
|
1400
1400
|
return !!exchange(storage, (storage_type)1, order);
|
|
1401
1401
|
}
|
|
1402
1402
|
|
|
1403
|
-
static BOOST_FORCEINLINE void clear(storage_type volatile& storage, memory_order order)
|
|
1403
|
+
static BOOST_FORCEINLINE void clear(storage_type volatile& storage, memory_order order) noexcept
|
|
1404
1404
|
{
|
|
1405
1405
|
store(storage, (storage_type)0, order);
|
|
1406
1406
|
}
|