passenger 6.0.27 → 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 (482) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +42 -2
  3. data/CONTRIBUTORS +2 -0
  4. data/Rakefile +6 -13
  5. data/bin/passenger-install-apache2-module +21 -22
  6. data/bin/passenger-install-nginx-module +50 -47
  7. data/bin/passenger-status +9 -10
  8. data/build/common_library.rb +4 -4
  9. data/build/support/cxx_dependency_map.rb +3 -621
  10. data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +1 -1
  11. data/build/test_basics.rb +4 -3
  12. data/dev/copy_boost_headers +54 -40
  13. data/dev/index_cxx_dependencies.rb +4 -0
  14. data/dev/ruby_server.rb +1 -1
  15. data/package.json +1 -1
  16. data/src/agent/Core/ApplicationPool/Implementation.cpp +1 -1
  17. data/src/agent/Core/ApplicationPool/Socket.h +3 -3
  18. data/src/agent/Core/ApplicationPool/TestSession.h +3 -4
  19. data/src/agent/Core/Config.h +1 -6
  20. data/src/agent/Core/Controller/Config.h +1 -1
  21. data/src/agent/Core/CoreMain.cpp +1 -0
  22. data/src/agent/Core/SecurityUpdateChecker.h +10 -1
  23. data/src/agent/Core/SpawningKit/Exceptions.h +0 -1
  24. data/src/agent/Core/SpawningKit/Handshake/Perform.h +13 -2
  25. data/src/agent/Shared/Fundamentals/AbortHandler.cpp +23 -5
  26. data/src/agent/Shared/Fundamentals/AbortHandler.h +10 -22
  27. data/src/agent/Shared/Fundamentals/Initialization.cpp +1 -0
  28. data/src/agent/Watchdog/Config.h +1 -1
  29. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +5 -0
  30. data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +5 -0
  31. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +14 -0
  32. data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp +3 -0
  33. data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp +3 -0
  34. data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp +11 -0
  35. data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp +7 -0
  36. data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +17 -0
  37. data/src/apache2_module/Hooks.cpp +0 -6
  38. data/src/cxx_supportlib/ConfigKit/IN_PRACTICE.md +2 -12
  39. data/src/cxx_supportlib/ConfigKit/Store.h +1 -6
  40. data/src/cxx_supportlib/Constants.h +1 -1
  41. data/src/cxx_supportlib/DataStructures/StringKeyTable.h +1 -7
  42. data/src/cxx_supportlib/Exceptions.cpp +178 -0
  43. data/src/cxx_supportlib/Exceptions.h +62 -177
  44. data/src/cxx_supportlib/IOTools/IOUtils.cpp +255 -228
  45. data/src/cxx_supportlib/IOTools/IOUtils.h +84 -121
  46. data/src/cxx_supportlib/ServerKit/Config.h +1 -6
  47. data/src/cxx_supportlib/ServerKit/FileBufferedChannel.h +1 -1
  48. data/src/cxx_supportlib/StaticString.h +1 -6
  49. data/src/cxx_supportlib/Utils/Curl.h +1 -6
  50. data/src/cxx_supportlib/Utils/ScopeGuard.h +0 -32
  51. data/src/cxx_supportlib/oxt/implementation.cpp +2 -2
  52. data/src/cxx_supportlib/oxt/spin_lock.hpp +94 -23
  53. data/src/cxx_supportlib/vendor-modified/boost/assert/source_location.hpp +8 -1
  54. data/src/cxx_supportlib/vendor-modified/boost/assert.hpp +6 -0
  55. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic.hpp +94 -110
  56. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_flag.hpp +2 -2
  57. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_ref.hpp +14 -14
  58. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/addressof.hpp +3 -3
  59. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_flag_impl.hpp +52 -24
  60. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_impl.hpp +641 -285
  61. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_ref_impl.hpp +593 -260
  62. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_cast.hpp +37 -24
  63. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_fp_cast.hpp +9 -9
  64. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/cas_based_exchange.hpp +3 -3
  65. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/chrono.hpp +93 -0
  66. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/classify.hpp +16 -17
  67. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +25 -34
  68. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_aarch32.hpp +204 -97
  69. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_aarch64.hpp +251 -122
  70. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_alpha.hpp +56 -56
  71. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_arm.hpp +129 -129
  72. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_ppc.hpp +253 -125
  73. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_sparc.hpp +25 -25
  74. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_x86.hpp +193 -126
  75. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_msvc_arm.hpp +57 -57
  76. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_msvc_x86.hpp +96 -97
  77. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations_emulated.hpp +24 -24
  78. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_cas_based.hpp +10 -10
  79. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_gcc_atomic.hpp +27 -24
  80. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_gcc_sync.hpp +39 -37
  81. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_linux_arm.hpp +17 -17
  82. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extending_cas_based_arithmetic.hpp +5 -5
  83. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_emulated.hpp +12 -12
  84. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_generic.hpp +21 -21
  85. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_emulated.hpp +30 -30
  86. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_aarch32.hpp +170 -98
  87. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_aarch64.hpp +209 -119
  88. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_arm.hpp +95 -95
  89. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_ppc.hpp +148 -76
  90. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_x86.hpp +293 -123
  91. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_generic.hpp +87 -71
  92. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_arm.hpp +5 -5
  93. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_x86.hpp +88 -88
  94. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_operations.hpp +2 -2
  95. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_aarch32.hpp +4 -5
  96. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_aarch64.hpp +4 -4
  97. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_alpha.hpp +4 -4
  98. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_arm.hpp +9 -9
  99. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_ppc.hpp +4 -4
  100. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_sparc.hpp +4 -4
  101. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_x86.hpp +4 -4
  102. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_msvc_arm.hpp +5 -5
  103. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_msvc_x86.hpp +6 -6
  104. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_operations.hpp +2 -2
  105. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_operations_emulated.hpp +2 -2
  106. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_gcc_atomic.hpp +5 -5
  107. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_gcc_sync.hpp +4 -4
  108. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_linux_arm.hpp +7 -7
  109. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_emulated.hpp +7 -7
  110. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_generic.hpp +6 -6
  111. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/futex.hpp +110 -49
  112. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc_atomic_memory_order_utils.hpp +1 -1
  113. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/has_posix_clock_traits.hpp +51 -0
  114. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/int_sizes.hpp +26 -32
  115. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/integral_conversions.hpp +15 -15
  116. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/interlocked.hpp +69 -30
  117. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/intptr.hpp +8 -8
  118. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/lock_pool.hpp +51 -31
  119. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/memory_order_utils.hpp +2 -2
  120. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/once_flag.hpp +2 -2
  121. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_arm_common.hpp +6 -6
  122. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_ppc_common.hpp +4 -4
  123. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/platform.hpp +5 -5
  124. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/storage_traits.hpp +31 -31
  125. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/alignment_of.hpp +2 -3
  126. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/has_unique_object_representations.hpp +2 -5
  127. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_floating_point.hpp +3 -3
  128. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_iec559.hpp +2 -2
  129. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_integral.hpp +3 -3
  130. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_signed.hpp +3 -3
  131. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_trivially_copyable.hpp +20 -13
  132. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_trivially_default_constructible.hpp +13 -13
  133. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/make_signed.hpp +3 -3
  134. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/make_unsigned.hpp +3 -3
  135. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_darwin_ulock.hpp +90 -16
  136. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_dragonfly_umtx.hpp +80 -11
  137. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_emulated.hpp +160 -15
  138. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_freebsd_umtx.hpp +327 -38
  139. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_futex.hpp +276 -33
  140. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_generic.hpp +260 -20
  141. data/src/cxx_supportlib/vendor-modified/boost/atomic/fences.hpp +4 -3
  142. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic.hpp +14 -18
  143. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_flag.hpp +2 -2
  144. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_ref.hpp +13 -13
  145. data/src/cxx_supportlib/vendor-modified/boost/atomic/posix_clock_traits_fwd.hpp +59 -0
  146. data/src/cxx_supportlib/vendor-modified/boost/atomic/thread_pause.hpp +102 -0
  147. data/src/cxx_supportlib/vendor-modified/boost/atomic/wait_result.hpp +56 -0
  148. data/src/cxx_supportlib/vendor-modified/boost/atomic.hpp +4 -1
  149. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +5 -0
  150. data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +1 -1
  151. data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +108 -41
  152. data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +1235 -1009
  153. data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +3 -2
  154. data/src/cxx_supportlib/vendor-modified/boost/container/detail/algorithm.hpp +56 -0
  155. data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_helpers.hpp +1 -0
  156. data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_lib.h +9 -9
  157. data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +23 -2
  158. data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +0 -1
  159. data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +88 -23
  160. data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +2 -1
  161. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool_impl.hpp +2 -2
  162. data/src/cxx_supportlib/vendor-modified/boost/container/detail/operator_new_helpers.hpp +68 -0
  163. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +72 -13
  164. data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +13 -0
  165. data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +8 -5
  166. data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +31 -10
  167. data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +37 -10
  168. data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +19 -0
  169. data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +23 -1
  170. data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +72 -5
  171. data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +3 -10
  172. data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +54 -23
  173. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/devector.hpp +6 -4
  174. data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +19 -0
  175. data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +32 -5
  176. data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +27 -2
  177. data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +22 -0
  178. data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +37 -17
  179. data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +23 -1
  180. data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +41 -20
  181. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +5 -8
  182. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash_fwd.hpp +3 -1
  183. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash_is_avalanching.hpp +57 -0
  184. data/src/cxx_supportlib/vendor-modified/boost/core/bit.hpp +29 -29
  185. data/src/cxx_supportlib/vendor-modified/boost/core/cmath.hpp +3 -3
  186. data/src/cxx_supportlib/vendor-modified/boost/core/data.hpp +15 -1
  187. data/src/cxx_supportlib/vendor-modified/boost/core/default_allocator.hpp +1 -0
  188. data/src/cxx_supportlib/vendor-modified/boost/core/demangle.hpp +1 -1
  189. data/src/cxx_supportlib/vendor-modified/boost/core/detail/assert.hpp +18 -0
  190. data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_thread_sleep.hpp +2 -2
  191. data/src/cxx_supportlib/vendor-modified/boost/core/detail/static_assert.hpp +42 -0
  192. data/src/cxx_supportlib/vendor-modified/boost/core/detail/string_view.hpp +16 -10
  193. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +35 -27
  194. data/src/cxx_supportlib/vendor-modified/boost/core/scoped_enum.hpp +1 -1
  195. data/src/cxx_supportlib/vendor-modified/boost/core/size.hpp +14 -0
  196. data/src/cxx_supportlib/vendor-modified/boost/core/span.hpp +20 -9
  197. data/src/cxx_supportlib/vendor-modified/boost/cregex.hpp +0 -5
  198. data/src/cxx_supportlib/vendor-modified/boost/describe/detail/config.hpp +8 -0
  199. data/src/cxx_supportlib/vendor-modified/boost/describe/modifiers.hpp +1 -1
  200. data/src/cxx_supportlib/vendor-modified/boost/foreach.hpp +1 -0
  201. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +4 -4
  202. data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +2 -2
  203. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_rebind.hpp +9 -0
  204. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +1 -0
  205. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +2 -2
  206. data/src/cxx_supportlib/vendor-modified/boost/iterator/advance.hpp +43 -64
  207. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_def.hpp +0 -83
  208. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_undef.hpp +1 -5
  209. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/eval_if_default.hpp +44 -0
  210. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/facade_iterator_category.hpp +103 -117
  211. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/conjunction.hpp +53 -0
  212. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/disjunction.hpp +53 -0
  213. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/negation.hpp +53 -0
  214. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/type_identity.hpp +54 -0
  215. data/src/cxx_supportlib/vendor-modified/boost/iterator/distance.hpp +32 -38
  216. data/src/cxx_supportlib/vendor-modified/boost/iterator/enable_if_convertible.hpp +84 -0
  217. data/src/cxx_supportlib/vendor-modified/boost/iterator/interoperable.hpp +22 -34
  218. data/src/cxx_supportlib/vendor-modified/boost/iterator/is_iterator.hpp +16 -16
  219. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_adaptor.hpp +162 -309
  220. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_categories.hpp +52 -161
  221. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_concepts.hpp +3 -11
  222. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_facade.hpp +804 -977
  223. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_traits.hpp +24 -17
  224. data/src/cxx_supportlib/vendor-modified/boost/iterator/min_category.hpp +83 -0
  225. data/src/cxx_supportlib/vendor-modified/boost/iterator/minimum_category.hpp +11 -73
  226. data/src/cxx_supportlib/vendor-modified/boost/iterator/reverse_iterator.hpp +56 -57
  227. data/src/cxx_supportlib/vendor-modified/boost/iterator/transform_iterator.hpp +123 -156
  228. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +1 -1
  229. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/buffer_view.hpp +1 -1
  230. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +36 -33
  231. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +43 -50
  232. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +23 -27
  233. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +1 -1
  234. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +10 -11
  235. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_basic_unlockedbuf.hpp +1 -1
  236. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +1 -1
  237. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +6 -7
  238. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/type_traits.hpp +81 -0
  239. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +4 -4
  240. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +8 -9
  241. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +1 -1
  242. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/wide_posix_api.cpp +1 -12
  243. data/src/cxx_supportlib/vendor-modified/boost/memory_order.hpp +8 -26
  244. data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_to_raw_pointer.hpp +1 -1
  245. data/src/cxx_supportlib/vendor-modified/boost/move/detail/launder.hpp +1 -1
  246. data/src/cxx_supportlib/vendor-modified/boost/move/detail/std_ns_begin.hpp +6 -0
  247. data/src/cxx_supportlib/vendor-modified/boost/move/detail/unique_ptr_meta_utils.hpp +2 -2
  248. data/src/cxx_supportlib/vendor-modified/boost/mp11/algorithm.hpp +11 -44
  249. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_map_find.hpp +34 -0
  250. data/src/cxx_supportlib/vendor-modified/boost/mp11/set.hpp +33 -1
  251. data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
  252. data/src/cxx_supportlib/vendor-modified/boost/mpl/and.hpp +4 -8
  253. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/na_assert.hpp +1 -1
  254. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/ptr_to_ref.hpp +1 -1
  255. data/src/cxx_supportlib/vendor-modified/boost/mpl/bitand.hpp +2 -6
  256. data/src/cxx_supportlib/vendor-modified/boost/mpl/bitor.hpp +2 -6
  257. data/src/cxx_supportlib/vendor-modified/boost/mpl/or.hpp +2 -6
  258. data/src/cxx_supportlib/vendor-modified/boost/pool/pool.hpp +1 -1
  259. data/src/cxx_supportlib/vendor-modified/boost/pool/simple_segregated_storage.hpp +0 -13
  260. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/to_seq_256.hpp +190 -190
  261. data/src/cxx_supportlib/vendor-modified/boost/random/beta_distribution.hpp +12 -2
  262. data/src/cxx_supportlib/vendor-modified/boost/random/detail/config.hpp +4 -0
  263. data/src/cxx_supportlib/vendor-modified/boost/random/detail/size.hpp +41 -0
  264. data/src/cxx_supportlib/vendor-modified/boost/random/detail/xoshiro_base.hpp +472 -0
  265. data/src/cxx_supportlib/vendor-modified/boost/random/discrete_distribution.hpp +7 -10
  266. data/src/cxx_supportlib/vendor-modified/boost/random/gamma_distribution.hpp +1 -1
  267. data/src/cxx_supportlib/vendor-modified/boost/random/generalized_inverse_gaussian_distribution.hpp +339 -0
  268. data/src/cxx_supportlib/vendor-modified/boost/random/hyperexponential_distribution.hpp +12 -14
  269. data/src/cxx_supportlib/vendor-modified/boost/random/inverse_gaussian_distribution.hpp +226 -0
  270. data/src/cxx_supportlib/vendor-modified/boost/random/mersenne_twister.hpp +1 -4
  271. data/src/cxx_supportlib/vendor-modified/boost/random/mixmax.hpp +63 -63
  272. data/src/cxx_supportlib/vendor-modified/boost/random/piecewise_constant_distribution.hpp +7 -10
  273. data/src/cxx_supportlib/vendor-modified/boost/random/piecewise_linear_distribution.hpp +8 -11
  274. data/src/cxx_supportlib/vendor-modified/boost/random/seed_seq.hpp +1 -3
  275. data/src/cxx_supportlib/vendor-modified/boost/random/splitmix64.hpp +1 -4
  276. data/src/cxx_supportlib/vendor-modified/boost/random/xoshiro.hpp +488 -0
  277. data/src/cxx_supportlib/vendor-modified/boost/random.hpp +3 -0
  278. data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +2 -0
  279. data/src/cxx_supportlib/vendor-modified/boost/range/detail/has_member_size.hpp +1 -0
  280. data/src/cxx_supportlib/vendor-modified/boost/range/detail/msvc_has_iterator_workaround.hpp +2 -0
  281. data/src/cxx_supportlib/vendor-modified/boost/range/has_range_iterator.hpp +1 -1
  282. data/src/cxx_supportlib/vendor-modified/boost/range/iterator.hpp +1 -0
  283. data/src/cxx_supportlib/vendor-modified/boost/range/iterator_range_core.hpp +4 -1
  284. data/src/cxx_supportlib/vendor-modified/boost/range/size_type.hpp +1 -1
  285. data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +35 -18
  286. data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +18 -101
  287. data/src/cxx_supportlib/vendor-modified/boost/regex/pattern_except.hpp +0 -4
  288. data/src/cxx_supportlib/vendor-modified/boost/regex/pending/object_cache.hpp +0 -4
  289. data/src/cxx_supportlib/vendor-modified/boost/regex/pending/unicode_iterator.hpp +0 -6
  290. data/src/cxx_supportlib/vendor-modified/boost/regex/regex_traits.hpp +0 -4
  291. data/src/cxx_supportlib/vendor-modified/boost/regex/user.hpp +4 -10
  292. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex.hpp +63 -17
  293. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_creator.hpp +71 -16
  294. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_parser.hpp +22 -1
  295. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/c_regex_traits.hpp +11 -4
  296. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/char_regex_traits.hpp +2 -0
  297. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/cpp_regex_traits.hpp +11 -8
  298. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/cregex.hpp +2 -1
  299. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/error_type.hpp +1 -1
  300. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/icu.hpp +40 -38
  301. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/iterator_category.hpp +2 -0
  302. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/iterator_traits.hpp +4 -0
  303. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/match_flags.hpp +39 -37
  304. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/match_results.hpp +46 -9
  305. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/mem_block_cache.hpp +4 -0
  306. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/object_cache.hpp +2 -0
  307. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/pattern_except.hpp +6 -4
  308. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher.hpp +57 -8
  309. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher_common.hpp +21 -6
  310. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher_non_recursive.hpp +18 -3
  311. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regbase.hpp +4 -2
  312. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex.hpp +6 -6
  313. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_format.hpp +23 -18
  314. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_fwd.hpp +9 -9
  315. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_grep.hpp +9 -5
  316. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_iterator.hpp +11 -7
  317. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_match.hpp +10 -7
  318. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_merge.hpp +4 -4
  319. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_raw_buffer.hpp +3 -0
  320. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_replace.hpp +6 -2
  321. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_search.hpp +12 -9
  322. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_split.hpp +6 -3
  323. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_token_iterator.hpp +16 -11
  324. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_traits.hpp +1 -1
  325. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_traits_defaults.hpp +2 -0
  326. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_workaround.hpp +2 -0
  327. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/states.hpp +7 -0
  328. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/sub_match.hpp +54 -49
  329. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/syntax_type.hpp +64 -62
  330. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/u32regex_iterator.hpp +16 -0
  331. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/u32regex_token_iterator.hpp +12 -0
  332. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/unicode_iterator.hpp +6 -4
  333. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/w32_regex_traits.hpp +3 -1
  334. data/src/cxx_supportlib/vendor-modified/boost/regex.hpp +0 -4
  335. data/src/cxx_supportlib/vendor-modified/boost/regex_fwd.hpp +0 -4
  336. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count.hpp +1 -43
  337. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/deprecated_macros.hpp +7 -7
  338. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +2 -77
  339. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base.hpp +1 -64
  340. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +3 -3
  341. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +0 -77
  342. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_cxx20_constexpr.hpp +37 -0
  343. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock.hpp +5 -28
  344. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +41 -40
  345. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_array.hpp +0 -15
  346. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_ptr.hpp +0 -18
  347. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +1 -1
  348. data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +1 -1
  349. data/src/cxx_supportlib/vendor-modified/boost/tuple/detail/tuple_basic.hpp +1 -0
  350. data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +8 -6
  351. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complete.hpp +31 -10
  352. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fca.hpp +34 -8
  353. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +6 -4
  354. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/table.hpp +9 -1
  355. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +5 -5
  356. data/src/cxx_supportlib/vendor-modified/boost/unordered/{unordered_printers.hpp → detail/unordered_printers.hpp} +34 -36
  357. data/src/cxx_supportlib/vendor-modified/boost/unordered/hash_traits.hpp +6 -49
  358. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +6 -1
  359. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +6 -1
  360. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +6 -1
  361. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +6 -1
  362. data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
  363. data/src/nginx_module/ContentHandler.c +2 -0
  364. data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +3 -5
  365. data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +3 -5
  366. data/src/ruby_supportlib/phusion_passenger/config/install_agent_command.rb +3 -5
  367. data/src/ruby_supportlib/phusion_passenger/config/install_standalone_runtime_command.rb +3 -5
  368. data/src/ruby_supportlib/phusion_passenger/config/installation_utils.rb +1 -1
  369. data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +2 -2
  370. data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +5 -3
  371. data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +2 -2
  372. data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +12 -23
  373. data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +31 -32
  374. data/src/ruby_supportlib/phusion_passenger/rack_handler.rb +2 -2
  375. data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +2 -3
  376. data/src/ruby_supportlib/phusion_passenger/standalone/config_utils.rb +2 -0
  377. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +1 -1
  378. data/src/ruby_supportlib/phusion_passenger/utils/json.rb +1 -1
  379. data/src/ruby_supportlib/phusion_passenger/utils/terminal_choice_menu.rb +1 -1
  380. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +1 -1
  381. data/src/ruby_supportlib/phusion_passenger.rb +8 -8
  382. metadata +27 -104
  383. data/src/cxx_supportlib/oxt/detail/spin_lock_darwin.hpp +0 -75
  384. data/src/cxx_supportlib/oxt/detail/spin_lock_gcc_x86.hpp +0 -85
  385. data/src/cxx_supportlib/oxt/detail/spin_lock_portable.hpp +0 -38
  386. data/src/cxx_supportlib/oxt/detail/spin_lock_pthreads.hpp +0 -111
  387. data/src/cxx_supportlib/vendor-modified/boost/align/aligned_alloc.hpp +0 -47
  388. data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc_posix.hpp +0 -41
  389. data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc_sunos.hpp +0 -34
  390. data/src/cxx_supportlib/vendor-modified/boost/align/detail/is_alignment.hpp +0 -28
  391. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/pause.hpp +0 -68
  392. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/conditional.hpp +0 -42
  393. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/integral_constant.hpp +0 -46
  394. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_enum.hpp +0 -42
  395. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_function.hpp +0 -42
  396. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_nothrow_default_constructible.hpp +0 -46
  397. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/remove_cv.hpp +0 -42
  398. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_on_address.hpp +0 -64
  399. data/src/cxx_supportlib/vendor-modified/boost/cerrno.hpp +0 -15
  400. data/src/cxx_supportlib/vendor-modified/boost/detail/indirect_traits.hpp +0 -195
  401. data/src/cxx_supportlib/vendor-modified/boost/detail/select_type.hpp +0 -36
  402. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/enable_if.hpp +0 -83
  403. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/internals.hpp +0 -35
  404. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex.cpp +0 -120
  405. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex_debug.cpp +0 -59
  406. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/static_mutex.cpp +0 -189
  407. data/src/cxx_supportlib/vendor-modified/boost/libs/system/src/error_code.cpp +0 -31
  408. data/src/cxx_supportlib/vendor-modified/boost/regex/config/borland.hpp +0 -72
  409. data/src/cxx_supportlib/vendor-modified/boost/regex/config/cwchar.hpp +0 -207
  410. data/src/cxx_supportlib/vendor-modified/boost/regex/pending/static_mutex.hpp +0 -182
  411. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex.hpp +0 -797
  412. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +0 -1598
  413. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +0 -3174
  414. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/c_regex_traits.hpp +0 -511
  415. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/char_regex_traits.hpp +0 -81
  416. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cpp_regex_traits.hpp +0 -1237
  417. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cregex.hpp +0 -213
  418. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/error_type.hpp +0 -59
  419. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/icu.hpp +0 -1516
  420. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/indexed_bit_flag.hpp +0 -54
  421. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/iterator_category.hpp +0 -91
  422. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/iterator_traits.hpp +0 -135
  423. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +0 -161
  424. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_results.hpp +0 -716
  425. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/mem_block_cache.hpp +0 -183
  426. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/object_cache.hpp +0 -171
  427. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/pattern_except.hpp +0 -128
  428. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +0 -645
  429. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +0 -1030
  430. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +0 -1947
  431. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_recursive.hpp +0 -1131
  432. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/primary_transform.hpp +0 -146
  433. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/protected_call.hpp +0 -83
  434. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regbase.hpp +0 -180
  435. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex.hpp +0 -166
  436. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +0 -1158
  437. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_fwd.hpp +0 -73
  438. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_grep.hpp +0 -155
  439. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_iterator.hpp +0 -195
  440. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_match.hpp +0 -382
  441. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_merge.hpp +0 -93
  442. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_raw_buffer.hpp +0 -241
  443. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_replace.hpp +0 -99
  444. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_search.hpp +0 -217
  445. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_split.hpp +0 -174
  446. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_token_iterator.hpp +0 -327
  447. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits.hpp +0 -189
  448. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +0 -997
  449. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +0 -237
  450. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/states.hpp +0 -321
  451. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/sub_match.hpp +0 -516
  452. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/syntax_type.hpp +0 -105
  453. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_iterator.hpp +0 -185
  454. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_token_iterator.hpp +0 -360
  455. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/unicode_iterator.hpp +0 -871
  456. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +0 -1229
  457. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc.hpp +0 -79
  458. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc_atomic.hpp +0 -63
  459. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp +0 -88
  460. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_pt.hpp +0 -104
  461. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_spin.hpp +0 -69
  462. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_sync.hpp +0 -72
  463. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +0 -163
  464. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_aix.hpp +0 -152
  465. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +0 -185
  466. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_atomic.hpp +0 -148
  467. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +0 -170
  468. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +0 -200
  469. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +0 -194
  470. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +0 -179
  471. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +0 -186
  472. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +0 -147
  473. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +0 -174
  474. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_spin.hpp +0 -141
  475. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_sync.hpp +0 -165
  476. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +0 -163
  477. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_gcc_intrinsics.hpp +0 -30
  478. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_sync_intrinsics.hpp +0 -69
  479. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_gcc_arm.hpp +0 -128
  480. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_nt.hpp +0 -96
  481. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_pt.hpp +0 -86
  482. 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) 2017 - 2018 Andrey Semashev
