passenger 6.0.15 → 6.0.17

Sign up to get free protection for your applications and to get access to all the features.
Files changed (292) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +46 -2
  3. data/build/integration_tests.rb +6 -6
  4. data/build/ruby_tests.rb +1 -1
  5. data/build/test_basics.rb +0 -1
  6. data/src/agent/Core/Config.h +1 -1
  7. data/src/agent/Core/Controller/Config.h +1 -1
  8. data/src/agent/Core/SpawningKit/PipeWatcher.h +18 -3
  9. data/src/agent/Watchdog/Config.h +1 -1
  10. data/src/cxx_supportlib/Constants.h +1 -1
  11. data/src/cxx_supportlib/vendor-modified/boost/align/aligned_alloc.hpp +1 -1
  12. data/src/cxx_supportlib/vendor-modified/boost/array.hpp +1 -1
  13. data/src/cxx_supportlib/vendor-modified/boost/asio/any_completion_executor.hpp +344 -0
  14. data/src/cxx_supportlib/vendor-modified/boost/asio/any_completion_handler.hpp +686 -0
  15. data/src/cxx_supportlib/vendor-modified/boost/asio/any_io_executor.hpp +56 -0
  16. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_allocator.hpp +81 -25
  17. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_cancellation_slot.hpp +68 -8
  18. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_executor.hpp +46 -11
  19. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +4 -4
  20. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +2 -2
  21. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_file.hpp +1 -1
  22. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_random_access_file.hpp +2 -2
  23. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +4 -4
  24. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_readable_pipe.hpp +2 -2
  25. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +2 -2
  26. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_serial_port.hpp +3 -3
  27. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_signal_set.hpp +2 -2
  28. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +3 -3
  29. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +4 -4
  30. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_file.hpp +2 -2
  31. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +2 -2
  32. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +2 -2
  33. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_writable_pipe.hpp +2 -2
  34. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_allocator.hpp +13 -3
  35. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_cancellation_slot.hpp +14 -3
  36. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +13 -3
  37. data/src/cxx_supportlib/vendor-modified/boost/asio/compose.hpp +30 -305
  38. data/src/cxx_supportlib/vendor-modified/boost/asio/consign.hpp +90 -0
  39. data/src/cxx_supportlib/vendor-modified/boost/asio/defer.hpp +17 -18
  40. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bind_handler.hpp +98 -24
  41. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/composed_work.hpp +330 -0
  42. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +81 -15
  43. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +4 -4
  44. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_work.hpp +19 -11
  45. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/descriptor_ops.ipp +37 -0
  46. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/handler_tracking.ipp +3 -1
  47. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.ipp +1 -1
  48. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +10 -2
  49. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.hpp +14 -1
  50. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +18 -0
  51. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/utility.hpp +1 -2
  52. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/work_dispatcher.hpp +7 -3
  53. data/src/cxx_supportlib/vendor-modified/boost/asio/dispatch.hpp +4 -14
  54. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/allocator.hpp +22 -3
  55. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/any_executor.hpp +447 -142
  56. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking.hpp +57 -8
  57. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking_adaptation.hpp +51 -6
  58. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_execute.hpp +5 -0
  59. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_guarantee.hpp +41 -4
  60. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/connect.hpp +5 -0
  61. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context.hpp +13 -2
  62. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context_as.hpp +13 -2
  63. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_operation.hpp +4 -0
  64. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/execute.hpp +9 -2
  65. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/executor.hpp +11 -1
  66. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/mapping.hpp +52 -8
  67. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/occupancy.hpp +13 -2
  68. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/operation_state.hpp +5 -0
  69. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/outstanding_work.hpp +39 -6
  70. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/receiver.hpp +5 -0
  71. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/relationship.hpp +39 -6
  72. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/schedule.hpp +5 -0
  73. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/scheduler.hpp +5 -0
  74. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/sender.hpp +5 -0
  75. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_done.hpp +5 -0
  76. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_error.hpp +5 -0
  77. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_value.hpp +5 -0
  78. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/start.hpp +5 -0
  79. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/submit.hpp +5 -0
  80. data/src/cxx_supportlib/vendor-modified/boost/asio/executor_work_guard.hpp +6 -9
  81. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_channel.hpp +3 -3
  82. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_concurrent_channel.hpp +3 -3
  83. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel_traits.hpp +70 -0
  84. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_composed.hpp +146 -0
  85. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/coro.hpp +35 -5
  86. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_handler.hpp +13 -3
  87. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_operation.hpp +7 -0
  88. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_service.hpp +180 -0
  89. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_completion_handler.hpp +171 -0
  90. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_promise_allocator.hpp +89 -66
  91. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/partial_promise.hpp +66 -45
  92. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_single.hpp +13 -3
  93. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/co_composed.hpp +1134 -0
  94. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/coro.hpp +130 -106
  95. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/parallel_group.hpp +377 -3
  96. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/promise.hpp +168 -29
  97. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/use_coro.hpp +149 -203
  98. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/use_promise.hpp +68 -0
  99. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/parallel_group.hpp +256 -0
  100. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/promise.hpp +76 -80
  101. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_coro.hpp +40 -14
  102. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_promise.hpp +113 -0
  103. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/any_completion_executor.ipp +132 -0
  104. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/any_io_executor.ipp +12 -0
  105. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/append.hpp +12 -3
  106. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/as_tuple.hpp +12 -3
  107. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_read_stream.hpp +25 -6
  108. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_write_stream.hpp +25 -6
  109. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp +34 -45
  110. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +28 -6
  111. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/consign.hpp +204 -0
  112. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/defer.hpp +33 -1
  113. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/deferred.hpp +13 -3
  114. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/dispatch.hpp +21 -9
  115. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/handler_alloc_hook.ipp +1 -1
  116. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/post.hpp +33 -1
  117. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/prepend.hpp +12 -3
  118. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +40 -9
  119. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +27 -6
  120. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +104 -24
  121. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/redirect_error.hpp +12 -3
  122. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +70 -15
  123. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.hpp +1 -0
  124. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +25 -0
  125. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +38 -30
  126. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +27 -6
  127. data/src/cxx_supportlib/vendor-modified/boost/asio/io_context.hpp +0 -13
  128. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.ipp +3 -1
  129. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.ipp +3 -1
  130. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +2 -2
  131. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +2 -2
  132. data/src/cxx_supportlib/vendor-modified/boost/asio/post.hpp +17 -18
  133. data/src/cxx_supportlib/vendor-modified/boost/asio/spawn.hpp +3 -1
  134. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/io.hpp +13 -3
  135. data/src/cxx_supportlib/vendor-modified/boost/asio/strand.hpp +11 -7
  136. data/src/cxx_supportlib/vendor-modified/boost/asio/system_executor.hpp +0 -13
  137. data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +23 -18
  138. data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +1 -1
  139. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_object_handle.hpp +2 -2
  140. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_overlapped_handle.hpp +1 -1
  141. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_random_access_handle.hpp +2 -2
  142. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_stream_handle.hpp +2 -2
  143. data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +4 -0
  144. data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +1 -1
  145. data/src/cxx_supportlib/vendor-modified/boost/chrono/config.hpp +1 -0
  146. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/chrono.hpp +4 -4
  147. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/scan_keyword.hpp +4 -2
  148. data/src/cxx_supportlib/vendor-modified/boost/chrono/duration.hpp +2 -2
  149. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_io.hpp +3 -3
  150. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_put.hpp +5 -5
  151. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_units.hpp +2 -2
  152. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/time_point_io.hpp +2 -2
  153. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/utility/ios_base_state_ptr.hpp +7 -7
  154. data/src/cxx_supportlib/vendor-modified/boost/chrono/time_point.hpp +1 -1
  155. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/details.hpp +5 -1
  156. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +10 -3
  157. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang_version.hpp +9 -3
  158. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +9 -3
  159. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +6 -0
  160. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +8 -0
  161. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +4 -0
  162. data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +33 -0
  163. data/src/cxx_supportlib/vendor-modified/boost/config/header_deprecated.hpp +1 -1
  164. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +9 -0
  165. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +4 -2
  166. data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +1 -1
  167. data/src/cxx_supportlib/vendor-modified/boost/container/container_fwd.hpp +29 -0
  168. data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +13 -13
  169. data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +80 -95
  170. data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +10 -0
  171. data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_end.hpp +3 -0
  172. data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +738 -34
  173. data/src/cxx_supportlib/vendor-modified/boost/container/detail/destroyers.hpp +38 -10
  174. data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +1 -0
  175. data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterator.hpp +2 -0
  176. data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +3 -4
  177. data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +1150 -1213
  178. data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +1 -1
  179. data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +104 -12
  180. data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +1 -0
  181. data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +11 -1
  182. data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +31 -331
  183. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_mix.hpp +113 -0
  184. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_range.hpp +173 -0
  185. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_tuple.hpp +133 -0
  186. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +461 -566
  187. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash_fwd.hpp +24 -24
  188. data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_contiguous_range.hpp +91 -0
  189. data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_described_class.hpp +38 -0
  190. data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_range.hpp +73 -0
  191. data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_unordered_range.hpp +39 -0
  192. data/src/cxx_supportlib/vendor-modified/boost/core/bit.hpp +32 -4
  193. data/src/cxx_supportlib/vendor-modified/boost/core/detail/string_view.hpp +16 -0
  194. data/src/cxx_supportlib/vendor-modified/boost/core/empty_value.hpp +16 -16
  195. data/src/cxx_supportlib/vendor-modified/boost/core/fclose_deleter.hpp +46 -0
  196. data/src/cxx_supportlib/vendor-modified/boost/date_time/date.hpp +1 -1
  197. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/formatters.hpp +3 -3
  198. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/formatters_limited.hpp +3 -3
  199. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_date.hpp +12 -13
  200. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/parsers.hpp +2 -2
  201. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian_calendar.ipp +2 -2
  202. data/src/cxx_supportlib/vendor-modified/boost/date_time/iso_format.hpp +13 -13
  203. data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/local_date_time.hpp +2 -2
  204. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_formatters.hpp +4 -4
  205. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_formatters_limited.hpp +2 -2
  206. data/src/cxx_supportlib/vendor-modified/boost/date_time/special_values_parser.hpp +1 -1
  207. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_facet.hpp +1 -1
  208. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_parsing.hpp +2 -2
  209. data/src/cxx_supportlib/vendor-modified/boost/describe/bases.hpp +50 -0
  210. data/src/cxx_supportlib/vendor-modified/boost/describe/detail/config.hpp +40 -0
  211. data/src/cxx_supportlib/vendor-modified/boost/describe/detail/cx_streq.hpp +30 -0
  212. data/src/cxx_supportlib/vendor-modified/boost/describe/detail/void_t.hpp +32 -0
  213. data/src/cxx_supportlib/vendor-modified/boost/describe/members.hpp +159 -0
  214. data/src/cxx_supportlib/vendor-modified/boost/describe/modifiers.hpp +33 -0
  215. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +9 -9
  216. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +45 -45
  217. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +8 -8
  218. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/bstree_algorithms_base.hpp +37 -38
  219. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iterator.hpp +16 -0
  220. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/workaround.hpp +1 -1
  221. data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +145 -90
  222. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pack_options.hpp +2 -0
  223. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +7 -7
  224. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +5 -5
  225. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree_algorithms.hpp +11 -9
  226. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +7 -7
  227. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_facade.hpp +106 -25
  228. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +1 -1
  229. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +8 -5
  230. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +1 -1
  231. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +4 -2
  232. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/pdqsort.hpp +2 -1
  233. data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +8 -4
  234. data/src/cxx_supportlib/vendor-modified/boost/mp11/bind.hpp +111 -0
  235. data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
  236. data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/detail/int_float_mixture.hpp +5 -5
  237. data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/detail/sign_mixture.hpp +5 -5
  238. data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/detail/udt_builtin_mixture.hpp +5 -5
  239. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/has_opt.hpp +6 -2
  240. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_gcc_atomic.hpp +11 -2
  241. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +1 -1
  242. data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +7 -1
  243. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category.hpp +2 -2
  244. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category_impl.hpp +10 -1
  245. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.hpp +38 -43
  246. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_condition.hpp +52 -0
  247. data/src/cxx_supportlib/vendor-modified/boost/throw_exception.hpp +1 -1
  248. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_ptr_helper.hpp +27 -27
  249. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp +27 -27
  250. data/src/cxx_supportlib/vendor-modified/boost/type_traits/intrinsics.hpp +22 -8
  251. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fca.hpp +37 -7
  252. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa.hpp +1921 -0
  253. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +66 -82
  254. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/prime_fmod.hpp +6 -0
  255. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/type_traits.hpp +109 -0
  256. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/xmx.hpp +75 -0
  257. data/src/cxx_supportlib/vendor-modified/boost/unordered/hash_traits.hpp +45 -0
  258. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +732 -0
  259. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map_fwd.hpp +49 -0
  260. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +586 -0
  261. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set_fwd.hpp +49 -0
  262. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +166 -66
  263. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +145 -28
  264. data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
  265. data/src/cxx_supportlib/vendor-modified/jsoncpp/json-forwards.h +143 -261
  266. data/src/cxx_supportlib/vendor-modified/jsoncpp/json.h +763 -947
  267. data/src/cxx_supportlib/vendor-modified/jsoncpp/jsoncpp.cpp +1477 -1487
  268. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/md5.hpp +1 -1
  269. data/src/ruby_native_extension/extconf.rb +1 -1
  270. data/src/ruby_supportlib/phusion_passenger/packaging.rb +1 -0
  271. data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +3 -2
  272. data/src/ruby_supportlib/phusion_passenger/platform_info/binary_compatibility.rb +1 -1
  273. data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +5 -5
  274. data/src/ruby_supportlib/phusion_passenger.rb +5 -5
  275. metadata +36 -19
  276. data/src/cxx_supportlib/vendor-modified/boost/align/align.hpp +0 -19
  277. data/src/cxx_supportlib/vendor-modified/boost/align/alignment_of.hpp +0 -54
  278. data/src/cxx_supportlib/vendor-modified/boost/align/alignment_of_forward.hpp +0 -20
  279. data/src/cxx_supportlib/vendor-modified/boost/align/detail/align_cxx11.hpp +0 -21
  280. data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc.hpp +0 -52
  281. data/src/cxx_supportlib/vendor-modified/boost/align/detail/alignment_of.hpp +0 -31
  282. data/src/cxx_supportlib/vendor-modified/boost/align/detail/alignment_of_cxx11.hpp +0 -23
  283. data/src/cxx_supportlib/vendor-modified/boost/align/detail/element_type.hpp +0 -91
  284. data/src/cxx_supportlib/vendor-modified/boost/align/detail/integral_constant.hpp +0 -53
  285. data/src/cxx_supportlib/vendor-modified/boost/align/detail/min_size.hpp +0 -26
  286. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/completion_handler_erasure.hpp +0 -196
  287. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/compose.hpp +0 -709
  288. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/float_functions.hpp +0 -336
  289. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_float.hpp +0 -271
  290. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/limits.hpp +0 -62
  291. data/src/cxx_supportlib/vendor-modified/boost/container_hash/extensions.hpp +0 -361
  292. data/src/cxx_supportlib/vendor-modified/boost/detail/container_fwd.hpp +0 -157
