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.
Files changed (440) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +32 -2
  3. data/Rakefile +6 -13
  4. data/bin/passenger-install-apache2-module +15 -19
  5. data/bin/passenger-install-nginx-module +42 -44
  6. data/bin/passenger-status +9 -10
  7. data/build/common_library.rb +4 -4
  8. data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +1 -1
  9. data/build/test_basics.rb +4 -3
  10. data/dev/copy_boost_headers +54 -40
  11. data/dev/ruby_server.rb +1 -1
  12. data/src/agent/Core/Config.h +1 -1
  13. data/src/agent/Core/Controller/Config.h +1 -1
  14. data/src/agent/Watchdog/Config.h +1 -1
  15. data/src/cxx_supportlib/Constants.h +1 -1
  16. data/src/cxx_supportlib/vendor-modified/boost/assert/source_location.hpp +8 -1
  17. data/src/cxx_supportlib/vendor-modified/boost/assert.hpp +6 -0
  18. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic.hpp +94 -110
  19. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_flag.hpp +2 -2
  20. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_ref.hpp +14 -14
  21. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/addressof.hpp +3 -3
  22. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_flag_impl.hpp +52 -24
  23. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_impl.hpp +641 -285
  24. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_ref_impl.hpp +593 -260
  25. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_cast.hpp +37 -24
  26. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_fp_cast.hpp +9 -9
  27. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/cas_based_exchange.hpp +3 -3
  28. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/chrono.hpp +93 -0
  29. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/classify.hpp +16 -17
  30. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +25 -34
  31. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_aarch32.hpp +204 -97
  32. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_aarch64.hpp +251 -122
  33. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_alpha.hpp +56 -56
  34. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_arm.hpp +129 -129
  35. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_ppc.hpp +253 -125
  36. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_sparc.hpp +25 -25
  37. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_x86.hpp +193 -126
  38. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_msvc_arm.hpp +57 -57
  39. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_msvc_x86.hpp +96 -97
  40. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations_emulated.hpp +24 -24
  41. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_cas_based.hpp +10 -10
  42. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_gcc_atomic.hpp +27 -24
  43. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_gcc_sync.hpp +39 -37
  44. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_linux_arm.hpp +17 -17
  45. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extending_cas_based_arithmetic.hpp +5 -5
  46. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_emulated.hpp +12 -12
  47. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_generic.hpp +21 -21
  48. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_emulated.hpp +30 -30
  49. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_aarch32.hpp +170 -98
  50. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_aarch64.hpp +209 -119
  51. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_arm.hpp +95 -95
  52. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_ppc.hpp +148 -76
  53. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_x86.hpp +293 -123
  54. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_generic.hpp +87 -71
  55. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_arm.hpp +5 -5
  56. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_x86.hpp +88 -88
  57. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_operations.hpp +2 -2
  58. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_aarch32.hpp +4 -5
  59. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_aarch64.hpp +4 -4
  60. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_alpha.hpp +4 -4
  61. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_arm.hpp +9 -9
  62. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_ppc.hpp +4 -4
  63. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_sparc.hpp +4 -4
  64. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_x86.hpp +4 -4
  65. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_msvc_arm.hpp +5 -5
  66. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_msvc_x86.hpp +6 -6
  67. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_operations.hpp +2 -2
  68. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_operations_emulated.hpp +2 -2
  69. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_gcc_atomic.hpp +5 -5
  70. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_gcc_sync.hpp +4 -4
  71. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_linux_arm.hpp +7 -7
  72. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_emulated.hpp +7 -7
  73. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_generic.hpp +6 -6
  74. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/futex.hpp +110 -49
  75. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc_atomic_memory_order_utils.hpp +1 -1
  76. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/has_posix_clock_traits.hpp +51 -0
  77. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/int_sizes.hpp +26 -32
  78. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/integral_conversions.hpp +15 -15
  79. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/interlocked.hpp +69 -30
  80. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/intptr.hpp +8 -8
  81. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/lock_pool.hpp +51 -31
  82. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/memory_order_utils.hpp +2 -2
  83. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/once_flag.hpp +2 -2
  84. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_arm_common.hpp +6 -6
  85. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_ppc_common.hpp +4 -4
  86. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/platform.hpp +5 -5
  87. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/storage_traits.hpp +31 -31
  88. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/alignment_of.hpp +2 -3
  89. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/has_unique_object_representations.hpp +2 -5
  90. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_floating_point.hpp +3 -3
  91. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_iec559.hpp +2 -2
  92. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_integral.hpp +3 -3
  93. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_signed.hpp +3 -3
  94. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_trivially_copyable.hpp +20 -13
  95. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_trivially_default_constructible.hpp +13 -13
  96. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/make_signed.hpp +3 -3
  97. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/make_unsigned.hpp +3 -3
  98. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_darwin_ulock.hpp +90 -16
  99. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_dragonfly_umtx.hpp +80 -11
  100. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_emulated.hpp +160 -15
  101. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_freebsd_umtx.hpp +327 -38
  102. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_futex.hpp +276 -33
  103. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_generic.hpp +260 -20
  104. data/src/cxx_supportlib/vendor-modified/boost/atomic/fences.hpp +4 -3
  105. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic.hpp +14 -18
  106. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_flag.hpp +2 -2
  107. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_ref.hpp +13 -13
  108. data/src/cxx_supportlib/vendor-modified/boost/atomic/posix_clock_traits_fwd.hpp +59 -0
  109. data/src/cxx_supportlib/vendor-modified/boost/atomic/thread_pause.hpp +102 -0
  110. data/src/cxx_supportlib/vendor-modified/boost/atomic/wait_result.hpp +56 -0
  111. data/src/cxx_supportlib/vendor-modified/boost/atomic.hpp +4 -1
  112. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +5 -0
  113. data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +1 -1
  114. data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +108 -41
  115. data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +1235 -1009
  116. data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +3 -2
  117. data/src/cxx_supportlib/vendor-modified/boost/container/detail/algorithm.hpp +56 -0
  118. data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_helpers.hpp +1 -0
  119. data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_lib.h +9 -9
  120. data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +23 -2
  121. data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +0 -1
  122. data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +88 -23
  123. data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +2 -1
  124. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool_impl.hpp +2 -2
  125. data/src/cxx_supportlib/vendor-modified/boost/container/detail/operator_new_helpers.hpp +68 -0
  126. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +72 -13
  127. data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +13 -0
  128. data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +8 -5
  129. data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +31 -10
  130. data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +37 -10
  131. data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +19 -0
  132. data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +23 -1
  133. data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +72 -5
  134. data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +3 -10
  135. data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +54 -23
  136. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/devector.hpp +6 -4
  137. data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +19 -0
  138. data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +32 -5
  139. data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +27 -2
  140. data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +22 -0
  141. data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +37 -17
  142. data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +23 -1
  143. data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +41 -20
  144. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +5 -8
  145. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash_fwd.hpp +3 -1
  146. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash_is_avalanching.hpp +57 -0
  147. data/src/cxx_supportlib/vendor-modified/boost/core/bit.hpp +29 -29
  148. data/src/cxx_supportlib/vendor-modified/boost/core/cmath.hpp +3 -3
  149. data/src/cxx_supportlib/vendor-modified/boost/core/data.hpp +15 -1
  150. data/src/cxx_supportlib/vendor-modified/boost/core/default_allocator.hpp +1 -0
  151. data/src/cxx_supportlib/vendor-modified/boost/core/demangle.hpp +1 -1
  152. data/src/cxx_supportlib/vendor-modified/boost/core/detail/assert.hpp +18 -0
  153. data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_thread_sleep.hpp +2 -2
  154. data/src/cxx_supportlib/vendor-modified/boost/core/detail/static_assert.hpp +42 -0
  155. data/src/cxx_supportlib/vendor-modified/boost/core/detail/string_view.hpp +16 -10
  156. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +35 -27
  157. data/src/cxx_supportlib/vendor-modified/boost/core/scoped_enum.hpp +1 -1
  158. data/src/cxx_supportlib/vendor-modified/boost/core/size.hpp +14 -0
  159. data/src/cxx_supportlib/vendor-modified/boost/core/span.hpp +20 -9
  160. data/src/cxx_supportlib/vendor-modified/boost/cregex.hpp +0 -5
  161. data/src/cxx_supportlib/vendor-modified/boost/describe/detail/config.hpp +8 -0
  162. data/src/cxx_supportlib/vendor-modified/boost/describe/modifiers.hpp +1 -1
  163. data/src/cxx_supportlib/vendor-modified/boost/foreach.hpp +1 -0
  164. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +4 -4
  165. data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +2 -2
  166. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_rebind.hpp +9 -0
  167. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +1 -0
  168. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +2 -2
  169. data/src/cxx_supportlib/vendor-modified/boost/iterator/advance.hpp +43 -64
  170. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_def.hpp +0 -83
  171. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_undef.hpp +1 -5
  172. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/eval_if_default.hpp +44 -0
  173. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/facade_iterator_category.hpp +103 -117
  174. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/conjunction.hpp +53 -0
  175. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/disjunction.hpp +53 -0
  176. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/negation.hpp +53 -0
  177. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/type_identity.hpp +54 -0
  178. data/src/cxx_supportlib/vendor-modified/boost/iterator/distance.hpp +32 -38
  179. data/src/cxx_supportlib/vendor-modified/boost/iterator/enable_if_convertible.hpp +84 -0
  180. data/src/cxx_supportlib/vendor-modified/boost/iterator/interoperable.hpp +22 -34
  181. data/src/cxx_supportlib/vendor-modified/boost/iterator/is_iterator.hpp +16 -16
  182. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_adaptor.hpp +162 -309
  183. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_categories.hpp +52 -161
  184. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_concepts.hpp +3 -11
  185. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_facade.hpp +804 -977
  186. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_traits.hpp +24 -17
  187. data/src/cxx_supportlib/vendor-modified/boost/iterator/min_category.hpp +83 -0
  188. data/src/cxx_supportlib/vendor-modified/boost/iterator/minimum_category.hpp +11 -73
  189. data/src/cxx_supportlib/vendor-modified/boost/iterator/reverse_iterator.hpp +56 -57
  190. data/src/cxx_supportlib/vendor-modified/boost/iterator/transform_iterator.hpp +123 -156
  191. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +1 -1
  192. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/buffer_view.hpp +1 -1
  193. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +36 -33
  194. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +43 -50
  195. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +23 -27
  196. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +1 -1
  197. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +10 -11
  198. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_basic_unlockedbuf.hpp +1 -1
  199. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +1 -1
  200. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +6 -7
  201. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/type_traits.hpp +81 -0
  202. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +4 -4
  203. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +8 -9
  204. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +1 -1
  205. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/wide_posix_api.cpp +1 -12
  206. data/src/cxx_supportlib/vendor-modified/boost/memory_order.hpp +8 -26
  207. data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_to_raw_pointer.hpp +1 -1
  208. data/src/cxx_supportlib/vendor-modified/boost/move/detail/launder.hpp +1 -1
  209. data/src/cxx_supportlib/vendor-modified/boost/move/detail/std_ns_begin.hpp +6 -0
  210. data/src/cxx_supportlib/vendor-modified/boost/move/detail/unique_ptr_meta_utils.hpp +2 -2
  211. data/src/cxx_supportlib/vendor-modified/boost/mp11/algorithm.hpp +11 -44
  212. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_map_find.hpp +34 -0
  213. data/src/cxx_supportlib/vendor-modified/boost/mp11/set.hpp +33 -1
  214. data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
  215. data/src/cxx_supportlib/vendor-modified/boost/mpl/and.hpp +4 -8
  216. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/na_assert.hpp +1 -1
  217. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/ptr_to_ref.hpp +1 -1
  218. data/src/cxx_supportlib/vendor-modified/boost/mpl/bitand.hpp +2 -6
  219. data/src/cxx_supportlib/vendor-modified/boost/mpl/bitor.hpp +2 -6
  220. data/src/cxx_supportlib/vendor-modified/boost/mpl/or.hpp +2 -6
  221. data/src/cxx_supportlib/vendor-modified/boost/pool/pool.hpp +1 -1
  222. data/src/cxx_supportlib/vendor-modified/boost/pool/simple_segregated_storage.hpp +0 -13
  223. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/to_seq_256.hpp +190 -190
  224. data/src/cxx_supportlib/vendor-modified/boost/random/beta_distribution.hpp +12 -2
  225. data/src/cxx_supportlib/vendor-modified/boost/random/detail/config.hpp +4 -0
  226. data/src/cxx_supportlib/vendor-modified/boost/random/detail/size.hpp +41 -0
  227. data/src/cxx_supportlib/vendor-modified/boost/random/detail/xoshiro_base.hpp +472 -0
  228. data/src/cxx_supportlib/vendor-modified/boost/random/discrete_distribution.hpp +7 -10
  229. data/src/cxx_supportlib/vendor-modified/boost/random/gamma_distribution.hpp +1 -1
  230. data/src/cxx_supportlib/vendor-modified/boost/random/generalized_inverse_gaussian_distribution.hpp +339 -0
  231. data/src/cxx_supportlib/vendor-modified/boost/random/hyperexponential_distribution.hpp +12 -14
  232. data/src/cxx_supportlib/vendor-modified/boost/random/inverse_gaussian_distribution.hpp +226 -0
  233. data/src/cxx_supportlib/vendor-modified/boost/random/mersenne_twister.hpp +1 -4
  234. data/src/cxx_supportlib/vendor-modified/boost/random/mixmax.hpp +63 -63
  235. data/src/cxx_supportlib/vendor-modified/boost/random/piecewise_constant_distribution.hpp +7 -10
  236. data/src/cxx_supportlib/vendor-modified/boost/random/piecewise_linear_distribution.hpp +8 -11
  237. data/src/cxx_supportlib/vendor-modified/boost/random/seed_seq.hpp +1 -3
  238. data/src/cxx_supportlib/vendor-modified/boost/random/splitmix64.hpp +1 -4
  239. data/src/cxx_supportlib/vendor-modified/boost/random/xoshiro.hpp +488 -0
  240. data/src/cxx_supportlib/vendor-modified/boost/random.hpp +3 -0
  241. data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +2 -0
  242. data/src/cxx_supportlib/vendor-modified/boost/range/detail/has_member_size.hpp +1 -0
  243. data/src/cxx_supportlib/vendor-modified/boost/range/detail/msvc_has_iterator_workaround.hpp +2 -0
  244. data/src/cxx_supportlib/vendor-modified/boost/range/has_range_iterator.hpp +1 -1
  245. data/src/cxx_supportlib/vendor-modified/boost/range/iterator.hpp +1 -0
  246. data/src/cxx_supportlib/vendor-modified/boost/range/iterator_range_core.hpp +4 -1
  247. data/src/cxx_supportlib/vendor-modified/boost/range/size_type.hpp +1 -1
  248. data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +35 -18
  249. data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +18 -101
  250. data/src/cxx_supportlib/vendor-modified/boost/regex/pattern_except.hpp +0 -4
  251. data/src/cxx_supportlib/vendor-modified/boost/regex/pending/object_cache.hpp +0 -4
  252. data/src/cxx_supportlib/vendor-modified/boost/regex/pending/unicode_iterator.hpp +0 -6
  253. data/src/cxx_supportlib/vendor-modified/boost/regex/regex_traits.hpp +0 -4
  254. data/src/cxx_supportlib/vendor-modified/boost/regex/user.hpp +4 -10
  255. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex.hpp +63 -17
  256. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_creator.hpp +71 -16
  257. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_parser.hpp +22 -1
  258. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/c_regex_traits.hpp +11 -4
  259. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/char_regex_traits.hpp +2 -0
  260. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/cpp_regex_traits.hpp +11 -8
  261. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/cregex.hpp +2 -1
  262. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/error_type.hpp +1 -1
  263. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/icu.hpp +40 -38
  264. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/iterator_category.hpp +2 -0
  265. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/iterator_traits.hpp +4 -0
  266. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/match_flags.hpp +39 -37
  267. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/match_results.hpp +46 -9
  268. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/mem_block_cache.hpp +4 -0
  269. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/object_cache.hpp +2 -0
  270. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/pattern_except.hpp +6 -4
  271. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher.hpp +57 -8
  272. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher_common.hpp +21 -6
  273. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher_non_recursive.hpp +18 -3
  274. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regbase.hpp +4 -2
  275. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex.hpp +6 -6
  276. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_format.hpp +23 -18
  277. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_fwd.hpp +9 -9
  278. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_grep.hpp +9 -5
  279. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_iterator.hpp +11 -7
  280. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_match.hpp +10 -7
  281. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_merge.hpp +4 -4
  282. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_raw_buffer.hpp +3 -0
  283. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_replace.hpp +6 -2
  284. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_search.hpp +12 -9
  285. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_split.hpp +6 -3
  286. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_token_iterator.hpp +16 -11
  287. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_traits.hpp +1 -1
  288. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_traits_defaults.hpp +2 -0
  289. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_workaround.hpp +2 -0
  290. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/states.hpp +7 -0
  291. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/sub_match.hpp +54 -49
  292. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/syntax_type.hpp +64 -62
  293. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/u32regex_iterator.hpp +16 -0
  294. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/u32regex_token_iterator.hpp +12 -0
  295. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/unicode_iterator.hpp +6 -4
  296. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/w32_regex_traits.hpp +3 -1
  297. data/src/cxx_supportlib/vendor-modified/boost/regex.hpp +0 -4
  298. data/src/cxx_supportlib/vendor-modified/boost/regex_fwd.hpp +0 -4
  299. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count.hpp +1 -43
  300. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/deprecated_macros.hpp +7 -7
  301. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +2 -77
  302. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base.hpp +1 -64
  303. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +3 -3
  304. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +0 -77
  305. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_cxx20_constexpr.hpp +37 -0
  306. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock.hpp +5 -28
  307. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +41 -40
  308. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_array.hpp +0 -15
  309. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_ptr.hpp +0 -18
  310. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +1 -1
  311. data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +1 -1
  312. data/src/cxx_supportlib/vendor-modified/boost/tuple/detail/tuple_basic.hpp +1 -0
  313. data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +8 -6
  314. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complete.hpp +31 -10
  315. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fca.hpp +34 -8
  316. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +6 -4
  317. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/table.hpp +9 -1
  318. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +5 -5
  319. data/src/cxx_supportlib/vendor-modified/boost/unordered/{unordered_printers.hpp → detail/unordered_printers.hpp} +34 -36
  320. data/src/cxx_supportlib/vendor-modified/boost/unordered/hash_traits.hpp +6 -49
  321. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +6 -1
  322. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +6 -1
  323. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +6 -1
  324. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +6 -1
  325. data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
  326. data/src/nginx_module/ContentHandler.c +2 -0
  327. data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +3 -5
  328. data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +3 -5
  329. data/src/ruby_supportlib/phusion_passenger/config/install_agent_command.rb +3 -5
  330. data/src/ruby_supportlib/phusion_passenger/config/install_standalone_runtime_command.rb +3 -5
  331. data/src/ruby_supportlib/phusion_passenger/config/installation_utils.rb +1 -1
  332. data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +2 -2
  333. data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +5 -3
  334. data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +2 -2
  335. data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +6 -13
  336. data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +29 -30
  337. data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +2 -3
  338. data/src/ruby_supportlib/phusion_passenger/standalone/config_utils.rb +2 -0
  339. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +1 -1
  340. data/src/ruby_supportlib/phusion_passenger/utils/json.rb +1 -1
  341. data/src/ruby_supportlib/phusion_passenger/utils/terminal_choice_menu.rb +1 -1
  342. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +1 -1
  343. data/src/ruby_supportlib/phusion_passenger.rb +8 -8
  344. metadata +26 -99
  345. data/src/cxx_supportlib/vendor-modified/boost/align/aligned_alloc.hpp +0 -47
  346. data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc_posix.hpp +0 -41
  347. data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc_sunos.hpp +0 -34
  348. data/src/cxx_supportlib/vendor-modified/boost/align/detail/is_alignment.hpp +0 -28
  349. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/pause.hpp +0 -68
  350. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/conditional.hpp +0 -42
  351. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/integral_constant.hpp +0 -46
  352. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_enum.hpp +0 -42
  353. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_function.hpp +0 -42
  354. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_nothrow_default_constructible.hpp +0 -46
  355. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/remove_cv.hpp +0 -42
  356. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_on_address.hpp +0 -64
  357. data/src/cxx_supportlib/vendor-modified/boost/cerrno.hpp +0 -15
  358. data/src/cxx_supportlib/vendor-modified/boost/detail/indirect_traits.hpp +0 -195
  359. data/src/cxx_supportlib/vendor-modified/boost/detail/select_type.hpp +0 -36
  360. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/enable_if.hpp +0 -83
  361. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/internals.hpp +0 -35
  362. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex.cpp +0 -120
  363. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex_debug.cpp +0 -59
  364. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/static_mutex.cpp +0 -189
  365. data/src/cxx_supportlib/vendor-modified/boost/libs/system/src/error_code.cpp +0 -31
  366. data/src/cxx_supportlib/vendor-modified/boost/regex/config/borland.hpp +0 -72
  367. data/src/cxx_supportlib/vendor-modified/boost/regex/config/cwchar.hpp +0 -207
  368. data/src/cxx_supportlib/vendor-modified/boost/regex/pending/static_mutex.hpp +0 -182
  369. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex.hpp +0 -797
  370. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +0 -1598
  371. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +0 -3174
  372. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/c_regex_traits.hpp +0 -511
  373. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/char_regex_traits.hpp +0 -81
  374. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cpp_regex_traits.hpp +0 -1237
  375. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cregex.hpp +0 -213
  376. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/error_type.hpp +0 -59
  377. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/icu.hpp +0 -1516
  378. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/indexed_bit_flag.hpp +0 -54
  379. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/iterator_category.hpp +0 -91
  380. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/iterator_traits.hpp +0 -135
  381. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +0 -161
  382. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_results.hpp +0 -716
  383. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/mem_block_cache.hpp +0 -183
  384. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/object_cache.hpp +0 -171
  385. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/pattern_except.hpp +0 -128
  386. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +0 -645
  387. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +0 -1030
  388. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +0 -1947
  389. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_recursive.hpp +0 -1131
  390. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/primary_transform.hpp +0 -146
  391. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/protected_call.hpp +0 -83
  392. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regbase.hpp +0 -180
  393. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex.hpp +0 -166
  394. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +0 -1158
  395. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_fwd.hpp +0 -73
  396. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_grep.hpp +0 -155
  397. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_iterator.hpp +0 -195
  398. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_match.hpp +0 -382
  399. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_merge.hpp +0 -93
  400. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_raw_buffer.hpp +0 -241
  401. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_replace.hpp +0 -99
  402. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_search.hpp +0 -217
  403. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_split.hpp +0 -174
  404. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_token_iterator.hpp +0 -327
  405. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits.hpp +0 -189
  406. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +0 -997
  407. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +0 -237
  408. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/states.hpp +0 -321
  409. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/sub_match.hpp +0 -516
  410. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/syntax_type.hpp +0 -105
  411. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_iterator.hpp +0 -185
  412. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_token_iterator.hpp +0 -360
  413. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/unicode_iterator.hpp +0 -871
  414. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +0 -1229
  415. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc.hpp +0 -79
  416. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc_atomic.hpp +0 -63
  417. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp +0 -88
  418. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_pt.hpp +0 -104
  419. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_spin.hpp +0 -69
  420. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_sync.hpp +0 -72
  421. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +0 -163
  422. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_aix.hpp +0 -152
  423. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +0 -185
  424. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_atomic.hpp +0 -148
  425. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +0 -170
  426. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +0 -200
  427. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +0 -194
  428. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +0 -179
  429. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +0 -186
  430. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +0 -147
  431. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +0 -174
  432. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_spin.hpp +0 -141
  433. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_sync.hpp +0 -165
  434. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +0 -163
  435. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_gcc_intrinsics.hpp +0 -30
  436. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_sync_intrinsics.hpp +0 -69
  437. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_gcc_arm.hpp +0 -128
  438. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_nt.hpp +0 -96
  439. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_pt.hpp +0 -86
  440. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_sync.hpp +0 -94