6
+ * Copyright (c) 2017-2025 Andrey Semashev
7
7
  */
8
8
  /*!
9
9
  * \file atomic/detail/extra_ops_gcc_ppc.hpp
@@ -37,50 +37,50 @@ template< typename Base >
37
37
  struct extra_operations_gcc_ppc_common :
38
38
  public Base
39
39
  {
40
- typedef Base base_type;
41
- typedef typename base_type::storage_type storage_type;
40
+ using base_type = Base;
41
+ using storage_type = typename base_type::storage_type;
42
42
 
43
- static BOOST_FORCEINLINE void opaque_negate(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
43
+ static BOOST_FORCEINLINE void opaque_negate(storage_type volatile& storage, memory_order order) noexcept
44
44
  {
45
45
  base_type::fetch_negate(storage, order);
46
46
  }
47
47
 
48
- static BOOST_FORCEINLINE void opaque_complement(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
48
+ static BOOST_FORCEINLINE void opaque_complement(storage_type volatile& storage, memory_order order) noexcept
49
49
  {
50
50
  base_type::fetch_complement(storage, order);
51
51
  }
52
52
 
53
- static BOOST_FORCEINLINE bool negate_and_test(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
53
+ static BOOST_FORCEINLINE bool negate_and_test(storage_type volatile& storage, memory_order order) noexcept
54
54
  {
55
55
  return !!base_type::negate(storage, order);
56
56
  }
57
57
 
58
- static BOOST_FORCEINLINE bool add_and_test(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
58
+ static BOOST_FORCEINLINE bool add_and_test(storage_type volatile& storage, storage_type v, memory_order order) noexcept
59
59
  {
60
60
  return !!base_type::add(storage, v, order);
61
61
  }
62
62
 
63
- static BOOST_FORCEINLINE bool sub_and_test(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
63
+ static BOOST_FORCEINLINE bool sub_and_test(storage_type volatile& storage, storage_type v, memory_order order) noexcept
64
64
  {
65
65
  return !!base_type::sub(storage, v, order);
66
66
  }
67
67
 
68
- static BOOST_FORCEINLINE bool and_and_test(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
68
+ static BOOST_FORCEINLINE bool and_and_test(storage_type volatile& storage, storage_type v, memory_order order) noexcept
69
69
  {
70
70
  return !!base_type::bitwise_and(storage, v, order);
71
71
  }
72
72
 
73
- static BOOST_FORCEINLINE bool or_and_test(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
73
+ static BOOST_FORCEINLINE bool or_and_test(storage_type volatile& storage, storage_type v, memory_order order) noexcept
74
74
  {
75
75
  return !!base_type::bitwise_or(storage, v, order);
76
76
  }
77
77
 
78
- static BOOST_FORCEINLINE bool xor_and_test(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
78
+ static BOOST_FORCEINLINE bool xor_and_test(storage_type volatile& storage, storage_type v, memory_order order) noexcept
79
79
  {
80
80
  return !!base_type::bitwise_xor(storage, v, order);
81
81
  }
82
82
 
83
- static BOOST_FORCEINLINE bool complement_and_test(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
83
+ static BOOST_FORCEINLINE bool complement_and_test(storage_type volatile& storage, memory_order order) noexcept
84
84
  {
85
85
  return !!base_type::bitwise_complement(storage, order);
86
86
  }
@@ -95,11 +95,12 @@ template< typename Base, bool Signed >
95
95
  struct extra_operations_gcc_ppc< Base, 1u, Signed > :
96
96
  public extra_operations_generic< Base, 1u, Signed >
97
97
  {
98
- typedef extra_operations_generic< Base, 1u, Signed > base_type;
99
- typedef typename base_type::storage_type storage_type;
98
+ using base_type = extra_operations_generic< Base, 1u, Signed >;
99
+ using storage_type = typename base_type::storage_type;
100
100
 
101
- static BOOST_FORCEINLINE storage_type fetch_negate(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
101
+ static BOOST_FORCEINLINE storage_type fetch_negate(storage_type volatile& storage, memory_order order) noexcept
102
102
  {
103
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
103
104
  core_arch_operations_gcc_ppc_base::fence_before(order);
104
105
  storage_type original, result;
105
106
  __asm__ __volatile__
@@ -114,11 +115,13 @@ struct extra_operations_gcc_ppc< Base, 1u, Signed > :
114
115
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
115
116
  );
116
117
  core_arch_operations_gcc_ppc_base::fence_after(order);
118
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
117
119
  return original;
118
120
  }
119
121
 
120
- static BOOST_FORCEINLINE storage_type negate(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
122
+ static BOOST_FORCEINLINE storage_type negate(storage_type volatile& storage, memory_order order) noexcept
121
123
  {
124
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
122
125
  core_arch_operations_gcc_ppc_base::fence_before(order);
123
126
  storage_type original, result;
124
127
  __asm__ __volatile__
@@ -133,13 +136,15 @@ struct extra_operations_gcc_ppc< Base, 1u, Signed > :
133
136
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
134
137
  );
135
138
  core_arch_operations_gcc_ppc_base::fence_after(order);
139
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
136
140
  return result;
137
141
  }
138
142
 
139
- static BOOST_FORCEINLINE storage_type add(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
143
+ static BOOST_FORCEINLINE storage_type add(storage_type volatile& storage, storage_type v, memory_order order) noexcept
140
144
  {
141
- storage_type original, result;
145
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
142
146
  core_arch_operations_gcc_ppc_base::fence_before(order);
147
+ storage_type original, result;
143
148
  __asm__ __volatile__
144
149
  (
145
150
  BOOST_ATOMIC_DETAIL_PPC_ASM_LABEL("1")
@@ -152,13 +157,15 @@ struct extra_operations_gcc_ppc< Base, 1u, Signed > :
152
157
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
153
158
  );
154
159
  core_arch_operations_gcc_ppc_base::fence_after(order);
160
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
155
161
  return result;
156
162
  }
157
163
 
158
- static BOOST_FORCEINLINE storage_type sub(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
164
+ static BOOST_FORCEINLINE storage_type sub(storage_type volatile& storage, storage_type v, memory_order order) noexcept
159
165
  {
160
- storage_type original, result;
166
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
161
167
  core_arch_operations_gcc_ppc_base::fence_before(order);
168
+ storage_type original, result;
162
169
  __asm__ __volatile__
163
170
  (
164
171
  BOOST_ATOMIC_DETAIL_PPC_ASM_LABEL("1")
@@ -171,13 +178,15 @@ struct extra_operations_gcc_ppc< Base, 1u, Signed > :
171
178
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
172
179
  );
173
180
  core_arch_operations_gcc_ppc_base::fence_after(order);
181
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
174
182
  return result;
175
183
  }
176
184
 
177
- static BOOST_FORCEINLINE storage_type bitwise_and(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
185
+ static BOOST_FORCEINLINE storage_type bitwise_and(storage_type volatile& storage, storage_type v, memory_order order) noexcept
178
186
  {
179
- storage_type original, result;
187
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
180
188
  core_arch_operations_gcc_ppc_base::fence_before(order);
189
+ storage_type original, result;
181
190
  __asm__ __volatile__
182
191
  (
183
192
  BOOST_ATOMIC_DETAIL_PPC_ASM_LABEL("1")
@@ -190,13 +199,15 @@ struct extra_operations_gcc_ppc< Base, 1u, Signed > :
190
199
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
191
200
  );
192
201
  core_arch_operations_gcc_ppc_base::fence_after(order);
202
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
193
203
  return result;
194
204
  }
195
205
 
196
- static BOOST_FORCEINLINE storage_type bitwise_or(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
206
+ static BOOST_FORCEINLINE storage_type bitwise_or(storage_type volatile& storage, storage_type v, memory_order order) noexcept
197
207
  {
198
- storage_type original, result;
208
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
199
209
  core_arch_operations_gcc_ppc_base::fence_before(order);
210
+ storage_type original, result;
200
211
  __asm__ __volatile__
201
212
  (
202
213
  BOOST_ATOMIC_DETAIL_PPC_ASM_LABEL("1")
@@ -209,13 +220,15 @@ struct extra_operations_gcc_ppc< Base, 1u, Signed > :
209
220
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
210
221
  );
211
222
  core_arch_operations_gcc_ppc_base::fence_after(order);
223
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
212
224
  return result;
213
225
  }
214
226
 
215
- static BOOST_FORCEINLINE storage_type bitwise_xor(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
227
+ static BOOST_FORCEINLINE storage_type bitwise_xor(storage_type volatile& storage, storage_type v, memory_order order) noexcept
216
228
  {
217
- storage_type original, result;
229
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
218
230
  core_arch_operations_gcc_ppc_base::fence_before(order);
231
+ storage_type original, result;
219
232
  __asm__ __volatile__
220
233
  (
221
234
  BOOST_ATOMIC_DETAIL_PPC_ASM_LABEL("1")
@@ -228,11 +241,13 @@ struct extra_operations_gcc_ppc< Base, 1u, Signed > :
228
241
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
229
242
  );
230
243
  core_arch_operations_gcc_ppc_base::fence_after(order);
244
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
231
245
  return result;
232
246
  }
233
247
 
234
- static BOOST_FORCEINLINE storage_type fetch_complement(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
248
+ static BOOST_FORCEINLINE storage_type fetch_complement(storage_type volatile& storage, memory_order order) noexcept
235
249
  {
250
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
236
251
  core_arch_operations_gcc_ppc_base::fence_before(order);
237
252
  storage_type original, result;
238
253
  __asm__ __volatile__
@@ -247,11 +262,13 @@ struct extra_operations_gcc_ppc< Base, 1u, Signed > :
247
262
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
248
263
  );
249
264
  core_arch_operations_gcc_ppc_base::fence_after(order);
265
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
250
266
  return original;
251
267
  }
252
268
 
253
- static BOOST_FORCEINLINE storage_type bitwise_complement(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
269
+ static BOOST_FORCEINLINE storage_type bitwise_complement(storage_type volatile& storage, memory_order order) noexcept
254
270
  {
271
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
255
272
  core_arch_operations_gcc_ppc_base::fence_before(order);
256
273
  storage_type original, result;
257
274
  __asm__ __volatile__
@@ -266,6 +283,7 @@ struct extra_operations_gcc_ppc< Base, 1u, Signed > :
266
283
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
267
284
  );
268
285
  core_arch_operations_gcc_ppc_base::fence_after(order);
286
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
269
287
  return result;
270
288
  }
271
289
  };
@@ -284,11 +302,12 @@ template< typename Base, bool Signed >
284
302
  struct extra_operations_gcc_ppc< Base, 2u, Signed > :
285
303
  public extra_operations_generic< Base, 2u, Signed >
286
304
  {
287
- typedef extra_operations_generic< Base, 2u, Signed > base_type;
288
- typedef typename base_type::storage_type storage_type;
305
+ using base_type = extra_operations_generic< Base, 2u, Signed >;
306
+ using storage_type = typename base_type::storage_type;
289
307
 
290
- static BOOST_FORCEINLINE storage_type fetch_negate(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
308
+ static BOOST_FORCEINLINE storage_type fetch_negate(storage_type volatile& storage, memory_order order) noexcept
291
309
  {
310
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
292
311
  core_arch_operations_gcc_ppc_base::fence_before(order);
293
312
  storage_type original, result;
294
313
  __asm__ __volatile__
@@ -303,11 +322,13 @@ struct extra_operations_gcc_ppc< Base, 2u, Signed > :
303
322
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
304
323
  );
305
324
  core_arch_operations_gcc_ppc_base::fence_after(order);
325
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
306
326
  return original;
307
327
  }
308
328
 
309
- static BOOST_FORCEINLINE storage_type negate(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
329
+ static BOOST_FORCEINLINE storage_type negate(storage_type volatile& storage, memory_order order) noexcept
310
330
  {
331
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
311
332
  core_arch_operations_gcc_ppc_base::fence_before(order);
312
333
  storage_type original, result;
313
334
  __asm__ __volatile__
@@ -322,13 +343,15 @@ struct extra_operations_gcc_ppc< Base, 2u, Signed > :
322
343
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
323
344
  );
324
345
  core_arch_operations_gcc_ppc_base::fence_after(order);
346
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
325
347
  return result;
326
348
  }
327
349
 
328
- static BOOST_FORCEINLINE storage_type add(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
350
+ static BOOST_FORCEINLINE storage_type add(storage_type volatile& storage, storage_type v, memory_order order) noexcept
329
351
  {
330
- storage_type original, result;
352
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
331
353
  core_arch_operations_gcc_ppc_base::fence_before(order);
354
+ storage_type original, result;
332
355
  __asm__ __volatile__
333
356
  (
334
357
  BOOST_ATOMIC_DETAIL_PPC_ASM_LABEL("1")
@@ -341,13 +364,15 @@ struct extra_operations_gcc_ppc< Base, 2u, Signed > :
341
364
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
342
365
  );
343
366
  core_arch_operations_gcc_ppc_base::fence_after(order);
367
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
344
368
  return result;
345
369
  }
346
370
 
347
- static BOOST_FORCEINLINE storage_type sub(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
371
+ static BOOST_FORCEINLINE storage_type sub(storage_type volatile& storage, storage_type v, memory_order order) noexcept
348
372
  {
349
- storage_type original, result;
373
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
350
374
  core_arch_operations_gcc_ppc_base::fence_before(order);
375
+ storage_type original, result;
351
376
  __asm__ __volatile__
352
377
  (
353
378
  BOOST_ATOMIC_DETAIL_PPC_ASM_LABEL("1")
@@ -360,13 +385,15 @@ struct extra_operations_gcc_ppc< Base, 2u, Signed > :
360
385
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
361
386
  );
362
387
  core_arch_operations_gcc_ppc_base::fence_after(order);
388
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
363
389
  return result;
364
390
  }
365
391
 
366
- static BOOST_FORCEINLINE storage_type bitwise_and(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
392
+ static BOOST_FORCEINLINE storage_type bitwise_and(storage_type volatile& storage, storage_type v, memory_order order) noexcept
367
393
  {
368
- storage_type original, result;
394
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
369
395
  core_arch_operations_gcc_ppc_base::fence_before(order);
396
+ storage_type original, result;
370
397
  __asm__ __volatile__
371
398
  (
372
399
  BOOST_ATOMIC_DETAIL_PPC_ASM_LABEL("1")
@@ -379,13 +406,15 @@ struct extra_operations_gcc_ppc< Base, 2u, Signed > :
379
406
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
380
407
  );
381
408
  core_arch_operations_gcc_ppc_base::fence_after(order);
409
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
382
410
  return result;
383
411
  }
384
412
 
385
- static BOOST_FORCEINLINE storage_type bitwise_or(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
413
+ static BOOST_FORCEINLINE storage_type bitwise_or(storage_type volatile& storage, storage_type v, memory_order order) noexcept
386
414
  {
387
- storage_type original, result;
415
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
388
416
  core_arch_operations_gcc_ppc_base::fence_before(order);
417
+ storage_type original, result;
389
418
  __asm__ __volatile__
390
419
  (
391
420
  BOOST_ATOMIC_DETAIL_PPC_ASM_LABEL("1")
@@ -398,13 +427,15 @@ struct extra_operations_gcc_ppc< Base, 2u, Signed > :
398
427
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
399
428
  );
400
429
  core_arch_operations_gcc_ppc_base::fence_after(order);
430
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
401
431
  return result;
402
432
  }
403
433
 
404
- static BOOST_FORCEINLINE storage_type bitwise_xor(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
434
+ static BOOST_FORCEINLINE storage_type bitwise_xor(storage_type volatile& storage, storage_type v, memory_order order) noexcept
405
435
  {
406
- storage_type original, result;
436
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
407
437
  core_arch_operations_gcc_ppc_base::fence_before(order);
438
+ storage_type original, result;
408
439
  __asm__ __volatile__
409
440
  (
410
441
  BOOST_ATOMIC_DETAIL_PPC_ASM_LABEL("1")
@@ -417,11 +448,13 @@ struct extra_operations_gcc_ppc< Base, 2u, Signed > :
417
448
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
418
449
  );
419
450
  core_arch_operations_gcc_ppc_base::fence_after(order);
451
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
420
452
  return result;
421
453
  }
422
454
 
423
- static BOOST_FORCEINLINE storage_type fetch_complement(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
455
+ static BOOST_FORCEINLINE storage_type fetch_complement(storage_type volatile& storage, memory_order order) noexcept
424
456
  {
457
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
425
458
  core_arch_operations_gcc_ppc_base::fence_before(order);
426
459
  storage_type original, result;
427
460
  __asm__ __volatile__
@@ -436,11 +469,13 @@ struct extra_operations_gcc_ppc< Base, 2u, Signed > :
436
469
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
437
470
  );
438
471
  core_arch_operations_gcc_ppc_base::fence_after(order);
472
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
439
473
  return original;
440
474
  }
441
475
 
442
- static BOOST_FORCEINLINE storage_type bitwise_complement(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
476
+ static BOOST_FORCEINLINE storage_type bitwise_complement(storage_type volatile& storage, memory_order order) noexcept
443
477
  {
478
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
444
479
  core_arch_operations_gcc_ppc_base::fence_before(order);
445
480
  storage_type original, result;
446
481
  __asm__ __volatile__
@@ -455,6 +490,7 @@ struct extra_operations_gcc_ppc< Base, 2u, Signed > :
455
490
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
456
491
  );
457
492
  core_arch_operations_gcc_ppc_base::fence_after(order);
493
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
458
494
  return result;
459
495
  }
460
496
  };
@@ -465,11 +501,12 @@ template< typename Base, bool Signed >
465
501
  struct extra_operations_gcc_ppc< Base, 4u, Signed > :
466
502
  public extra_operations_generic< Base, 4u, Signed >
467
503
  {
468
- typedef extra_operations_generic< Base, 4u, Signed > base_type;
469
- typedef typename base_type::storage_type storage_type;
504
+ using base_type = extra_operations_generic< Base, 4u, Signed >;
505
+ using storage_type = typename base_type::storage_type;
470
506
 
471
- static BOOST_FORCEINLINE storage_type fetch_negate(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
507
+ static BOOST_FORCEINLINE storage_type fetch_negate(storage_type volatile& storage, memory_order order) noexcept
472
508
  {
509
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
473
510
  core_arch_operations_gcc_ppc_base::fence_before(order);
474
511
  storage_type original, result;
475
512
  __asm__ __volatile__
@@ -484,11 +521,13 @@ struct extra_operations_gcc_ppc< Base, 4u, Signed > :
484
521
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
485
522
  );
486
523
  core_arch_operations_gcc_ppc_base::fence_after(order);
524
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
487
525
  return original;
488
526
  }
489
527
 
490
- static BOOST_FORCEINLINE storage_type negate(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
528
+ static BOOST_FORCEINLINE storage_type negate(storage_type volatile& storage, memory_order order) noexcept
491
529
  {
530
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
492
531
  core_arch_operations_gcc_ppc_base::fence_before(order);
493
532
  storage_type original, result;
494
533
  __asm__ __volatile__
@@ -503,13 +542,15 @@ struct extra_operations_gcc_ppc< Base, 4u, Signed > :
503
542
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
504
543
  );
505
544
  core_arch_operations_gcc_ppc_base::fence_after(order);
545
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
506
546
  return result;
507
547
  }
508
548
 
509
- static BOOST_FORCEINLINE storage_type add(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
549
+ static BOOST_FORCEINLINE storage_type add(storage_type volatile& storage, storage_type v, memory_order order) noexcept
510
550
  {
511
- storage_type original, result;
551
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
512
552
  core_arch_operations_gcc_ppc_base::fence_before(order);
553
+ storage_type original, result;
513
554
  __asm__ __volatile__
514
555
  (
515
556
  BOOST_ATOMIC_DETAIL_PPC_ASM_LABEL("1")
@@ -522,13 +563,15 @@ struct extra_operations_gcc_ppc< Base, 4u, Signed > :
522
563
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
523
564
  );
524
565
  core_arch_operations_gcc_ppc_base::fence_after(order);
566
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
525
567
  return result;
526
568
  }
527
569
 
528
- static BOOST_FORCEINLINE storage_type sub(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
570
+ static BOOST_FORCEINLINE storage_type sub(storage_type volatile& storage, storage_type v, memory_order order) noexcept
529
571
  {
530
- storage_type original, result;
572
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
531
573
  core_arch_operations_gcc_ppc_base::fence_before(order);
574
+ storage_type original, result;
532
575
  __asm__ __volatile__
533
576
  (
534
577
  BOOST_ATOMIC_DETAIL_PPC_ASM_LABEL("1")
@@ -541,13 +584,15 @@ struct extra_operations_gcc_ppc< Base, 4u, Signed > :
541
584
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
542
585
  );
543
586
  core_arch_operations_gcc_ppc_base::fence_after(order);
587
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
544
588
  return result;
545
589
  }
546
590
 
547
- static BOOST_FORCEINLINE storage_type bitwise_and(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
591
+ static BOOST_FORCEINLINE storage_type bitwise_and(storage_type volatile& storage, storage_type v, memory_order order) noexcept
548
592
  {
549
- storage_type original, result;
593
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
550
594
  core_arch_operations_gcc_ppc_base::fence_before(order);
595
+ storage_type original, result;
551
596
  __asm__ __volatile__
552
597
  (
553
598
  BOOST_ATOMIC_DETAIL_PPC_ASM_LABEL("1")
@@ -560,13 +605,15 @@ struct extra_operations_gcc_ppc< Base, 4u, Signed > :
560
605
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
561
606
  );
562
607
  core_arch_operations_gcc_ppc_base::fence_after(order);
608
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
563
609
  return result;
564
610
  }
565
611
 
566
- static BOOST_FORCEINLINE storage_type bitwise_or(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
612
+ static BOOST_FORCEINLINE storage_type bitwise_or(storage_type volatile& storage, storage_type v, memory_order order) noexcept
567
613
  {
568
- storage_type original, result;
614
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
569
615
  core_arch_operations_gcc_ppc_base::fence_before(order);
616
+ storage_type original, result;
570
617
  __asm__ __volatile__
571
618
  (
572
619
  BOOST_ATOMIC_DETAIL_PPC_ASM_LABEL("1")
@@ -579,13 +626,15 @@ struct extra_operations_gcc_ppc< Base, 4u, Signed > :
579
626
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
580
627
  );
581
628
  core_arch_operations_gcc_ppc_base::fence_after(order);
629
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
582
630
  return result;
583
631
  }
584
632
 
585
- static BOOST_FORCEINLINE storage_type bitwise_xor(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
633
+ static BOOST_FORCEINLINE storage_type bitwise_xor(storage_type volatile& storage, storage_type v, memory_order order) noexcept
586
634
  {
587
- storage_type original, result;
635
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
588
636
  core_arch_operations_gcc_ppc_base::fence_before(order);
637
+ storage_type original, result;
589
638
  __asm__ __volatile__
590
639
  (
591
640
  BOOST_ATOMIC_DETAIL_PPC_ASM_LABEL("1")
@@ -598,11 +647,13 @@ struct extra_operations_gcc_ppc< Base, 4u, Signed > :
598
647
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
599
648
  );
600
649
  core_arch_operations_gcc_ppc_base::fence_after(order);
650
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
601
651
  return result;
602
652
  }
603
653
 
604
- static BOOST_FORCEINLINE storage_type fetch_complement(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
654
+ static BOOST_FORCEINLINE storage_type fetch_complement(storage_type volatile& storage, memory_order order) noexcept
605
655
  {
656
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
606
657
  core_arch_operations_gcc_ppc_base::fence_before(order);
607
658
  storage_type original, result;
608
659
  __asm__ __volatile__
@@ -617,11 +668,13 @@ struct extra_operations_gcc_ppc< Base, 4u, Signed > :
617
668
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
618
669
  );
619
670
  core_arch_operations_gcc_ppc_base::fence_after(order);
671
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
620
672
  return original;
621
673
  }
622
674
 
623
- static BOOST_FORCEINLINE storage_type bitwise_complement(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
675
+ static BOOST_FORCEINLINE storage_type bitwise_complement(storage_type volatile& storage, memory_order order) noexcept
624
676
  {
677
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
625
678
  core_arch_operations_gcc_ppc_base::fence_before(order);
626
679
  storage_type original, result;
627
680
  __asm__ __volatile__
@@ -636,6 +689,7 @@ struct extra_operations_gcc_ppc< Base, 4u, Signed > :
636
689
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
637
690
  );
638
691
  core_arch_operations_gcc_ppc_base::fence_after(order);
692
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
639
693
  return result;
640
694
  }
641
695
  };
@@ -652,11 +706,12 @@ template< typename Base, bool Signed >
652
706
  struct extra_operations_gcc_ppc< Base, 8u, Signed > :
653
707
  public extra_operations_generic< Base, 8u, Signed >
654
708
  {
655
- typedef extra_operations_generic< Base, 8u, Signed > base_type;
656
- typedef typename base_type::storage_type storage_type;
709
+ using base_type = extra_operations_generic< Base, 8u, Signed >;
710
+ using storage_type = typename base_type::storage_type;
657
711
 
658
- static BOOST_FORCEINLINE storage_type fetch_negate(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
712
+ static BOOST_FORCEINLINE storage_type fetch_negate(storage_type volatile& storage, memory_order order) noexcept
659
713
  {
714
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
660
715
  core_arch_operations_gcc_ppc_base::fence_before(order);
661
716
  storage_type original, result;
662
717
  __asm__ __volatile__
@@ -671,11 +726,13 @@ struct extra_operations_gcc_ppc< Base, 8u, Signed > :
671
726
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
672
727
  );
673
728
  core_arch_operations_gcc_ppc_base::fence_after(order);
729
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
674
730
  return original;
675
731
  }
676
732
 
677
- static BOOST_FORCEINLINE storage_type negate(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
733
+ static BOOST_FORCEINLINE storage_type negate(storage_type volatile& storage, memory_order order) noexcept
678
734
  {
735
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
679
736
  core_arch_operations_gcc_ppc_base::fence_before(order);
680
737
  storage_type original, result;
681
738
  __asm__ __volatile__
@@ -690,13 +747,15 @@ struct extra_operations_gcc_ppc< Base, 8u, Signed > :
690
747
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
691
748
  );
692
749
  core_arch_operations_gcc_ppc_base::fence_after(order);
750
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
693
751
  return result;
694
752
  }
695
753
 
696
- static BOOST_FORCEINLINE storage_type add(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
754
+ static BOOST_FORCEINLINE storage_type add(storage_type volatile& storage, storage_type v, memory_order order) noexcept
697
755
  {
698
- storage_type original, result;
756
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
699
757
  core_arch_operations_gcc_ppc_base::fence_before(order);
758
+ storage_type original, result;
700
759
  __asm__ __volatile__
701
760
  (
702
761
  BOOST_ATOMIC_DETAIL_PPC_ASM_LABEL("1")
@@ -709,13 +768,15 @@ struct extra_operations_gcc_ppc< Base, 8u, Signed > :
709
768
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
710
769
  );
711
770
  core_arch_operations_gcc_ppc_base::fence_after(order);
771
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
712
772
  return result;
713
773
  }
714
774
 
715
- static BOOST_FORCEINLINE storage_type sub(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
775
+ static BOOST_FORCEINLINE storage_type sub(storage_type volatile& storage, storage_type v, memory_order order) noexcept
716
776
  {
717
- storage_type original, result;
777
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
718
778
  core_arch_operations_gcc_ppc_base::fence_before(order);
779
+ storage_type original, result;
719
780
  __asm__ __volatile__
720
781
  (
721
782
  BOOST_ATOMIC_DETAIL_PPC_ASM_LABEL("1")
@@ -728,13 +789,15 @@ struct extra_operations_gcc_ppc< Base, 8u, Signed > :
728
789
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
729
790
  );
730
791
  core_arch_operations_gcc_ppc_base::fence_after(order);
792
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
731
793
  return result;
732
794
  }
733
795
 
734
- static BOOST_FORCEINLINE storage_type bitwise_and(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
796
+ static BOOST_FORCEINLINE storage_type bitwise_and(storage_type volatile& storage, storage_type v, memory_order order) noexcept
735
797
  {
736
- storage_type original, result;
798
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
737
799
  core_arch_operations_gcc_ppc_base::fence_before(order);
800
+ storage_type original, result;
738
801
  __asm__ __volatile__
739
802
  (
740
803
  BOOST_ATOMIC_DETAIL_PPC_ASM_LABEL("1")
@@ -747,13 +810,15 @@ struct extra_operations_gcc_ppc< Base, 8u, Signed > :
747
810
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
748
811
  );
749
812
  core_arch_operations_gcc_ppc_base::fence_after(order);
813
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
750
814
  return result;
751
815
  }
752
816
 
753
- static BOOST_FORCEINLINE storage_type bitwise_or(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
817
+ static BOOST_FORCEINLINE storage_type bitwise_or(storage_type volatile& storage, storage_type v, memory_order order) noexcept
754
818
  {
755
- storage_type original, result;
819
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
756
820
  core_arch_operations_gcc_ppc_base::fence_before(order);
821
+ storage_type original, result;
757
822
  __asm__ __volatile__
758
823
  (
759
824
  BOOST_ATOMIC_DETAIL_PPC_ASM_LABEL("1")
@@ -766,13 +831,15 @@ struct extra_operations_gcc_ppc< Base, 8u, Signed > :
766
831
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
767
832
  );
768
833
  core_arch_operations_gcc_ppc_base::fence_after(order);
834
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
769
835
  return result;
770
836
  }
771
837
 
772
- static BOOST_FORCEINLINE storage_type bitwise_xor(storage_type volatile& storage, storage_type v, memory_order order) BOOST_NOEXCEPT
838
+ static BOOST_FORCEINLINE storage_type bitwise_xor(storage_type volatile& storage, storage_type v, memory_order order) noexcept
773
839
  {
774
- storage_type original, result;
840
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
775
841
  core_arch_operations_gcc_ppc_base::fence_before(order);
842
+ storage_type original, result;
776
843
  __asm__ __volatile__
777
844
  (
778
845
  BOOST_ATOMIC_DETAIL_PPC_ASM_LABEL("1")
@@ -785,11 +852,13 @@ struct extra_operations_gcc_ppc< Base, 8u, Signed > :
785
852
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
786
853
  );
787
854
  core_arch_operations_gcc_ppc_base::fence_after(order);
855
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
788
856
  return result;
789
857
  }
790
858
 
791
- static BOOST_FORCEINLINE storage_type fetch_complement(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
859
+ static BOOST_FORCEINLINE storage_type fetch_complement(storage_type volatile& storage, memory_order order) noexcept
792
860
  {
861
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
793
862
  core_arch_operations_gcc_ppc_base::fence_before(order);
794
863
  storage_type original, result;
795
864
  __asm__ __volatile__
@@ -804,11 +873,13 @@ struct extra_operations_gcc_ppc< Base, 8u, Signed > :
804
873
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
805
874
  );
806
875
  core_arch_operations_gcc_ppc_base::fence_after(order);
876
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
807
877
  return original;
808
878
  }
809
879
 
810
- static BOOST_FORCEINLINE storage_type bitwise_complement(storage_type volatile& storage, memory_order order) BOOST_NOEXCEPT
880
+ static BOOST_FORCEINLINE storage_type bitwise_complement(storage_type volatile& storage, memory_order order) noexcept
811
881
  {
882
+ BOOST_ATOMIC_DETAIL_TSAN_RELEASE(&storage, order);
812
883
  core_arch_operations_gcc_ppc_base::fence_before(order);
813
884
  storage_type original, result;
814
885
  __asm__ __volatile__
@@ -823,6 +894,7 @@ struct extra_operations_gcc_ppc< Base, 8u, Signed > :
823
894
  : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC
824
895
  );
825
896
  core_arch_operations_gcc_ppc_base::fence_after(order);
897
+ BOOST_ATOMIC_DETAIL_TSAN_ACQUIRE(&storage, order);
826
898
  return result;
827
899
  }
828
900
  };