@@ -1,4 +1,4 @@
1
- /// Json-cpp amalgamated forward header (http://jsoncpp.sourceforge.net/).
1
+ /// Json-cpp amalgated forward header (http://jsoncpp.sourceforge.net/).
2
2
  /// It is intended to be used with #include "json/json-forwards.h"
3
3
  /// This header provides forward declaration for all JsonCpp types.
4
4
 
@@ -7,32 +7,32 @@
7
7
  // //////////////////////////////////////////////////////////////////////
8
8
 
9
9
  /*
10
- The JsonCpp library's source code, including accompanying documentation,
10
+ The JsonCpp library's source code, including accompanying documentation,
11
11
  tests and demonstration applications, are licensed under the following
12
12
  conditions...
13
13
 
14
- Baptiste Lepilleur and The JsonCpp Authors explicitly disclaim copyright in all
15
- jurisdictions which recognize such a disclaimer. In such jurisdictions,
14
+ The JsonCpp Authors explicitly disclaim copyright in all
15
+ jurisdictions which recognize such a disclaimer. In such jurisdictions,
16
16
  this software is released into the Public Domain.
17
17
 
18
18
  In jurisdictions which do not recognize Public Domain property (e.g. Germany as of
19
- 2010), this software is Copyright (c) 2007-2010 by Baptiste Lepilleur and
20
- The JsonCpp Authors, and is released under the terms of the MIT License (see below).
19
+ 2010), this software is Copyright (c) 2007-2010 by The JsonCpp Authors, and is
20
+ released under the terms of the MIT License (see below).
21
21
 
22
- In jurisdictions which recognize Public Domain property, the user of this
23
- software may choose to accept it either as 1) Public Domain, 2) under the
24
- conditions of the MIT License (see below), or 3) under the terms of dual
22
+ In jurisdictions which recognize Public Domain property, the user of this
23
+ software may choose to accept it either as 1) Public Domain, 2) under the
24
+ conditions of the MIT License (see below), or 3) under the terms of dual
25
25
  Public Domain/MIT License conditions described here, as they choose.
26
26
 
27
27
  The MIT License is about as close to Public Domain as a license can get, and is
28
28
  described in clear, concise terms at:
29
29
 
30
30
  http://en.wikipedia.org/wiki/MIT_License
31
-
31
+
32
32
  The full text of the MIT License follows:
33
33
 
34
34
  ========================================================================
35
- Copyright (c) 2007-2010 Baptiste Lepilleur and The JsonCpp Authors
35
+ Copyright (c) 2007-2010 The JsonCpp Authors
36
36
 
37
37
  Permission is hereby granted, free of charge, to any person
38
38
  obtaining a copy of this software and associated documentation
@@ -73,177 +73,36 @@ license you like.
73
73
 
74
74
 
75
75
 
76
- #ifndef JSON_FORWARD_AMALGAMATED_H_INCLUDED
77
- # define JSON_FORWARD_AMALGAMATED_H_INCLUDED
78
- /// If defined, indicates that the source file is amalgamated
76
+ #ifndef JSON_FORWARD_AMALGATED_H_INCLUDED
77
+ # define JSON_FORWARD_AMALGATED_H_INCLUDED
78
+ /// If defined, indicates that the source file is amalgated
79
79
  /// to prevent private header inclusion.
80
80
  #define JSON_IS_AMALGAMATION
81
81
 
82
- // //////////////////////////////////////////////////////////////////////
83
- // Beginning of content of file: include/json/version.h
84
- // //////////////////////////////////////////////////////////////////////
85
-
86
- #ifndef JSON_VERSION_H_INCLUDED
87
- #define JSON_VERSION_H_INCLUDED
88
-
89
- // Note: version must be updated in three places when doing a release. This
90
- // annoying process ensures that amalgamate, CMake, and meson all report the
91
- // correct version.
92
- // 1. /meson.build
93
- // 2. /include/json/version.h
94
- // 3. /CMakeLists.txt
95
- // IMPORTANT: also update the SOVERSION!!
96
-
97
- #define JSONCPP_VERSION_STRING "1.9.5"
98
- #define JSONCPP_VERSION_MAJOR 1
99
- #define JSONCPP_VERSION_MINOR 9
100
- #define JSONCPP_VERSION_PATCH 5
101
- #define JSONCPP_VERSION_QUALIFIER
102
- #define JSONCPP_VERSION_HEXA \
103
- ((JSONCPP_VERSION_MAJOR << 24) | (JSONCPP_VERSION_MINOR << 16) | \
104
- (JSONCPP_VERSION_PATCH << 8))
105
-
106
- #ifdef JSONCPP_USING_SECURE_MEMORY
107
- #undef JSONCPP_USING_SECURE_MEMORY
108
- #endif
109
- #define JSONCPP_USING_SECURE_MEMORY 0
110
- // If non-zero, the library zeroes any memory that it has allocated before
111
- // it frees its memory.
112
-
113
- #endif // JSON_VERSION_H_INCLUDED
114
-
115
- // //////////////////////////////////////////////////////////////////////
116
- // End of content of file: include/json/version.h
117
- // //////////////////////////////////////////////////////////////////////
118
-
119
-
120
-
121
-
122
-
123
-
124
- // //////////////////////////////////////////////////////////////////////
125
- // Beginning of content of file: include/json/allocator.h
126
- // //////////////////////////////////////////////////////////////////////
127
-
128
- // Copyright 2007-2010 Baptiste Lepilleur and The JsonCpp Authors
129
- // Distributed under MIT license, or public domain if desired and
130
- // recognized in your jurisdiction.
131
- // See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE
132
-
133
- #ifndef JSON_ALLOCATOR_H_INCLUDED
134
- #define JSON_ALLOCATOR_H_INCLUDED
135
-
136
- #include <cstring>
137
- #include <memory>
138
-
139
- #pragma pack(push, 8)
140
-
141
- namespace Passenger {
142
- namespace Json {
143
- template <typename T> class SecureAllocator {
144
- public:
145
- // Type definitions
146
- using value_type = T;
147
- using pointer = T*;
148
- using const_pointer = const T*;
149
- using reference = T&;
150
- using const_reference = const T&;
151
- using size_type = std::size_t;
152
- using difference_type = std::ptrdiff_t;
153
-
154
- /**
155
- * Allocate memory for N items using the standard allocator.
156
- */
157
- pointer allocate(size_type n) {
158
- // allocate using "global operator new"
159
- return static_cast<pointer>(::operator new(n * sizeof(T)));
160
- }
161
-
162
- /**
163
- * Release memory which was allocated for N items at pointer P.
164
- *
165
- * The memory block is filled with zeroes before being released.
166
- */
167
- void deallocate(pointer p, size_type n) {
168
- // memset_s is used because memset may be optimized away by the compiler
169
- memset_s(p, n * sizeof(T), 0, n * sizeof(T));
170
- // free using "global operator delete"
171
- ::operator delete(p);
172
- }
173
-
174
- /**
175
- * Construct an item in-place at pointer P.
176
- */
177
- template <typename... Args> void construct(pointer p, Args&&... args) {
178
- // construct using "placement new" and "perfect forwarding"
179
- ::new (static_cast<void*>(p)) T(std::forward<Args>(args)...);
180
- }
181
-
182
- size_type max_size() const { return size_t(-1) / sizeof(T); }
183
-
184
- pointer address(reference x) const { return std::addressof(x); }
185
-
186
- const_pointer address(const_reference x) const { return std::addressof(x); }
187
-
188
- /**
189
- * Destroy an item in-place at pointer P.
190
- */
191
- void destroy(pointer p) {
192
- // destroy using "explicit destructor"
193
- p->~T();
194
- }
195
-
196
- // Boilerplate
197
- SecureAllocator() {}
198
- template <typename U> SecureAllocator(const SecureAllocator<U>&) {}
199
- template <typename U> struct rebind { using other = SecureAllocator<U>; };
200
- };
201
-
202
- template <typename T, typename U>
203
- bool operator==(const SecureAllocator<T>&, const SecureAllocator<U>&) {
204
- return true;
205
- }
206
-
207
- template <typename T, typename U>
208
- bool operator!=(const SecureAllocator<T>&, const SecureAllocator<U>&) {
209
- return false;
210
- }
211
-
212
- } // namespace Json
213
- } // namespace Passenger
214
-
215
- #pragma pack(pop)
216
-
217
- #endif // JSON_ALLOCATOR_H_INCLUDED
218
-
219
- // //////////////////////////////////////////////////////////////////////
220
- // End of content of file: include/json/allocator.h
221
- // //////////////////////////////////////////////////////////////////////
222
-
223
-
224
-
225
-
226
-
227
-
228
82
  // //////////////////////////////////////////////////////////////////////