@@ -3,7 +3,7 @@
3
3
  * (See accompanying file LICENSE_1_0.txt or copy at
4
4
  * http://www.boost.org/LICENSE_1_0.txt)
5
5
  *
6
- * Copyright (c) 2020 Andrey Semashev
6
+ * Copyright (c) 2020-2025 Andrey Semashev
7
7
  */
8
8
  /*!
9
9
  * \file atomic/detail/extra_ops_gcc_aarch32.hpp
@@ -15,7 +15,7 @@
15
15
  #define BOOST_ATOMIC_DETAIL_EXTRA_OPS_GCC_AARCH32_HPP_INCLUDED_
16
16
 
17
17
  #include <cstddef>
18
- #include <boost/cstdint.hpp>
18
+ #include <cstdint>
19
19
  #include <boost/memory_order.hpp>
20
20
  #include <boost/atomic/detail/config.hpp>
21
21
  #include <boost/atomic/detail/platform.hpp>
@@ -38,77 +38,77 @@ template< typename Base >
38
38
  struct extra_operations_gcc_aarch32_common :
39
39
  public Base
40
40
  {
41
- typedef Base base_type;
42
- typedef typename base_type::storage_type storage_type;
41
+ using base_type = Base;
42
+ using storage_type = typename base_type::storage_type;
43
43
 
44
44
  // Note: For opaque operations prefer operations returning the resulting values instead of the original values
45
45
  // as these operations require less registers.
46
- static BOOST_FORCEINLINE void opaque_negate(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
46
+ static BOOST_FORCEINLINE void opaque_negate(storage_type volatile& storage, memory_order order) noexcept
47
47
  {
48
48
  base_type::negate(storage, order);
49
49
  }
50
50
 
51
- static BOOST_FORCEINLINE void opaque_complement(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
51
+ static BOOST_FORCEINLINE void opaque_complement(storage_type volatile& storage, memory_order order) noexcept
52
52
  {
53
53
  base_type::bitwise_complement(storage, order);
54
54
  }
55
55
 
56
- static BOOST_FORCEINLINE void opaque_add(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
56
+ static BOOST_FORCEINLINE void opaque_add(storage_type volatile& storage, storage_type v, memory_order order) noexcept
57
57
  {
58
58
  base_type::add(storage, v, order);
59
59
  }
60
60
 
61
- static BOOST_FORCEINLINE void opaque_sub(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
61
+ static BOOST_FORCEINLINE void opaque_sub(storage_type volatile& storage, storage_type v, memory_order order) noexcept
62
62
  {
63
63
  base_type::sub(storage, v, order);
64
64
  }
65
65
 
66
- static BOOST_FORCEINLINE void opaque_and(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
66
+ static BOOST_FORCEINLINE void opaque_and(storage_type volatile& storage, storage_type v, memory_order order) noexcept
67
67
  {
68
68
  base_type::bitwise_and(storage, v, order);
69
69
  }
70
70
 
71
- static BOOST_FORCEINLINE void opaque_or(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
71
+ static BOOST_FORCEINLINE void opaque_or(storage_type volatile& storage, storage_type v, memory_order order) noexcept
72
72
  {
73
73
  base_type::bitwise_or(storage, v, order);
74
74
  }
75
75
 
76
- static BOOST_FORCEINLINE void opaque_xor(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
76
+ static BOOST_FORCEINLINE void opaque_xor(storage_type volatile& storage, storage_type v, memory_order order) noexcept
77
77
  {
78
78
  base_type::bitwise_xor(storage, v, order);
79
79
  }
80
80
 
81
- static BOOST_FORCEINLINE bool negate_and_test(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
81
+ static BOOST_FORCEINLINE bool negate_and_test(storage_type volatile& storage, memory_order order) noexcept
82
82
  {
83
83
  return !!base_type::negate(storage, order);
84
84
  }
85
85
 
86
- static BOOST_FORCEINLINE bool add_and_test(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
86
+ static BOOST_FORCEINLINE bool add_and_test(storage_type volatile& storage, storage_type v, memory_order order) noexcept
87
87
  {
88
88
  return !!base_type::add(storage, v, order);
89
89
  }
90
90
 
91
- static BOOST_FORCEINLINE bool sub_and_test(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
91
+ static BOOST_FORCEINLINE bool sub_and_test(storage_type volatile& storage, storage_type v, memory_order order) noexcept
92
92
  {
93
93
  return !!base_type::sub(storage, v, order);
94
94
  }
95
95
 
96
- static BOOST_FORCEINLINE bool and_and_test(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
96
+ static BOOST_FORCEINLINE bool and_and_test(storage_type volatile& storage, storage_type v, memory_order order) noexcept
97
97
  {
98
98
  return !!base_type::bitwise_and(storage, v, order);
99
99
  }
100
100
 
101
- static BOOST_FORCEINLINE bool or_and_test(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
101
+ static BOOST_FORCEINLINE bool or_and_test(storage_type volatile& storage, storage_type v, memory_order order) noexcept
102
102
  {
103
103
  return !!base_type::bitwise_or(storage, v, order);
104
104
  }
105
105
 
106
- static BOOST_FORCEINLINE bool xor_and_test(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
106
+ static BOOST_FORCEINLINE bool xor_and_test(storage_type volatile& storage, storage_type v, memory_order order) noexcept
107
107
  {
108
108
  return !!base_type::bitwise_xor(storage, v, order);
109
109
  }
110
110
 
111
- static BOOST_FORCEINLINE bool complement_and_test(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
111
+ static BOOST_FORCEINLINE bool complement_and_test(storage_type volatile& storage, memory_order order) noexcept
112
112
  {
113
113
  return !!base_type::bitwise_complement(storage, order);
114
114
  }
@@ -121,13 +121,14 @@ template< typename Base, bool Signed >
121
121
  struct extra_operations_gcc_aarch32< Base, 1u, Signed > :
122
122
  public extra_operations_generic< Base, 1u, Signed >
123
123
  {
124
- typedef extra_operations_generic< Base, 1u, Signed > base_type;
125
- typedef typename base_type::storage_type storage_type;
124
+ using base_type = extra_operations_generic< Base, 1u, Signed >;
125
+ using storage_type = typename base_type::storage_type;
126
126
 
127
- static BOOST_FORCEINLINE storage_type fetch_negate(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
127
+ static BOOST_FORCEINLINE storage_type fetch_negate(storage_type volatile& storage, memory_order order) noexcept
128
128
  {
129
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
129
130
  storage_type original, result;
130
- uint32_t tmp;
131
+ std::uint32_t tmp;
131
132
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
132
133
  __asm__ __volatile__\
133
134
  (\
@@ -144,14 +145,16 @@ struct extra_operations_gcc_aarch32< Base, 1u, Signed > :
144
145
 
145
146
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
146
147
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
148
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
147
149
 
148
150
  return original;
149
151
  }
150
152
 
151
- static BOOST_FORCEINLINE storage_type negate(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
153
+ static BOOST_FORCEINLINE storage_type negate(storage_type volatile& storage, memory_order order) noexcept
152
154
  {
155
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
153
156
  storage_type result;
154
- uint32_t tmp;
157
+ std::uint32_t tmp;
155
158
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
156
159
  __asm__ __volatile__\
157
160
  (\
@@ -168,14 +171,16 @@ struct extra_operations_gcc_aarch32< Base, 1u, Signed > :
168
171
 
169
172
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
170
173
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
174
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
171
175
 
172
176
  return result;
173
177
  }
174
178
 
175
- static BOOST_FORCEINLINE storage_type add(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
179
+ static BOOST_FORCEINLINE storage_type add(storage_type volatile& storage, storage_type v, memory_order order) noexcept
176
180
  {
181
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
177
182
  storage_type result;
178
- uint32_t tmp;
183
+ std::uint32_t tmp;
179
184
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
180
185
  __asm__ __volatile__\
181
186
  (\
@@ -192,14 +197,16 @@ struct extra_operations_gcc_aarch32< Base, 1u, Signed > :
192
197
 
193
198
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
194
199
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
200
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
195
201
 
196
202
  return result;
197
203
  }
198
204
 
199
- static BOOST_FORCEINLINE storage_type sub(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
205
+ static BOOST_FORCEINLINE storage_type sub(storage_type volatile& storage, storage_type v, memory_order order) noexcept
200
206
  {
207
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
201
208
  storage_type result;
202
- uint32_t tmp;
209
+ std::uint32_t tmp;
203
210
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
204
211
  __asm__ __volatile__\
205
212
  (\
@@ -216,14 +223,16 @@ struct extra_operations_gcc_aarch32< Base, 1u, Signed > :
216
223
 
217
224
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
218
225
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
226
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
219
227
 
220
228
  return result;
221
229
  }
222
230
 
223
- static BOOST_FORCEINLINE storage_type bitwise_and(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
231
+ static BOOST_FORCEINLINE storage_type bitwise_and(storage_type volatile& storage, storage_type v, memory_order order) noexcept
224
232
  {
233
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
225
234
  storage_type result;
226
- uint32_t tmp;
235
+ std::uint32_t tmp;
227
236
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
228
237
  __asm__ __volatile__\
229
238
  (\
@@ -240,14 +249,16 @@ struct extra_operations_gcc_aarch32< Base, 1u, Signed > :
240
249
 
241
250
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
242
251
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
252
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
243
253
 
244
254
  return result;
245
255
  }
246
256
 
247
- static BOOST_FORCEINLINE storage_type bitwise_or(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
257
+ static BOOST_FORCEINLINE storage_type bitwise_or(storage_type volatile& storage, storage_type v, memory_order order) noexcept
248
258
  {
259
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
249
260
  storage_type result;
250
- uint32_t tmp;
261
+ std::uint32_t tmp;
251
262
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
252
263
  __asm__ __volatile__\
253
264
  (\
@@ -264,14 +275,16 @@ struct extra_operations_gcc_aarch32< Base, 1u, Signed > :
264
275
 
265
276
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
266
277
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
278
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
267
279
 
268
280
  return result;
269
281
  }
270
282
 
271
- static BOOST_FORCEINLINE storage_type bitwise_xor(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
283
+ static BOOST_FORCEINLINE storage_type bitwise_xor(storage_type volatile& storage, storage_type v, memory_order order) noexcept
272
284
  {
285
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
273
286
  storage_type result;
274
- uint32_t tmp;
287
+ std::uint32_t tmp;
275
288
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
276
289
  __asm__ __volatile__\
277
290
  (\
@@ -288,14 +301,16 @@ struct extra_operations_gcc_aarch32< Base, 1u, Signed > :
288
301
 
289
302
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
290
303
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
304
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
291
305
 
292
306
  return result;
293
307
  }
294
308
 
295
- static BOOST_FORCEINLINE storage_type fetch_complement(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
309
+ static BOOST_FORCEINLINE storage_type fetch_complement(storage_type volatile& storage, memory_order order) noexcept
296
310
  {
311
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
297
312
  storage_type original, result;
298
- uint32_t tmp;
313
+ std::uint32_t tmp;
299
314
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
300
315
  __asm__ __volatile__\
301
316
  (\
@@ -312,14 +327,16 @@ struct extra_operations_gcc_aarch32< Base, 1u, Signed > :
312
327
 
313
328
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
314
329
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
330
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
315
331
 
316
332
  return original;
317
333
  }
318
334
 
319
- static BOOST_FORCEINLINE storage_type bitwise_complement(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
335
+ static BOOST_FORCEINLINE storage_type bitwise_complement(storage_type volatile& storage, memory_order order) noexcept
320
336
  {
337
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
321
338
  storage_type result;
322
- uint32_t tmp;
339
+ std::uint32_t tmp;
323
340
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
324
341
  __asm__ __volatile__\
325
342
  (\
@@ -336,6 +353,7 @@ struct extra_operations_gcc_aarch32< Base, 1u, Signed > :
336
353
 
337
354
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
338
355
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
356
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
339
357
 
340
358
  return result;
341
359
  }
@@ -352,13 +370,14 @@ template< typename Base, bool Signed >
352
370
  struct extra_operations_gcc_aarch32< Base, 2u, Signed > :
353
371
  public extra_operations_generic< Base, 2u, Signed >
354
372
  {
355
- typedef extra_operations_generic< Base, 2u, Signed > base_type;
356
- typedef typename base_type::storage_type storage_type;
373
+ using base_type = extra_operations_generic< Base, 2u, Signed >;
374
+ using storage_type = typename base_type::storage_type;
357
375
 
358
- static BOOST_FORCEINLINE storage_type fetch_negate(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
376
+ static BOOST_FORCEINLINE storage_type fetch_negate(storage_type volatile& storage, memory_order order) noexcept
359
377
  {
378
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
360
379
  storage_type original, result;
361
- uint32_t tmp;
380
+ std::uint32_t tmp;
362
381
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
363
382
  __asm__ __volatile__\
364
383
  (\
@@ -375,14 +394,16 @@ struct extra_operations_gcc_aarch32< Base, 2u, Signed > :
375
394
 
376
395
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
377
396
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
397
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
378
398
 
379
399
  return original;
380
400
  }
381
401
 
382
- static BOOST_FORCEINLINE storage_type negate(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
402
+ static BOOST_FORCEINLINE storage_type negate(storage_type volatile& storage, memory_order order) noexcept
383
403
  {
404
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
384
405
  storage_type result;
385
- uint32_t tmp;
406
+ std::uint32_t tmp;
386
407
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
387
408
  __asm__ __volatile__\
388
409
  (\
@@ -399,14 +420,16 @@ struct extra_operations_gcc_aarch32< Base, 2u, Signed > :
399
420
 
400
421
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
401
422
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
423
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
402
424
 
403
425
  return result;
404
426
  }
405
427
 
406
- static BOOST_FORCEINLINE storage_type add(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
428
+ static BOOST_FORCEINLINE storage_type add(storage_type volatile& storage, storage_type v, memory_order order) noexcept
407
429
  {
430
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
408
431
  storage_type result;
409
- uint32_t tmp;
432
+ std::uint32_t tmp;
410
433
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
411
434
  __asm__ __volatile__\
412
435
  (\
@@ -423,14 +446,16 @@ struct extra_operations_gcc_aarch32< Base, 2u, Signed > :
423
446
 
424
447
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
425
448
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
449
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
426
450
 
427
451
  return result;
428
452
  }
429
453
 
430
- static BOOST_FORCEINLINE storage_type sub(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
454
+ static BOOST_FORCEINLINE storage_type sub(storage_type volatile& storage, storage_type v, memory_order order) noexcept
431
455
  {
456
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
432
457
  storage_type result;
433
- uint32_t tmp;
458
+ std::uint32_t tmp;
434
459
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
435
460
  __asm__ __volatile__\
436
461
  (\
@@ -447,14 +472,16 @@ struct extra_operations_gcc_aarch32< Base, 2u, Signed > :
447
472
 
448
473
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
449
474
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
475
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
450
476
 
451
477
  return result;
452
478
  }
453
479
 
454
- static BOOST_FORCEINLINE storage_type bitwise_and(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
480
+ static BOOST_FORCEINLINE storage_type bitwise_and(storage_type volatile& storage, storage_type v, memory_order order) noexcept
455
481
  {
482
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
456
483
  storage_type result;
457
- uint32_t tmp;
484
+ std::uint32_t tmp;
458
485
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
459
486
  __asm__ __volatile__\
460
487
  (\
@@ -471,14 +498,16 @@ struct extra_operations_gcc_aarch32< Base, 2u, Signed > :
471
498
 
472
499
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
473
500
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
501
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
474
502
 
475
503
  return result;
476
504
  }
477
505
 
478
- static BOOST_FORCEINLINE storage_type bitwise_or(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
506
+ static BOOST_FORCEINLINE storage_type bitwise_or(storage_type volatile& storage, storage_type v, memory_order order) noexcept
479
507
  {
508
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
480
509
  storage_type result;
481
- uint32_t tmp;
510
+ std::uint32_t tmp;
482
511
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
483
512
  __asm__ __volatile__\
484
513
  (\
@@ -495,14 +524,16 @@ struct extra_operations_gcc_aarch32< Base, 2u, Signed > :
495
524
 
496
525
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
497
526
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
527
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
498
528
 
499
529
  return result;
500
530
  }
501
531
 
502
- static BOOST_FORCEINLINE storage_type bitwise_xor(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
532
+ static BOOST_FORCEINLINE storage_type bitwise_xor(storage_type volatile& storage, storage_type v, memory_order order) noexcept
503
533
  {
534
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
504
535
  storage_type result;
505
- uint32_t tmp;
536
+ std::uint32_t tmp;
506
537
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
507
538
  __asm__ __volatile__\
508
539
  (\
@@ -519,14 +550,16 @@ struct extra_operations_gcc_aarch32< Base, 2u, Signed > :
519
550
 
520
551
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
521
552
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
553
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
522
554
 
523
555
  return result;
524
556
  }
525
557
 
526
- static BOOST_FORCEINLINE storage_type fetch_complement(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
558
+ static BOOST_FORCEINLINE storage_type fetch_complement(storage_type volatile& storage, memory_order order) noexcept
527
559
  {
560
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
528
561
  storage_type original, result;
529
- uint32_t tmp;
562
+ std::uint32_t tmp;
530
563
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
531
564
  __asm__ __volatile__\
532
565
  (\
@@ -543,14 +576,16 @@ struct extra_operations_gcc_aarch32< Base, 2u, Signed > :
543
576
 
544
577
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
545
578
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
579
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
546
580
 
547
581
  return original;
548
582
  }
549
583
 
550
- static BOOST_FORCEINLINE storage_type bitwise_complement(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
584
+ static BOOST_FORCEINLINE storage_type bitwise_complement(storage_type volatile& storage, memory_order order) noexcept
551
585
  {
586
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
552
587
  storage_type result;
553
- uint32_t tmp;
588
+ std::uint32_t tmp;
554
589
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
555
590
  __asm__ __volatile__\
556
591
  (\
@@ -567,6 +602,7 @@ struct extra_operations_gcc_aarch32< Base, 2u, Signed > :
567
602
 
568
603
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
569
604
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
605
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
570
606
 
571
607
  return result;
572
608
  }
@@ -582,13 +618,14 @@ template< typename Base, bool Signed >
582
618
  struct extra_operations_gcc_aarch32< Base, 4u, Signed > :
583
619
  public extra_operations_generic< Base, 4u, Signed >
584
620
  {
585
- typedef extra_operations_generic< Base, 4u, Signed > base_type;
586
- typedef typename base_type::storage_type storage_type;
621
+ using base_type = extra_operations_generic< Base, 4u, Signed >;
622
+ using storage_type = typename base_type::storage_type;
587
623
 
588
- static BOOST_FORCEINLINE storage_type fetch_negate(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
624
+ static BOOST_FORCEINLINE storage_type fetch_negate(storage_type volatile& storage, memory_order order) noexcept
589
625
  {
626
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
590
627
  storage_type original, result;
591
- uint32_t tmp;
628
+ std::uint32_t tmp;
592
629
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
593
630
  __asm__ __volatile__\
594
631
  (\
@@ -605,14 +642,16 @@ struct extra_operations_gcc_aarch32< Base, 4u, Signed > :
605
642
 
606
643
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
607
644
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
645
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
608
646
 
609
647
  return original;
610
648
  }
611
649
 
612
- static BOOST_FORCEINLINE storage_type negate(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
650
+ static BOOST_FORCEINLINE storage_type negate(storage_type volatile& storage, memory_order order) noexcept
613
651
  {
652
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
614
653
  storage_type result;
615
- uint32_t tmp;
654
+ std::uint32_t tmp;
616
655
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
617
656
  __asm__ __volatile__\
618
657
  (\
@@ -629,14 +668,16 @@ struct extra_operations_gcc_aarch32< Base, 4u, Signed > :
629
668
 
630
669
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
631
670
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
671
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
632
672
 
633
673
  return result;
634
674
  }
635
675
 
636
- static BOOST_FORCEINLINE storage_type add(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
676
+ static BOOST_FORCEINLINE storage_type add(storage_type volatile& storage, storage_type v, memory_order order) noexcept
637
677
  {
678
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
638
679
  storage_type result;
639
- uint32_t tmp;
680
+ std::uint32_t tmp;
640
681
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
641
682
  __asm__ __volatile__\
642
683
  (\
@@ -653,14 +694,16 @@ struct extra_operations_gcc_aarch32< Base, 4u, Signed > :
653
694
 
654
695
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
655
696
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
697
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
656
698
 
657
699
  return result;
658
700
  }
659
701
 
660
- static BOOST_FORCEINLINE storage_type sub(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
702
+ static BOOST_FORCEINLINE storage_type sub(storage_type volatile& storage, storage_type v, memory_order order) noexcept
661
703
  {
704
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
662
705
  storage_type result;
663
- uint32_t tmp;
706
+ std::uint32_t tmp;
664
707
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
665
708
  __asm__ __volatile__\
666
709
  (\
@@ -677,14 +720,16 @@ struct extra_operations_gcc_aarch32< Base, 4u, Signed > :
677
720
 
678
721
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
679
722
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
723
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
680
724
 
681
725
  return result;
682
726
  }
683
727
 
684
- static BOOST_FORCEINLINE storage_type bitwise_and(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
728
+ static BOOST_FORCEINLINE storage_type bitwise_and(storage_type volatile& storage, storage_type v, memory_order order) noexcept
685
729
  {
730
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
686
731
  storage_type result;
687
- uint32_t tmp;
732
+ std::uint32_t tmp;
688
733
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
689
734
  __asm__ __volatile__\
690
735
  (\
@@ -701,14 +746,16 @@ struct extra_operations_gcc_aarch32< Base, 4u, Signed > :
701
746
 
702
747
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
703
748
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
749
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
704
750
 
705
751
  return result;
706
752
  }
707
753
 
708
- static BOOST_FORCEINLINE storage_type bitwise_or(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
754
+ static BOOST_FORCEINLINE storage_type bitwise_or(storage_type volatile& storage, storage_type v, memory_order order) noexcept
709
755
  {
756
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
710
757
  storage_type result;
711
- uint32_t tmp;
758
+ std::uint32_t tmp;
712
759
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
713
760
  __asm__ __volatile__\
714
761
  (\
@@ -725,14 +772,16 @@ struct extra_operations_gcc_aarch32< Base, 4u, Signed > :
725
772
 
726
773
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
727
774
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
775
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
728
776
 
729
777
  return result;
730
778
  }
731
779
 
732
- static BOOST_FORCEINLINE storage_type bitwise_xor(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
780
+ static BOOST_FORCEINLINE storage_type bitwise_xor(storage_type volatile& storage, storage_type v, memory_order order) noexcept
733
781
  {
782
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
734
783
  storage_type result;
735
- uint32_t tmp;
784
+ std::uint32_t tmp;
736
785
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
737
786
  __asm__ __volatile__\
738
787
  (\
@@ -749,14 +798,16 @@ struct extra_operations_gcc_aarch32< Base, 4u, Signed > :
749
798
 
750
799
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
751
800
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
801
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
752
802
 
753
803
  return result;
754
804
  }
755
805
 
756
- static BOOST_FORCEINLINE storage_type fetch_complement(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
806
+ static BOOST_FORCEINLINE storage_type fetch_complement(storage_type volatile& storage, memory_order order) noexcept
757
807
  {
808
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
758
809
  storage_type original, result;
759
- uint32_t tmp;
810
+ std::uint32_t tmp;
760
811
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
761
812
  __asm__ __volatile__\
762
813
  (\
@@ -773,14 +824,16 @@ struct extra_operations_gcc_aarch32< Base, 4u, Signed > :
773
824
 
774
825
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
775
826
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
827
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
776
828
 
777
829
  return original;
778
830
  }
779
831
 
780
- static BOOST_FORCEINLINE storage_type bitwise_complement(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
832
+ static BOOST_FORCEINLINE storage_type bitwise_complement(storage_type volatile& storage, memory_order order) noexcept
781
833
  {
834
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
782
835
  storage_type result;
783
- uint32_t tmp;
836
+ std::uint32_t tmp;
784
837
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
785
838
  __asm__ __volatile__\
786
839
  (\
@@ -797,6 +850,7 @@ struct extra_operations_gcc_aarch32< Base, 4u, Signed > :
797
850
 
798
851
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
799
852
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
853
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
800
854
 
801
855
  return result;
802
856
  }
@@ -812,13 +866,14 @@ template< typename Base, bool Signed >
812
866
  struct extra_operations_gcc_aarch32< Base, 8u, Signed > :
813
867
  public extra_operations_generic< Base, 8u, Signed >
814
868
  {
815
- typedef extra_operations_generic< Base, 8u, Signed > base_type;
816
- typedef typename base_type::storage_type storage_type;
869
+ using base_type = extra_operations_generic< Base, 8u, Signed >;
870
+ using storage_type = typename base_type::storage_type;
817
871
 
818
- static BOOST_FORCEINLINE storage_type fetch_negate(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
872
+ static BOOST_FORCEINLINE storage_type fetch_negate(storage_type volatile& storage, memory_order order) noexcept
819
873
  {
874
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
820
875
  storage_type original, result;
821
- uint32_t tmp;
876
+ std::uint32_t tmp;
822
877
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
823
878
  __asm__ __volatile__\
824
879
  (\
@@ -838,14 +893,16 @@ struct extra_operations_gcc_aarch32< Base, 8u, Signed > :
838
893
 
839
894
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
840
895
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
896
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
841
897
 
842
898
  return original;
843
899
  }
844
900
 
845
- static BOOST_FORCEINLINE storage_type negate(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
901
+ static BOOST_FORCEINLINE storage_type negate(storage_type volatile& storage, memory_order order) noexcept
846
902
  {
903
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
847
904
  storage_type result;
848
- uint32_t tmp;
905
+ std::uint32_t tmp;
849
906
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
850
907
  __asm__ __volatile__\
851
908
  (\
@@ -865,14 +922,16 @@ struct extra_operations_gcc_aarch32< Base, 8u, Signed > :
865
922
 
866
923
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
867
924
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
925
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
868
926
 
869
927
  return result;
870
928
  }
871
929
 
872
- static BOOST_FORCEINLINE storage_type add(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
930
+ static BOOST_FORCEINLINE storage_type add(storage_type volatile& storage, storage_type v, memory_order order) noexcept
873
931
  {
932
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
874
933
  storage_type result;
875
- uint32_t tmp;
934
+ std::uint32_t tmp;
876
935
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
877
936
  __asm__ __volatile__\
878
937
  (\
@@ -890,14 +949,16 @@ struct extra_operations_gcc_aarch32< Base, 8u, Signed > :
890
949
 
891
950
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
892
951
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
952
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
893
953
 
894
954
  return result;
895
955
  }
896
956
 
897
- static BOOST_FORCEINLINE storage_type sub(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
957
+ static BOOST_FORCEINLINE storage_type sub(storage_type volatile& storage, storage_type v, memory_order order) noexcept
898
958
  {
959
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
899
960
  storage_type result;
900
- uint32_t tmp;
961
+ std::uint32_t tmp;
901
962
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
902
963
  __asm__ __volatile__\
903
964
  (\
@@ -915,14 +976,16 @@ struct extra_operations_gcc_aarch32< Base, 8u, Signed > :
915
976
 
916
977
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
917
978
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
979
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
918
980
 
919
981
  return result;
920
982
  }
921
983
 
922
- static BOOST_FORCEINLINE storage_type bitwise_and(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
984
+ static BOOST_FORCEINLINE storage_type bitwise_and(storage_type volatile& storage, storage_type v, memory_order order) noexcept
923
985
  {
986
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
924
987
  storage_type result;
925
- uint32_t tmp;
988
+ std::uint32_t tmp;
926
989
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
927
990
  __asm__ __volatile__\
928
991
  (\
@@ -940,14 +1003,16 @@ struct extra_operations_gcc_aarch32< Base, 8u, Signed > :
940
1003
 
941
1004
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
942
1005
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
1006
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
943
1007
 
944
1008
  return result;
945
1009
  }
946
1010
 
947
- static BOOST_FORCEINLINE storage_type bitwise_or(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
1011
+ static BOOST_FORCEINLINE storage_type bitwise_or(storage_type volatile& storage, storage_type v, memory_order order) noexcept
948
1012
  {
1013
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
949
1014
  storage_type result;
950
- uint32_t tmp;
1015
+ std::uint32_t tmp;
951
1016
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
952
1017
  __asm__ __volatile__\
953
1018
  (\
@@ -965,14 +1030,16 @@ struct extra_operations_gcc_aarch32< Base, 8u, Signed > :
965
1030
 
966
1031
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
967
1032
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
1033
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
968
1034
 
969
1035
  return result;
970
1036
  }
971
1037
 
972
- static BOOST_FORCEINLINE storage_type bitwise_xor(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
1038
+ static BOOST_FORCEINLINE storage_type bitwise_xor(storage_type volatile& storage, storage_type v, memory_order order) noexcept
973
1039
  {
1040
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
974
1041
  storage_type result;
975
- uint32_t tmp;
1042
+ std::uint32_t tmp;
976
1043
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
977
1044
  __asm__ __volatile__\
978
1045
  (\
@@ -990,14 +1057,16 @@ struct extra_operations_gcc_aarch32< Base, 8u, Signed > :
990
1057
 
991
1058
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
992
1059
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
1060
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
993
1061
 
994
1062
  return result;
995
1063
  }
996
1064
 
997
- static BOOST_FORCEINLINE storage_type fetch_complement(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
1065
+ static BOOST_FORCEINLINE storage_type fetch_complement(storage_type volatile& storage, memory_order order) noexcept
998
1066
  {
1067
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
999
1068
  storage_type original, result;
1000
- uint32_t tmp;
1069
+ std::uint32_t tmp;
1001
1070
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
1002
1071
  __asm__ __volatile__\
1003
1072
  (\
@@ -1015,14 +1084,16 @@ struct extra_operations_gcc_aarch32< Base, 8u, Signed > :
1015
1084
 
1016
1085
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
1017
1086
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
1087
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
1018
1088
 
1019
1089
  return original;
1020
1090
  }
1021
1091
 
1022
- static BOOST_FORCEINLINE storage_type bitwise_complement(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
1092
+ static BOOST_FORCEINLINE storage_type bitwise_complement(storage_type volatile& storage, memory_order order) noexcept
1023
1093
  {
1094
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
1024
1095
  storage_type result;
1025
- uint32_t tmp;
1096
+ std::uint32_t tmp;
1026
1097
  #define BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN(ld_mo, st_mo)\
1027
1098
  __asm__ __volatile__\
1028
1099
  (\
@@ -1040,6 +1111,7 @@ struct extra_operations_gcc_aarch32< Base, 8u, Signed > :
1040
1111
 
1041
1112
  BOOST_ATOMIC_DETAIL_AARCH32_MO_SWITCH(order)
1042
1113
  #undef BOOST_ATOMIC_DETAIL_AARCH32_MO_INSN
1114
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
1043
1115
 
1044
1116
  return result;
1045
1117
  }