229
83
  // Beginning of content of file: include/json/config.h
230
84
  // //////////////////////////////////////////////////////////////////////
231
85
 
232
- // Copyright 2007-2010 Baptiste Lepilleur and The JsonCpp Authors
86
+ // Copyright 2007-2010 Baptiste Lepilleur
233
87
  // Distributed under MIT license, or public domain if desired and
234
88
  // recognized in your jurisdiction.
235
89
  // See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE
236
90
 
237
91
  #ifndef JSON_CONFIG_H_INCLUDED
238
92
  #define JSON_CONFIG_H_INCLUDED
239
- #include <cstddef>
240
- #include <cstdint>
241
- #include <istream>
242
- #include <memory>
243
- #include <ostream>
244
- #include <sstream>
245
- #include <string>
246
- #include <type_traits>
93
+ #include <stddef.h>
94
+ #include <string> //typedef String
95
+ #include <stdint.h> //typedef int64_t, uint64_t
96
+
97
+ /// If defined, indicates that json library is embedded in CppTL library.
98
+ //# define JSON_IN_CPPTL 1
99
+
100
+ /// If defined, indicates that json may leverage CppTL library
101
+ //# define JSON_USE_CPPTL 1
102
+ /// If defined, indicates that cpptl vector based map should be used instead of
103
+ /// std::map
104
+ /// as Value container.
105
+ //# define JSON_USE_CPPTL_SMALLMAP 1
247
106
 
248
107
  // If non-zero, the library uses exceptions to report bad input instead of C
249
108
  // assertion macros. The default is to use exceptions.
@@ -251,134 +110,163 @@ bool operator!=(const SecureAllocator<T>&, const SecureAllocator<U>&) {
251
110
  #define JSON_USE_EXCEPTION 1
252
111
  #endif
253
112
 
254
- // Temporary, tracked for removal with issue #982.
255
- #ifndef JSON_USE_NULLREF
256
- #define JSON_USE_NULLREF 1
257
- #endif
258
-
259
- /// If defined, indicates that the source file is amalgamated
113
+ /// If defined, indicates that the source file is amalgated
260
114
  /// to prevent private header inclusion.
261
- /// Remarks: it is automatically defined in the generated amalgamated header.
115
+ /// Remarks: it is automatically defined in the generated amalgated header.
262
116
  // #define JSON_IS_AMALGAMATION
263
117
 
264
- // Export macros for DLL visibility
265
- #if defined(JSON_DLL_BUILD)
118
+ #ifdef JSON_IN_CPPTL
119
+ #include <cpptl/config.h>
120
+ #ifndef JSON_USE_CPPTL
121
+ #define JSON_USE_CPPTL 1
122
+ #endif
123
+ #endif
124
+
125
+ #ifdef JSON_IN_CPPTL
126
+ #define JSON_API CPPTL_API
127
+ #elif defined(JSON_DLL_BUILD)
266
128
  #if defined(_MSC_VER) || defined(__MINGW32__)
267
129
  #define JSON_API __declspec(dllexport)
268
130
  #define JSONCPP_DISABLE_DLL_INTERFACE_WARNING
269
- #elif defined(__GNUC__) || defined(__clang__)
270
- #define JSON_API __attribute__((visibility("default")))
271
131
  #endif // if defined(_MSC_VER)
272
-
273
132
  #elif defined(JSON_DLL)
274
133
  #if defined(_MSC_VER) || defined(__MINGW32__)
275
134
  #define JSON_API __declspec(dllimport)
276
135
  #define JSONCPP_DISABLE_DLL_INTERFACE_WARNING
277
136
  #endif // if defined(_MSC_VER)
278
- #endif // ifdef JSON_DLL_BUILD
279
-
137
+ #endif // ifdef JSON_IN_CPPTL
280
138
  #if !defined(JSON_API)
281
139
  #define JSON_API
282
140
  #endif
283
141
 
284
- #if defined(_MSC_VER) && _MSC_VER < 1800
285
- #error \
286
- "ERROR: Visual Studio 12 (2013) with _MSC_VER=1800 is the oldest supported compiler with sufficient C++11 capabilities"
287
- #endif
288
-
289
- #if defined(_MSC_VER) && _MSC_VER < 1900
290
- // As recommended at
291
- // https://stackoverflow.com/questions/2915672/snprintf-and-visual-studio-2010
292
- extern JSON_API int msvc_pre1900_c99_snprintf(char* outBuf, size_t size,
293
- const char* format, ...);
294
- #define jsoncpp_snprintf msvc_pre1900_c99_snprintf
295
- #else
296
- #define jsoncpp_snprintf std::snprintf
297
- #endif
298
-
299
142
  // If JSON_NO_INT64 is defined, then Json only support C++ "int" type for
300
143
  // integer
301
144
  // Storages, and 64 bits integer support is disabled.
302
145
  // #define JSON_NO_INT64 1
303
146
 
304
- // JSONCPP_OVERRIDE is maintained for backwards compatibility of external tools.
305
- // C++11 should be used directly in JSONCPP.
306
- #define JSONCPP_OVERRIDE override
147
+ #if defined(_MSC_VER) // MSVC
148
+ # if _MSC_VER <= 1200 // MSVC 6
149
+ // Microsoft Visual Studio 6 only support conversion from __int64 to double
150
+ // (no conversion from unsigned __int64).
151
+ # define JSON_USE_INT64_DOUBLE_CONVERSION 1
152
+ // Disable warning 4786 for VS6 caused by STL (identifier was truncated to '255'
153
+ // characters in the debug information)
154
+ // All projects I've ever seen with VS6 were using this globally (not bothering
155
+ // with pragma push/pop).
156
+ # pragma warning(disable : 4786)
157
+ # endif // MSVC 6
158
+
159
+ # if _MSC_VER >= 1500 // MSVC 2008
160
+ /// Indicates that the following function is deprecated.
161
+ # define JSONCPP_DEPRECATED(message) __declspec(deprecated(message))
162
+ # endif
163
+
164
+ #endif // defined(_MSC_VER)
165
+
166
+ // In c++11 the override keyword allows you to explicity define that a function
167
+ // is intended to override the base-class version. This makes the code more
168
+ // managable and fixes a set of common hard-to-find bugs.
169
+ #if __cplusplus >= 201103L
170
+ # define JSONCPP_OVERRIDE override
171
+ # define JSONCPP_NOEXCEPT noexcept
172
+ #elif defined(_MSC_VER) && _MSC_VER > 1600 && _MSC_VER < 1900
173
+ # define JSONCPP_OVERRIDE override
174
+ # define JSONCPP_NOEXCEPT throw()
175
+ #elif defined(_MSC_VER) && _MSC_VER >= 1900
176
+ # define JSONCPP_OVERRIDE override
177
+ # define JSONCPP_NOEXCEPT noexcept
178
+ #else
179
+ # define JSONCPP_OVERRIDE
180
+ # define JSONCPP_NOEXCEPT throw()
181
+ #endif
182
+
183
+ #ifndef JSON_HAS_RVALUE_REFERENCES
184
+
185
+ #if defined(_MSC_VER) && _MSC_VER >= 1600 // MSVC >= 2010
186
+ #define JSON_HAS_RVALUE_REFERENCES 1
187
+ #endif // MSVC >= 2010
307
188
 
308
189
  #ifdef __clang__
309
- #if __has_extension(attribute_deprecated_with_message)
310
- #define JSONCPP_DEPRECATED(message) __attribute__((deprecated(message)))
190
+ #if __has_feature(cxx_rvalue_references)
191
+ #define JSON_HAS_RVALUE_REFERENCES 1
192
+ #endif // has_feature
193
+
194
+ #elif defined __GNUC__ // not clang (gcc comes later since clang emulates gcc)
195
+ #if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103L)
196
+ #define JSON_HAS_RVALUE_REFERENCES 1
197
+ #endif // GXX_EXPERIMENTAL
198
+
199
+ #endif // __clang__ || __GNUC__
200
+
201
+ #endif // not defined JSON_HAS_RVALUE_REFERENCES
202
+
203
+ #ifndef JSON_HAS_RVALUE_REFERENCES
204
+ #define JSON_HAS_RVALUE_REFERENCES 0
311
205
  #endif
312
- #elif defined(__GNUC__) // not clang (gcc comes later since clang emulates gcc)
313
- #if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5))
314
- #define JSONCPP_DEPRECATED(message) __attribute__((deprecated(message)))
315
- #elif (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))
316
- #define JSONCPP_DEPRECATED(message) __attribute__((__deprecated__))
317
- #endif // GNUC version
318
- #elif defined(_MSC_VER) // MSVC (after clang because clang on Windows emulates
319
- // MSVC)
320
- #define JSONCPP_DEPRECATED(message) __declspec(deprecated(message))
321
- #endif // __clang__ || __GNUC__ || _MSC_VER
206
+
207
+ #ifdef __clang__
208
+ #elif defined __GNUC__ // not clang (gcc comes later since clang emulates gcc)
209
+ # if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5))
210
+ # define JSONCPP_DEPRECATED(message) __attribute__ ((deprecated(message)))
211
+ # elif (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))
212
+ # define JSONCPP_DEPRECATED(message) __attribute__((__deprecated__))
213
+ # endif // GNUC version
214
+ #endif // __clang__ || __GNUC__
322
215
 
323
216
  #if !defined(JSONCPP_DEPRECATED)
324
217
  #define JSONCPP_DEPRECATED(message)
325
218
  #endif // if !defined(JSONCPP_DEPRECATED)
326
219
 
327
- #if defined(__clang__) || (defined(__GNUC__) && (__GNUC__ >= 6))
328
- #define JSON_USE_INT64_DOUBLE_CONVERSION 1
220
+ #if __GNUC__ >= 6
221
+ # define JSON_USE_INT64_DOUBLE_CONVERSION 1
329
222
  #endif
330
223
 
331
224
  #if !defined(JSON_IS_AMALGAMATION)
332
225
 
333
- #include "allocator.h"
334
- #include "version.h"
226
+ # include "version.h"
227
+
228
+ # if JSONCPP_USING_SECURE_MEMORY
229
+ # include "allocator.h" //typedef Allocator
230
+ # endif
335
231
 
336
232
  #endif // if !defined(JSON_IS_AMALGAMATION)
337
233
 
338
234
  namespace Passenger {
339
235
  namespace Json {
340
- using Int = int;
341
- using UInt = unsigned int;
236
+ typedef int Int;
237
+ typedef unsigned int UInt;
342
238
  #if defined(JSON_NO_INT64)
343
- using LargestInt = int;
344
- using LargestUInt = unsigned int;
239
+ typedef int LargestInt;
240
+ typedef unsigned int LargestUInt;
345
241
  #undef JSON_HAS_INT64
346
242
  #else // if defined(JSON_NO_INT64)
347
243
  // For Microsoft Visual use specific types as long long is not supported
348
244
  #if defined(_MSC_VER) // Microsoft Visual Studio
349
- using Int64 = __int64;
350
- using UInt64 = unsigned __int64;
245
+ typedef __int64 Int64;
246
+ typedef unsigned __int64 UInt64;
351
247
  #else // if defined(_MSC_VER) // Other platforms, use long long
352
- using Int64 = int64_t;
353
- using UInt64 = uint64_t;
354
- #endif // if defined(_MSC_VER)
355
- using LargestInt = Int64;
356
- using LargestUInt = UInt64;
248
+ typedef int64_t Int64;
249
+ typedef uint64_t UInt64;
250
+ #endif // if defined(_MSC_VER)
251
+ typedef Int64 LargestInt;
252
+ typedef UInt64 LargestUInt;
357
253
  #define JSON_HAS_INT64
358
254
  #endif // if defined(JSON_NO_INT64)
359
-
360
- template <typename T>
361
- using Allocator =
362
- typename std::conditional<JSONCPP_USING_SECURE_MEMORY, SecureAllocator<T>,
363
- std::allocator<T>>::type;
364
- using String = std::basic_string<char, std::char_traits<char>, Allocator<char>>;
365
- using IStringStream =
366
- std::basic_istringstream<String::value_type, String::traits_type,
367
- String::allocator_type>;
368
- using OStringStream =
369
- std::basic_ostringstream<String::value_type, String::traits_type,
370
- String::allocator_type>;
371
- using IStream = std::istream;
372
- using OStream = std::ostream;
373
- } // namespace Json
374
- } // namespace Passenger
375
-
376
- // Legacy names (formerly macros).
377
- using JSONCPP_STRING = Json::String;
378
- using JSONCPP_ISTRINGSTREAM = Json::IStringStream;
379
- using JSONCPP_OSTRINGSTREAM = Json::OStringStream;
380
- using JSONCPP_ISTREAM = Json::IStream;
381
- using JSONCPP_OSTREAM = Json::OStream;
255
+ #if JSONCPP_USING_SECURE_MEMORY
256
+ #define JSONCPP_STRING std::basic_string<char, std::char_traits<char>, Json::SecureAllocator<char> >
257
+ #define JSONCPP_OSTRINGSTREAM std::basic_ostringstream<char, std::char_traits<char>, Json::SecureAllocator<char> >
258
+ #define JSONCPP_OSTREAM std::basic_ostream<char, std::char_traits<char>>
259
+ #define JSONCPP_ISTRINGSTREAM std::basic_istringstream<char, std::char_traits<char>, Json::SecureAllocator<char> >
260
+ #define JSONCPP_ISTREAM std::istream
261
+ #else
262
+ #define JSONCPP_STRING std::string
263
+ #define JSONCPP_OSTRINGSTREAM std::ostringstream
264
+ #define JSONCPP_OSTREAM std::ostream
265
+ #define JSONCPP_ISTRINGSTREAM std::istringstream
266
+ #define JSONCPP_ISTREAM std::istream
267
+ #endif // if JSONCPP_USING_SECURE_MEMORY
268
+ } // end namespace Json
269
+ } // end namespace Passenger
382
270
 
383
271
  #endif // JSON_CONFIG_H_INCLUDED
384
272
 
@@ -395,7 +283,7 @@ using JSONCPP_OSTREAM = Json::OStream;
395
283
  // Beginning of content of file: include/json/forwards.h
396
284
  // //////////////////////////////////////////////////////////////////////
397
285
 
398
- // Copyright 2007-2010 Baptiste Lepilleur and The JsonCpp Authors
286
+ // Copyright 2007-2010 Baptiste Lepilleur
399
287
  // Distributed under MIT license, or public domain if desired and
400
288
  // recognized in your jurisdiction.
401
289
  // See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE
@@ -411,23 +299,17 @@ namespace Passenger {
411
299
  namespace Json {
412
300
 
413
301
  // writer.h
414
- class StreamWriter;
415
- class StreamWriterBuilder;
416
- class Writer;
417
302
  class FastWriter;
418
303
  class StyledWriter;
419
- class StyledStreamWriter;
420
304
 
421
305
  // reader.h
422
306
  class Reader;
423
- class CharReader;
424
- class CharReaderBuilder;
425
307
 
426
- // json_features.h
308
+ // features.h
427
309
  class Features;
428
310
 
429
311
  // value.h
430
- using ArrayIndex = unsigned int;
312
+ typedef unsigned int ArrayIndex;
431
313
  class StaticString;
432
314
  class Path;
433
315
  class PathArgument;
@@ -449,4 +331,4 @@ class ValueConstIterator;
449
331
 
450
332
 
451
333
 
452
- #endif //ifndef JSON_FORWARD_AMALGAMATED_H_INCLUDED
334
+ #endif //ifndef JSON_FORWARD_AMALGATED_H_INCLUDED