passenger 6.0.0 → 6.0.5

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 (454) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +148 -18
  3. data/CONTRIBUTORS +6 -0
  4. data/bin/passenger-install-nginx-module +1 -1
  5. data/bin/passenger-status +15 -0
  6. data/build/misc.rb +3 -1
  7. data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +56 -3
  8. data/dev/copy_boost_headers +1 -0
  9. data/package.json +1 -1
  10. data/passenger.gemspec +1 -1
  11. data/resources/templates/error_renderer/with_details/src/bootstrap/bootstrap.css +0 -0
  12. data/resources/templates/error_renderer/with_details/src/bootstrap/bootstrap.js +0 -0
  13. data/resources/templates/error_renderer/with_details/src/bootstrap/config.json +0 -0
  14. data/resources/templates/standalone/http.erb +2 -0
  15. data/resources/templates/standalone/server.erb +1 -0
  16. data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +1 -1
  17. data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +1 -0
  18. data/src/agent/Core/ApplicationPool/Options.h +10 -0
  19. data/src/agent/Core/ApplicationPool/Pool/GarbageCollection.cpp +1 -1
  20. data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +1 -1
  21. data/src/agent/Core/Config.h +13 -1
  22. data/src/agent/Core/Controller.h +1 -0
  23. data/src/agent/Core/Controller/Config.h +4 -1
  24. data/src/agent/Core/Controller/ForwardResponse.cpp +13 -0
  25. data/src/agent/Core/Controller/InitRequest.cpp +3 -0
  26. data/src/agent/Core/Controller/InitializationAndShutdown.cpp +1 -0
  27. data/src/agent/Core/CoreMain.cpp +2 -1
  28. data/src/agent/Core/OptionParser.h +3 -0
  29. data/src/agent/Core/SpawningKit/Context.h +1 -0
  30. data/src/agent/Core/SpawningKit/Handshake/Perform.h +1 -0
  31. data/src/agent/Core/SpawningKit/Handshake/Prepare.h +1 -1
  32. data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +5 -2
  33. data/src/agent/TempDirToucher/TempDirToucherMain.cpp +2 -0
  34. data/src/agent/Watchdog/Config.h +14 -1
  35. data/src/agent/Watchdog/WatchdogMain.cpp +7 -0
  36. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +10 -0
  37. data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +10 -0
  38. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +30 -0
  39. data/src/apache2_module/Hooks.cpp +6 -0
  40. data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp +20 -0
  41. data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +24 -0
  42. data/src/cxx_supportlib/Constants.h +2 -1
  43. data/src/cxx_supportlib/LoggingKit/Config.h +2 -0
  44. data/src/cxx_supportlib/LoggingKit/Implementation.cpp +15 -9
  45. data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParser.h +1 -1
  46. data/src/cxx_supportlib/SystemTools/ContainerHelpers.h +57 -2
  47. data/src/cxx_supportlib/WebSocketCommandReverseServer.h +11 -7
  48. data/src/cxx_supportlib/oxt/system_calls.cpp +10 -10
  49. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/finder.hpp +0 -4
  50. data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +46 -37
  51. data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +16 -15
  52. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +45 -26
  53. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/future.hpp +33 -0
  54. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +1 -1
  55. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +38 -14
  56. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +2 -0
  57. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +1 -1
  58. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +3 -1
  59. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +0 -1
  60. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +6 -1
  61. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +6 -4
  62. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_results.hpp +4 -4
  63. data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +3 -3
  64. data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +4 -4
  65. data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +4 -4
  66. data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +8 -6
  67. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_base.hpp +17 -0
  68. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +50 -5
  69. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +2 -1
  70. data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +1 -1
  71. data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +3 -2
  72. data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +1 -1
  73. data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +4 -3
  74. data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +5 -3
  75. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86_dcas.hpp +13 -12
  76. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/chrono.hpp +10 -10
  77. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/process_cpu_clocks.hpp +34 -34
  78. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/thread_clock.hpp +4 -4
  79. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/chrono.hpp +8 -8
  80. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/process_cpu_clocks.hpp +27 -27
  81. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/thread_clock.hpp +4 -4
  82. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/system.hpp +5 -4
  83. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/time_point_io.hpp +1 -1
  84. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer.hpp +3 -3
  85. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/allocators.hpp +89 -0
  86. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/base.hpp +83 -74
  87. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/details.hpp +21 -33
  88. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/space_optimized.hpp +5 -5
  89. data/src/cxx_supportlib/vendor-modified/boost/concept/assert.hpp +1 -1
  90. data/src/cxx_supportlib/vendor-modified/boost/concept/detail/general.hpp +3 -3
  91. data/src/cxx_supportlib/vendor-modified/boost/concept/detail/has_constraints.hpp +3 -3
  92. data/src/cxx_supportlib/vendor-modified/boost/concept/usage.hpp +1 -1
  93. data/src/cxx_supportlib/vendor-modified/boost/concept_check.hpp +19 -19
  94. data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +8 -0
  95. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +5 -2
  96. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +5 -1
  97. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +6 -2
  98. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/comeau.hpp +1 -1
  99. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +4 -0
  100. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/cray.hpp +368 -52
  101. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +4 -1
  102. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +6 -3
  103. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +3 -0
  104. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/greenhills.hpp +1 -1
  105. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/hp_acc.hpp +1 -1
  106. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/intel.hpp +6 -1
  107. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/kai.hpp +1 -1
  108. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +4 -1
  109. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +4 -1
  110. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/nvcc.hpp +3 -3
  111. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +3 -0
  112. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +3 -0
  113. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +4 -1
  114. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +9 -4
  115. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +4 -0
  116. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp_zos.hpp +1 -0
  117. data/src/cxx_supportlib/vendor-modified/boost/config/detail/select_compiler_config.hpp +1 -2
  118. data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +13 -0
  119. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +2 -2
  120. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +14 -4
  121. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +4 -4
  122. data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +262 -2
  123. data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +4 -3
  124. data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +1 -1
  125. data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +7 -0
  126. data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +22 -19
  127. data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +833 -459
  128. data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +24 -6
  129. data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocator_version_traits.hpp +2 -1
  130. data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +61 -5
  131. data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +33 -8
  132. data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +132 -41
  133. data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterator.hpp +16 -0
  134. data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +54 -0
  135. data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +58 -0
  136. data/src/cxx_supportlib/vendor-modified/boost/container/detail/multiallocation_chain.hpp +28 -23
  137. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +167 -115
  138. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +55 -0
  139. data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +3 -0
  140. data/src/cxx_supportlib/vendor-modified/boost/container/detail/thread_mutex.hpp +181 -0
  141. data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +167 -29
  142. data/src/cxx_supportlib/vendor-modified/boost/container/detail/type_traits.hpp +2 -0
  143. data/src/cxx_supportlib/vendor-modified/boost/container/detail/variadic_templates_tools.hpp +1 -1
  144. data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +18 -0
  145. data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +389 -3
  146. data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +262 -0
  147. data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +52 -8
  148. data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +364 -0
  149. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/monotonic_buffer_resource.hpp +4 -2
  150. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +1 -1
  151. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/synchronized_pool_resource.hpp +3 -2
  152. data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +286 -6
  153. data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +56 -8
  154. data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +43 -6
  155. data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +100 -31
  156. data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +2 -1
  157. data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +126 -69
  158. data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +75 -51
  159. data/src/cxx_supportlib/vendor-modified/boost/core/empty_value.hpp +136 -0
  160. data/src/cxx_supportlib/vendor-modified/boost/core/exchange.hpp +49 -0
  161. data/src/cxx_supportlib/vendor-modified/boost/core/explicit_operator_bool.hpp +9 -0
  162. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +101 -130
  163. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test_trait.hpp +2 -2
  164. data/src/cxx_supportlib/vendor-modified/boost/core/noncopyable.hpp +16 -1
  165. data/src/cxx_supportlib/vendor-modified/boost/core/quick_exit.hpp +59 -0
  166. data/src/cxx_supportlib/vendor-modified/boost/core/ref.hpp +2 -1
  167. data/src/cxx_supportlib/vendor-modified/boost/core/swap.hpp +9 -2
  168. data/src/cxx_supportlib/vendor-modified/boost/core/typeinfo.hpp +26 -10
  169. data/src/cxx_supportlib/vendor-modified/boost/date_time/compiler_config.hpp +5 -0
  170. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_duration.hpp +3 -3
  171. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_duration.hpp +1 -1
  172. data/src/cxx_supportlib/vendor-modified/boost/detail/basic_pointerbuf.hpp +1 -1
  173. data/src/cxx_supportlib/vendor-modified/boost/detail/indirect_traits.hpp +38 -47
  174. data/src/cxx_supportlib/vendor-modified/boost/detail/lcast_precision.hpp +5 -5
  175. data/src/cxx_supportlib/vendor-modified/boost/detail/reference_content.hpp +7 -7
  176. data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +62 -58
  177. data/src/cxx_supportlib/vendor-modified/boost/function.hpp +1 -1
  178. data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +29 -29
  179. data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +38 -40
  180. data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_rt.hpp +4 -4
  181. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +44 -44
  182. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +39 -39
  183. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +15 -15
  184. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +7 -7
  185. data/src/cxx_supportlib/vendor-modified/boost/intrusive/derivation_value_traits.hpp +1 -1
  186. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +14 -14
  187. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/avltree_node.hpp +9 -9
  188. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +7 -7
  189. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_iterator.hpp +1 -1
  190. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_node.hpp +2 -2
  191. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_cloner_disposer.hpp +2 -2
  192. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/rbtree_node.hpp +6 -6
  193. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/simple_disposers.hpp +1 -1
  194. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_iterator.hpp +1 -1
  195. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_node.hpp +1 -1
  196. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_iterator.hpp +1 -1
  197. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_node.hpp +3 -3
  198. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_value_compare.hpp +33 -14
  199. data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +12 -12
  200. data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +4 -4
  201. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_plus_bits.hpp +3 -0
  202. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +39 -39
  203. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +61 -61
  204. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +4 -4
  205. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree_algorithms.hpp +66 -66
  206. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +54 -54
  207. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +6 -2
  208. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +3 -3
  209. data/src/cxx_supportlib/vendor-modified/boost/iterator/advance.hpp +1 -1
  210. data/src/cxx_supportlib/vendor-modified/boost/iterator/distance.hpp +65 -0
  211. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +1 -1
  212. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +1 -1
  213. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +23 -23
  214. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +4 -4
  215. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +13 -13
  216. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +1 -1
  217. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +5 -4
  218. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +1 -1
  219. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +5 -5
  220. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +5 -2
  221. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +18 -13
  222. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/cregex.cpp +4 -4
  223. data/src/cxx_supportlib/vendor-modified/boost/libs/system/src/error_code.cpp +16 -5
  224. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/future.cpp +1 -1
  225. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +14 -8
  226. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/tss_null.cpp +2 -2
  227. data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/detail/fp_traits.hpp +13 -13
  228. data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/math_fwd.hpp +27 -0
  229. data/src/cxx_supportlib/vendor-modified/boost/math/tools/config.hpp +1 -1
  230. data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +29 -6
  231. data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +12 -3
  232. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +1 -1
  233. data/src/cxx_supportlib/vendor-modified/boost/move/algo/move.hpp +1 -1
  234. data/src/cxx_supportlib/vendor-modified/boost/move/algorithm.hpp +1 -1
  235. data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +8 -8
  236. data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +2 -0
  237. data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +3 -3
  238. data/src/cxx_supportlib/vendor-modified/boost/mpl/assert.hpp +23 -3
  239. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/experimental_traits.hpp +9 -3
  240. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +10 -11
  241. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +20 -1
  242. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +3 -3
  243. data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +211 -101
  244. data/src/cxx_supportlib/vendor-modified/boost/parameter/python.hpp +5 -6
  245. data/src/cxx_supportlib/vendor-modified/boost/pool/detail/mutex.hpp +119 -25
  246. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture.h +1 -0
  247. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/arm.h +5 -0
  248. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ptx.h +44 -0
  249. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler.h +1 -0
  250. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/compaq.h +1 -1
  251. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/nvcc.h +73 -0
  252. data/src/cxx_supportlib/vendor-modified/boost/predef/detail/endian_compat.h +3 -1
  253. data/src/cxx_supportlib/vendor-modified/boost/predef/language.h +1 -0
  254. data/src/cxx_supportlib/vendor-modified/boost/predef/language/cuda.h +52 -0
  255. data/src/cxx_supportlib/vendor-modified/boost/predef/make.h +4 -0
  256. data/src/cxx_supportlib/vendor-modified/boost/predef/os/cygwin.h +6 -1
  257. data/src/cxx_supportlib/vendor-modified/boost/predef/other/endian.h +1 -2
  258. data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
  259. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/config/config.hpp +17 -8
  260. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/stringize.hpp +4 -0
  261. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/wstringize.hpp +4 -0
  262. data/src/cxx_supportlib/vendor-modified/boost/random/detail/gray_coded_qrng.hpp +166 -0
  263. data/src/cxx_supportlib/vendor-modified/boost/random/detail/niederreiter_base2_table.hpp +513 -0
  264. data/src/cxx_supportlib/vendor-modified/boost/random/detail/qrng_base.hpp +291 -0
  265. data/src/cxx_supportlib/vendor-modified/boost/random/detail/sobol_table.hpp +4106 -0
  266. data/src/cxx_supportlib/vendor-modified/boost/random/faure.hpp +367 -0
  267. data/src/cxx_supportlib/vendor-modified/boost/random/niederreiter_base2.hpp +360 -0
  268. data/src/cxx_supportlib/vendor-modified/boost/random/sobol.hpp +237 -0
  269. data/src/cxx_supportlib/vendor-modified/boost/range/as_literal.hpp +43 -0
  270. data/src/cxx_supportlib/vendor-modified/boost/range/begin.hpp +13 -5
  271. data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +1 -1
  272. data/src/cxx_supportlib/vendor-modified/boost/range/detail/common.hpp +1 -3
  273. data/src/cxx_supportlib/vendor-modified/boost/range/detail/implementation_help.hpp +2 -2
  274. data/src/cxx_supportlib/vendor-modified/boost/range/distance.hpp +11 -5
  275. data/src/cxx_supportlib/vendor-modified/boost/range/end.hpp +14 -6
  276. data/src/cxx_supportlib/vendor-modified/boost/range/has_range_iterator.hpp +3 -3
  277. data/src/cxx_supportlib/vendor-modified/boost/ratio/config.hpp +6 -2
  278. data/src/cxx_supportlib/vendor-modified/boost/rational.hpp +55 -37
  279. data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +3 -2
  280. data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +11 -1
  281. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex.hpp +7 -1
  282. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +3 -1
  283. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +5 -2
  284. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/fileiter.hpp +0 -3
  285. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/instances.hpp +15 -4
  286. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +1 -2
  287. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_results.hpp +12 -3
  288. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +7 -2
  289. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +7 -3
  290. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +6 -2
  291. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +0 -5
  292. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_iterator.hpp +0 -8
  293. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_raw_buffer.hpp +3 -3
  294. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_split.hpp +3 -1
  295. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_token_iterator.hpp +0 -8
  296. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +12 -11
  297. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +7 -4
  298. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_iterator.hpp +1 -9
  299. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_token_iterator.hpp +2 -10
  300. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +2 -0
  301. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +60 -115
  302. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_counted_base.hpp +3 -3
  303. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +2 -1
  304. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_aix.hpp +2 -1
  305. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_clang.hpp +2 -1
  306. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +2 -1
  307. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp +2 -1
  308. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +2 -1
  309. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +2 -1
  310. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +2 -1
  311. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +2 -1
  312. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +2 -1
  313. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +2 -1
  314. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +2 -1
  315. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +2 -1
  316. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_solaris.hpp +2 -1
  317. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_spin.hpp +2 -1
  318. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp +2 -1
  319. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_sync.hpp +2 -1
  320. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +2 -1
  321. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +3 -3
  322. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/yield_k.hpp +14 -8
  323. data/src/cxx_supportlib/vendor-modified/boost/system/config.hpp +4 -24
  324. data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +57 -0
  325. data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category.hpp +101 -0
  326. data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_interoperability.hpp +141 -0
  327. data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_posix.hpp +132 -0
  328. data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +775 -588
  329. data/src/cxx_supportlib/vendor-modified/boost/system/system_error.hpp +4 -4
  330. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/config.hpp +6 -0
  331. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/move.hpp +13 -6
  332. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/nullary_function.hpp +8 -3
  333. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp +3 -1
  334. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread_safety.hpp +160 -0
  335. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/tss_hooks.hpp +2 -2
  336. data/src/cxx_supportlib/vendor-modified/boost/thread/exceptions.hpp +3 -3
  337. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/basic_thread_pool.hpp +24 -1
  338. data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +10 -1
  339. data/src/cxx_supportlib/vendor-modified/boost/thread/lock_guard.hpp +4 -4
  340. data/src/cxx_supportlib/vendor-modified/boost/thread/lockable_traits.hpp +31 -0
  341. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable.hpp +2 -2
  342. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable_fwd.hpp +2 -2
  343. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/mutex.hpp +8 -53
  344. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/pthread_mutex_scoped_lock.hpp +73 -4
  345. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/recursive_mutex.hpp +6 -6
  346. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/thread_data.hpp +14 -9
  347. data/src/cxx_supportlib/vendor-modified/boost/thread/xtime.hpp +6 -6
  348. data/src/cxx_supportlib/vendor-modified/boost/throw_exception.hpp +9 -8
  349. data/src/cxx_supportlib/vendor-modified/boost/token_functions.hpp +1 -0
  350. data/src/cxx_supportlib/vendor-modified/boost/type_index/stl_type_index.hpp +21 -19
  351. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/common_arithmetic_type.hpp +3 -1
  352. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/config.hpp +9 -0
  353. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/detector.hpp +1 -1
  354. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_postfix_operator.hpp +55 -0
  355. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_prefix_operator.hpp +72 -0
  356. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_03.hpp +108 -0
  357. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_11.hpp +501 -0
  358. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_msvc10_fix.hpp +30 -0
  359. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_likely_lambda.hpp +2 -2
  360. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_03.hpp +117 -0
  361. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp +557 -0
  362. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_rvalue_reference_msvc10_fix.hpp +43 -0
  363. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected.hpp +1 -1
  364. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected_or.hpp +1 -1
  365. data/src/cxx_supportlib/vendor-modified/boost/type_traits/enable_if.hpp +37 -0
  366. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_dereference.hpp +344 -0
  367. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus.hpp +5 -0
  368. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus_assign.hpp +5 -0
  369. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_plus_assign.hpp +5 -0
  370. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_decrement.hpp +21 -0
  371. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_increment.hpp +21 -0
  372. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_decrement.hpp +21 -0
  373. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_increment.hpp +22 -0
  374. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_assign.hpp +1 -1
  375. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_constructor.hpp +2 -1
  376. data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +5 -15
  377. data/src/cxx_supportlib/vendor-modified/boost/type_traits/intrinsics.hpp +16 -6
  378. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complete.hpp +3 -1
  379. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_assignable.hpp +3 -4
  380. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_constructible.hpp +4 -6
  381. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected.hpp +1 -1
  382. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_convertible.hpp +1 -1
  383. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_exact.hpp +1 -1
  384. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_final.hpp +1 -1
  385. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_function.hpp +4 -79
  386. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_member_function_pointer.hpp +3 -97
  387. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_noncopyable.hpp +39 -0
  388. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_assignable.hpp +2 -2
  389. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_constructible.hpp +2 -2
  390. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_rvalue_reference.hpp +4 -0
  391. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_virtual_base_of.hpp +104 -63
  392. data/src/cxx_supportlib/vendor-modified/boost/type_traits/make_void.hpp +1 -1
  393. data/src/cxx_supportlib/vendor-modified/boost/type_traits/nonesuch.hpp +1 -1
  394. data/src/cxx_supportlib/vendor-modified/boost/typeof/constant.hpp +26 -0
  395. data/src/cxx_supportlib/vendor-modified/boost/typeof/dmc/typeof_impl.hpp +4 -4
  396. data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode.hpp +0 -3
  397. data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode_params.hpp +1 -1
  398. data/src/cxx_supportlib/vendor-modified/boost/typeof/int_encoding.hpp +4 -5
  399. data/src/cxx_supportlib/vendor-modified/boost/typeof/modifiers.hpp +5 -5
  400. data/src/cxx_supportlib/vendor-modified/boost/typeof/msvc/typeof_impl.hpp +9 -9
  401. data/src/cxx_supportlib/vendor-modified/boost/typeof/native.hpp +3 -3
  402. data/src/cxx_supportlib/vendor-modified/boost/typeof/pointers_data_members.hpp +2 -2
  403. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions_iterate.hpp +6 -6
  404. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_mem_functions.hpp +1 -1
  405. data/src/cxx_supportlib/vendor-modified/boost/typeof/template_encoding.hpp +4 -4
  406. data/src/cxx_supportlib/vendor-modified/boost/typeof/template_template_param.hpp +2 -2
  407. data/src/cxx_supportlib/vendor-modified/boost/typeof/type_encoding.hpp +2 -2
  408. data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof_impl.hpp +16 -16
  409. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector.hpp +5 -5
  410. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector100.hpp +201 -201
  411. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector150.hpp +301 -301
  412. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector200.hpp +401 -401
  413. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector50.hpp +101 -101
  414. data/src/cxx_supportlib/vendor-modified/boost/utility/detail/minstd_rand.hpp +3 -0
  415. data/src/cxx_supportlib/vendor-modified/boost/utility/string_ref.hpp +2 -0
  416. data/src/cxx_supportlib/vendor-modified/boost/utility/string_view.hpp +26 -6
  417. data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
  418. data/src/helper-scripts/prespawn +1 -0
  419. data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +40 -0
  420. data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +26 -0
  421. data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +48 -0
  422. data/src/nginx_module/Configuration.c +9 -5
  423. data/src/nginx_module/ContentHandler.c +5 -1
  424. data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +15 -0
  425. data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +15 -0
  426. data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +28 -0
  427. data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +6 -0
  428. data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +11 -0
  429. data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c +11 -0
  430. data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c +23 -0
  431. data/src/nginx_module/MainConfig/AutoGeneratedStruct.h +8 -0
  432. data/src/nginx_module/ngx_http_passenger_module.c +2 -0
  433. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/logger.js +0 -0
  434. data/src/ruby_native_extension/extconf.rb +7 -0
  435. data/src/ruby_supportlib/phusion_passenger.rb +7 -7
  436. data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +8 -0
  437. data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +23 -0
  438. data/src/ruby_supportlib/phusion_passenger/constants.rb +1 -0
  439. data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +1 -3
  440. data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +37 -0
  441. data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +1 -1
  442. data/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb +10 -0
  443. data/src/ruby_supportlib/phusion_passenger/request_handler.rb +2 -2
  444. data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +5 -0
  445. data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +11 -0
  446. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +3 -0
  447. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +1 -1
  448. data/src/ruby_supportlib/phusion_passenger/utils/tee_input.rb +6 -0
  449. data/src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb +15 -11
  450. metadata +48 -7
  451. data/src/cxx_supportlib/vendor-modified/boost/call_traits.hpp +0 -20
  452. data/src/cxx_supportlib/vendor-modified/boost/detail/call_traits.hpp +0 -172
  453. data/src/cxx_supportlib/vendor-modified/boost/detail/no_exceptions_support.hpp +0 -17
  454. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.ipp +0 -496
@@ -50,7 +50,7 @@
50
50
  // last known and checked version is 4245:
51
51
  #if (__COMO_VERSION__ > 4245)
52
52
  # if defined(BOOST_ASSERT_CONFIG)
53
- # error "Unknown compiler version - please run the configure tests and report the results"
53
+ # error "boost: Unknown compiler version - please run the configure tests and report the results"
54
54
  # endif
55
55
  #endif
56
56
 
@@ -149,6 +149,10 @@
149
149
  # define BOOST_NO_CXX17_FOLD_EXPRESSIONS
150
150
  #endif
151
151
 
152
+ #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
153
+ # define BOOST_NO_CXX17_IF_CONSTEXPR
154
+ #endif
155
+
152
156
  #ifdef c_plusplus
153
157
  // EDG has "long long" in non-strict mode
154
158
  // However, some libraries have insufficient "long long" support
@@ -1,68 +1,227 @@
1
- // (C) Copyright John Maddock 2011.
2
- // (C) Copyright Cray, Inc. 2013
1
+ // Copyright 2011 John Maddock
2
+ // Copyright 2013, 2017-2018 Cray, Inc.
3
3
  // Use, modification and distribution are subject to the
4
4
  // Boost Software License, Version 1.0. (See accompanying file
5
5
  // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
6
 
7
7
  // See http://www.boost.org for most recent version.
8
8
 
9
- // Greenhills C compiler setup:
9
+ // Cray C++ compiler setup.
10
+ //
11
+ // There are a few parameters that affect the macros defined in this file:
12
+ //
13
+ // - What version of CCE (Cray Compiling Environment) are we running? This
14
+ // comes from the '_RELEASE_MAJOR', '_RELEASE_MINOR', and
15
+ // '_RELEASE_PATCHLEVEL' macros.
16
+ // - What C++ standards conformance level are we using (e.g. '-h
17
+ // std=c++14')? This comes from the '__cplusplus' macro.
18
+ // - Are we using GCC extensions ('-h gnu' or '-h nognu')? If we have '-h
19
+ // gnu' then CCE emulates GCC, and the macros '__GNUC__',
20
+ // '__GNUC_MINOR__', and '__GNUC_PATCHLEVEL__' are defined.
21
+ //
22
+ // This file is organized as follows:
23
+ //
24
+ // - Verify that the combination of parameters listed above is supported.
25
+ // If we have an unsupported combination, we abort with '#error'.
26
+ // - Establish baseline values for all Boost macros.
27
+ // - Apply changes to the baseline macros based on compiler version. These
28
+ // changes are cummulative so each version section only describes the
29
+ // changes since the previous version.
30
+ // - Within each version section, we may also apply changes based on
31
+ // other parameters (i.e. C++ standards conformance level and GCC
32
+ // extensions).
33
+ //
34
+ // To test changes to this file:
35
+ //
36
+ // ```
37
+ // module load cce/8.6.5 # Pick the version you want to test.
38
+ // cd boost/libs/config/test/all
39
+ // b2 -j 8 toolset=cray cxxstd=03 cxxstd=11 cxxstd=14 cxxstd-dialect=gnu linkflags=-lrt
40
+ // ```
41
+ // Note: Using 'cxxstd-dialect=iso' is not supported at this time (the
42
+ // tests run, but many tests fail).
43
+ //
44
+ // Note: 'linkflags=-lrt' is needed in Cray Linux Environment. Otherwise
45
+ // you get an 'undefined reference to clock_gettime' error.
46
+ //
47
+ // Note: If a test '*_fail.cpp' file compiles, but fails to run, then it is
48
+ // reported as a defect. However, this is not actually a defect. This is an
49
+ // area where the test system is somewhat broken. Tests that are failing
50
+ // because of this problem are noted in the comments.
51
+ //
52
+ // Pay attention to the macro definitions for the macros you wish to
53
+ // modify. For example, only macros categorized as compiler macros should
54
+ // appear in this file; platform macros should not appear in this file.
55
+ // Also, some macros have to be defined to specific values; it is not
56
+ // always enough to define or undefine a macro.
57
+ //
58
+ // Macro definitions are available in the source code at:
59
+ //
60
+ // `boost/libs/config/doc/html/boost_config/boost_macro_reference.html`
61
+ //
62
+ // Macro definitions are also available online at:
63
+ //
64
+ // http://www.boost.org/doc/libs/master/libs/config/doc/html/boost_config/boost_macro_reference.html
65
+ //
66
+ // Typically, if you enable a feature, and the tests pass, then you have
67
+ // nothing to worry about. However, it's sometimes hard to figure out if a
68
+ // disabled feature needs to stay disabled. To get a list of disabled
69
+ // features, run 'b2' in 'boost/libs/config/checks'. These are the macros
70
+ // you should pay attention to (in addition to macros that cause test
71
+ // failures).
10
72
 
11
- #define BOOST_COMPILER "Cray C version " BOOST_STRINGIZE(_RELEASE)
73
+ ////
74
+ //// Front matter
75
+ ////
12
76
 
13
- #if _RELEASE_MAJOR < 8
14
- # error "Boost is not configured for Cray compilers prior to version 8, please try the configure script."
77
+ // In a developer build of the Cray compiler (i.e. a compiler built by a
78
+ // Cray employee), the release patch level is reported as "x". This gives
79
+ // versions that look like e.g. "8.6.x".
80
+ //
81
+ // To accomplish this, the the Cray compiler preprocessor inserts:
82
+ //
83
+ // #define _RELEASE_PATCHLEVEL x
84
+ //
85
+ // If we are using a developer build of the compiler, we want to use the
86
+ // configuration macros for the most recent patch level of the release. To
87
+ // accomplish this, we'll pretend that _RELEASE_PATCHLEVEL is 99.
88
+ //
89
+ // However, it's difficult to detect if _RELEASE_PATCHLEVEL is x. We must
90
+ // consider that the x will be expanded if x is defined as a macro
91
+ // elsewhere. For example, imagine if someone put "-D x=3" on the command
92
+ // line, and _RELEASE_PATCHLEVEL is x. Then _RELEASE_PATCHLEVEL would
93
+ // expand to 3, and we could not distinguish it from an actual
94
+ // _RELEASE_PATCHLEVEL of 3. This problem only affects developer builds; in
95
+ // production builds, _RELEASE_PATCHLEVEL is always an integer.
96
+ //
97
+ // IMPORTANT: In developer builds, if x is defined as a macro, you will get
98
+ // an incorrect configuration. The behavior in this case is undefined.
99
+ //
100
+ // Even if x is not defined, we have to use some trickery to detect if
101
+ // _RELEASE_PATCHLEVEL is x. First we define BOOST_CRAY_x to some arbitrary
102
+ // magic value, 9867657. Then we use BOOST_CRAY_APPEND to append the
103
+ // expanded value of _RELEASE_PATCHLEVEL to the string "BOOST_CRAY_".
104
+ //
105
+ // - If _RELEASE_PATCHLEVEL is undefined, we get "BOOST_CRAY_".
106
+ // - If _RELEASE_PATCHLEVEL is 5, we get "BOOST_CRAY_5".
107
+ // - If _RELEASE_PATCHLEVEL is x (and x is not defined) we get
108
+ // "BOOST_CRAY_x":
109
+ //
110
+ // Then we check if BOOST_CRAY_x is equal to the output of
111
+ // BOOST_CRAY_APPEND. In other words, the output of BOOST_CRAY_APPEND is
112
+ // treated as a macro name, and expanded again. If we can safely assume
113
+ // that BOOST_CRAY_ is not a macro defined as our magic number, and
114
+ // BOOST_CRAY_5 is not a macro defined as our magic number, then the only
115
+ // way the equality test can pass is if _RELEASE_PATCHLEVEL expands to x.
116
+ //
117
+ // So, that is how we detect if we are using a developer build of the Cray
118
+ // compiler.
119
+
120
+ #define BOOST_CRAY_x 9867657 // Arbitrary number
121
+ #define BOOST_CRAY_APPEND(MACRO) BOOST_CRAY_APPEND_INTERNAL(MACRO)
122
+ #define BOOST_CRAY_APPEND_INTERNAL(MACRO) BOOST_CRAY_##MACRO
123
+
124
+ #if BOOST_CRAY_x == BOOST_CRAY_APPEND(_RELEASE_PATCHLEVEL)
125
+
126
+ // This is a developer build.
127
+ //
128
+ // - _RELEASE_PATCHLEVEL is defined as x, and x is not defined as a macro.
129
+
130
+ // Pretend _RELEASE_PATCHLEVEL is 99, so we get the configuration for the
131
+ // most recent patch level in this release.
132
+
133
+ #define BOOST_CRAY_VERSION (_RELEASE_MAJOR * 10000 + _RELEASE_MINOR * 100 + 99)
134
+
135
+ #else
136
+
137
+ // This is a production build.
138
+ //
139
+ // _RELEASE_PATCHLEVEL is not defined as x, or x is defined as a macro.
140
+
141
+ #define BOOST_CRAY_VERSION (_RELEASE_MAJOR * 10000 + _RELEASE_MINOR * 100 + _RELEASE_PATCHLEVEL)
142
+
143
+ #endif // BOOST_CRAY_x == BOOST_CRAY_APPEND(_RELEASE_PATCHLEVEL)
144
+
145
+ #undef BOOST_CRAY_APPEND_INTERNAL
146
+ #undef BOOST_CRAY_APPEND
147
+ #undef BOOST_CRAY_x
148
+
149
+
150
+ #ifdef __GNUC__
151
+ # define BOOST_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
15
152
  #endif
16
153
 
154
+ #ifndef BOOST_COMPILER
155
+ # define BOOST_COMPILER "Cray C++ version " BOOST_STRINGIZE(_RELEASE_MAJOR) "." BOOST_STRINGIZE(_RELEASE_MINOR) "." BOOST_STRINGIZE(_RELEASE_PATCHLEVEL)
156
+ #endif
157
+
158
+ // Since the Cray compiler defines '__GNUC__', we have to emulate some
159
+ // additional GCC macros in order to make everything work.
17
160
  //
18
- // Check this is a recent EDG based compiler, otherwise we don't support it here:
19
- //
20
- #ifndef __EDG_VERSION__
161
+ // FIXME: Perhaps Cray should fix the compiler to define these additional
162
+ // macros for GCC emulation?
163
+
164
+ #if __cplusplus >= 201103L && defined(__GNUC__) && !defined(__GXX_EXPERIMENTAL_CXX0X__)
165
+ # define __GXX_EXPERIMENTAL_CXX0X__ 1
166
+ #endif
167
+
168
+ ////
169
+ //// Parameter validation
170
+ ////
171
+
172
+ // FIXME: Do we really need to support compilers before 8.5? Do they pass
173
+ // the Boost.Config tests?
174
+
175
+ #if BOOST_CRAY_VERSION < 80000
176
+ # error "Boost is not configured for Cray compilers prior to version 8, please try the configure script."
177
+ #endif
178
+
179
+ // We only support recent EDG based compilers.
180
+
181
+ #ifndef __EDG__
21
182
  # error "Unsupported Cray compiler, please try running the configure script."
22
183
  #endif
23
184
 
24
- #if _RELEASE_MINOR < 5 || __cplusplus < 201100
185
+ ////
186
+ //// Baseline values
187
+ ////
188
+
25
189
  #include <boost/config/compiler/common_edg.hpp>
26
190
 
27
- //
28
- //
29
- #define BOOST_NO_CXX11_STATIC_ASSERT
191
+ #define BOOST_HAS_NRVO
192
+ #define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
30
193
  #define BOOST_NO_CXX11_AUTO_DECLARATIONS
31
194
  #define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
32
- #define BOOST_HAS_NRVO
33
- #define BOOST_NO_CXX11_VARIADIC_MACROS
34
- #define BOOST_NO_CXX11_VARIADIC_TEMPLATES
35
- #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
36
- #define BOOST_NO_CXX11_UNICODE_LITERALS
37
- #define BOOST_NO_TWO_PHASE_NAME_LOOKUP
38
- #define BOOST_HAS_NRVO
39
- #define BOOST_NO_CXX11_TEMPLATE_ALIASES
40
- #define BOOST_NO_CXX11_STATIC_ASSERT
41
- #define BOOST_NO_SFINAE_EXPR
42
- #define BOOST_NO_CXX11_SFINAE_EXPR
43
- #define BOOST_NO_CXX11_SCOPED_ENUMS
44
- #define BOOST_NO_CXX11_RVALUE_REFERENCES
45
- #define BOOST_NO_CXX11_RANGE_BASED_FOR
46
- #define BOOST_NO_CXX11_RAW_LITERALS
47
- #define BOOST_NO_CXX11_NULLPTR
48
- #define BOOST_NO_CXX11_NOEXCEPT
195
+ #define BOOST_NO_CXX11_CHAR16_T
196
+ #define BOOST_NO_CXX11_CHAR32_T
197
+ #define BOOST_NO_CXX11_CONSTEXPR
198
+ #define BOOST_NO_CXX11_DECLTYPE
199
+ #define BOOST_NO_CXX11_DECLTYPE_N3276
200
+ #define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
201
+ #define BOOST_NO_CXX11_DELETED_FUNCTIONS
202
+ #define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
203
+ #define BOOST_NO_CXX11_FINAL
204
+ #define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
49
205
  #define BOOST_NO_CXX11_LAMBDAS
50
206
  #define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
51
- #define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
52
- #define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
53
- #define BOOST_NO_CXX11_DELETED_FUNCTIONS
54
- #define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
55
- #define BOOST_NO_CXX11_DECLTYPE_N3276
56
- #define BOOST_NO_CXX11_DECLTYPE
57
- #define BOOST_NO_CXX11_CONSTEXPR
58
- #define BOOST_NO_CXX11_USER_DEFINED_LITERALS
59
- #define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
60
- #define BOOST_NO_CXX11_CHAR32_T
61
- #define BOOST_NO_CXX11_CHAR16_T
207
+ #define BOOST_NO_CXX11_NOEXCEPT
208
+ #define BOOST_NO_CXX11_NULLPTR
209
+ #define BOOST_NO_CXX11_RANGE_BASED_FOR
210
+ #define BOOST_NO_CXX11_RAW_LITERALS
62
211
  #define BOOST_NO_CXX11_REF_QUALIFIERS
63
- #define BOOST_NO_CXX11_FINAL
212
+ #define BOOST_NO_CXX11_RVALUE_REFERENCES
213
+ #define BOOST_NO_CXX11_SCOPED_ENUMS
214
+ #define BOOST_NO_CXX11_SFINAE_EXPR
215
+ #define BOOST_NO_CXX11_STATIC_ASSERT
216
+ #define BOOST_NO_CXX11_TEMPLATE_ALIASES
64
217
  #define BOOST_NO_CXX11_THREAD_LOCAL
65
-
218
+ #define BOOST_NO_CXX11_UNICODE_LITERALS
219
+ #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
220
+ #define BOOST_NO_CXX11_USER_DEFINED_LITERALS
221
+ #define BOOST_NO_CXX11_VARIADIC_MACROS
222
+ #define BOOST_NO_CXX11_VARIADIC_TEMPLATES
223
+ #define BOOST_NO_SFINAE_EXPR
224
+ #define BOOST_NO_TWO_PHASE_NAME_LOOKUP
66
225
 
67
226
  //#define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
68
227
  #define BOOST_MATH_DISABLE_STD_FPCLASSIFY
@@ -71,15 +230,15 @@
71
230
  #define BOOST_SP_USE_PTHREADS
72
231
  #define BOOST_AC_USE_PTHREADS
73
232
 
74
- /* everything that follows is working around what are thought to be
75
- * compiler shortcomings. Revist all of these regularly.
76
- */
233
+ //
234
+ // Everything that follows is working around what are thought to be
235
+ // compiler shortcomings. Revist all of these regularly.
236
+ //
77
237
 
78
238
  //#define BOOST_USE_ENUM_STATIC_ASSERT
79
239
  //#define BOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS //(this may be implied by the previous #define
80
240
 
81
- // These constants should be provided by the
82
- // compiler, at least when -hgnu is asserted on the command line.
241
+ // These constants should be provided by the compiler.
83
242
 
84
243
  #ifndef __ATOMIC_RELAXED
85
244
  #define __ATOMIC_RELAXED 0
@@ -90,7 +249,55 @@
90
249
  #define __ATOMIC_SEQ_CST 5
91
250
  #endif
92
251
 
93
- #else /* _RELEASE_MINOR */
252
+ ////
253
+ //// Version changes
254
+ ////
255
+
256
+ //
257
+ // 8.5.0
258
+ //
259
+
260
+ #if BOOST_CRAY_VERSION >= 80500
261
+
262
+ #if __cplusplus >= 201103L
263
+
264
+ #undef BOOST_HAS_NRVO
265
+ #undef BOOST_NO_COMPLETE_VALUE_INITIALIZATION
266
+ #undef BOOST_NO_CXX11_AUTO_DECLARATIONS
267
+ #undef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
268
+ #undef BOOST_NO_CXX11_CHAR16_T
269
+ #undef BOOST_NO_CXX11_CHAR32_T
270
+ #undef BOOST_NO_CXX11_CONSTEXPR
271
+ #undef BOOST_NO_CXX11_DECLTYPE
272
+ #undef BOOST_NO_CXX11_DECLTYPE_N3276
273
+ #undef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
274
+ #undef BOOST_NO_CXX11_DELETED_FUNCTIONS
275
+ #undef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
276
+ #undef BOOST_NO_CXX11_FINAL
277
+ #undef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
278
+ #undef BOOST_NO_CXX11_LAMBDAS
279
+ #undef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
280
+ #undef BOOST_NO_CXX11_NOEXCEPT
281
+ #undef BOOST_NO_CXX11_NULLPTR
282
+ #undef BOOST_NO_CXX11_RANGE_BASED_FOR
283
+ #undef BOOST_NO_CXX11_RAW_LITERALS
284
+ #undef BOOST_NO_CXX11_REF_QUALIFIERS
285
+ #undef BOOST_NO_CXX11_RVALUE_REFERENCES
286
+ #undef BOOST_NO_CXX11_SCOPED_ENUMS
287
+ #undef BOOST_NO_CXX11_SFINAE_EXPR
288
+ #undef BOOST_NO_CXX11_STATIC_ASSERT
289
+ #undef BOOST_NO_CXX11_TEMPLATE_ALIASES
290
+ #undef BOOST_NO_CXX11_THREAD_LOCAL
291
+ #undef BOOST_NO_CXX11_UNICODE_LITERALS
292
+ #undef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
293
+ #undef BOOST_NO_CXX11_USER_DEFINED_LITERALS
294
+ #undef BOOST_NO_CXX11_VARIADIC_MACROS
295
+ #undef BOOST_NO_CXX11_VARIADIC_TEMPLATES
296
+ #undef BOOST_NO_SFINAE_EXPR
297
+ #undef BOOST_NO_TWO_PHASE_NAME_LOOKUP
298
+ #undef BOOST_MATH_DISABLE_STD_FPCLASSIFY
299
+ #undef BOOST_SP_USE_PTHREADS
300
+ #undef BOOST_AC_USE_PTHREADS
94
301
 
95
302
  #define BOOST_HAS_VARIADIC_TMPL
96
303
  #define BOOST_HAS_UNISTD_H
@@ -114,11 +321,120 @@
114
321
  #define BOOST_HAS_LONG_LONG
115
322
  #define BOOST_HAS_FLOAT128
116
323
 
117
- #if __cplusplus < 201400
324
+ #if __cplusplus < 201402L
118
325
  #define BOOST_NO_CXX11_DECLTYPE_N3276
119
- #endif /* __cpluspus */
326
+ #endif // __cplusplus < 201402L
327
+
328
+ #endif // __cplusplus >= 201103L
329
+
330
+ #endif // BOOST_CRAY_VERSION >= 80500
331
+
332
+ //
333
+ // 8.6.4
334
+ // (versions prior to 8.6.5 do not define _RELEASE_PATCHLEVEL)
335
+ //
336
+
337
+ #if BOOST_CRAY_VERSION >= 80600
338
+
339
+ #if __cplusplus >= 199711L
340
+ #define BOOST_HAS_FLOAT128
341
+ #define BOOST_HAS_PTHREAD_YIELD // This is a platform macro, but it improves test results.
342
+ #define BOOST_NO_COMPLETE_VALUE_INITIALIZATION // This is correct. Test compiles, but fails to run.
343
+ #undef BOOST_NO_CXX11_CHAR16_T
344
+ #undef BOOST_NO_CXX11_CHAR32_T
345
+ #undef BOOST_NO_CXX11_INLINE_NAMESPACES
346
+ #undef BOOST_NO_CXX11_FINAL
347
+ #undef BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
348
+ #undef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
349
+ #define BOOST_NO_CXX11_SFINAE_EXPR // This is correct, even though '*_fail.cpp' test fails.
350
+ #undef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
351
+ #undef BOOST_NO_CXX11_VARIADIC_MACROS
352
+ #undef BOOST_NO_CXX11_VARIADIC_TEMPLATES
353
+ // 'BOOST_NO_DEDUCED_TYPENAME' test is broken. The test files are enabled /
354
+ // disabled with an '#ifdef BOOST_DEDUCED_TYPENAME'. However,
355
+ // 'boost/libs/config/include/boost/config/detail/suffix.hpp' ensures that
356
+ // 'BOOST_DEDUCED_TYPENAME' is always defined (the value it is defined as
357
+ // depends on 'BOOST_NO_DEDUCED_TYPENAME'). So, modifying
358
+ // 'BOOST_NO_DEDUCED_TYPENAME' has no effect on which tests are run.
359
+ //
360
+ // The 'no_ded_typename_pass.cpp' test should always compile and run
361
+ // successfully, because 'BOOST_DEDUCED_TYPENAME' must always have an
362
+ // appropriate value (it's not just something that you turn on or off).
363
+ // Therefore, if you wish to test changes to 'BOOST_NO_DEDUCED_TYPENAME',
364
+ // you have to modify 'no_ded_typename_pass.cpp' to unconditionally include
365
+ // 'boost_no_ded_typename.ipp'.
366
+ #undef BOOST_NO_DEDUCED_TYPENAME // This is correct. Test is broken.
367
+ #undef BOOST_NO_SFINAE_EXPR
368
+ #undef BOOST_NO_TWO_PHASE_NAME_LOOKUP
369
+ #endif // __cplusplus >= 199711L
370
+
371
+ #if __cplusplus >= 201103L
372
+ #undef BOOST_NO_CXX11_ALIGNAS
373
+ #undef BOOST_NO_CXX11_DECLTYPE_N3276
374
+ #define BOOST_NO_CXX11_HDR_ATOMIC
375
+ #undef BOOST_NO_CXX11_HDR_FUNCTIONAL
376
+ #define BOOST_NO_CXX11_HDR_REGEX // This is correct. Test compiles, but fails to run.
377
+ #undef BOOST_NO_CXX11_SFINAE_EXPR
378
+ #undef BOOST_NO_CXX11_SMART_PTR
379
+ #undef BOOST_NO_CXX11_TRAILING_RESULT_TYPES
380
+ #endif // __cplusplus >= 201103L
381
+
382
+ #if __cplusplus >= 201402L
383
+ #undef BOOST_NO_CXX14_CONSTEXPR
384
+ #define BOOST_NO_CXX14_DIGIT_SEPARATORS
385
+ #endif // __cplusplus == 201402L
386
+
387
+ #endif // BOOST_CRAY_VERSION >= 80600
388
+
389
+ //
390
+ // 8.6.5
391
+ // (no change from 8.6.4)
392
+ //
393
+
394
+ //
395
+ // 8.7.0
396
+ //
397
+
398
+ #if BOOST_CRAY_VERSION >= 80700
399
+
400
+ #if __cplusplus >= 199711L
401
+ #endif // __cplusplus >= 199711L
402
+
403
+ #if __cplusplus >= 201103L
404
+ #undef BOOST_NO_CXX11_HDR_ATOMIC
405
+ #undef BOOST_NO_CXX11_HDR_REGEX
406
+ #endif // __cplusplus >= 201103L
407
+
408
+ #if __cplusplus >= 201402L
409
+ #endif // __cplusplus == 201402L
410
+
411
+ #endif // BOOST_CRAY_VERSION >= 80700
412
+
413
+ //
414
+ // Next release
415
+ //
416
+
417
+ #if BOOST_CRAY_VERSION > 80799
418
+
419
+ #if __cplusplus >= 199711L
420
+ #endif // __cplusplus >= 199711L
421
+
422
+ #if __cplusplus >= 201103L
423
+ #endif // __cplusplus >= 201103L
424
+
425
+ #if __cplusplus >= 201402L
426
+ #endif // __cplusplus == 201402L
120
427
 
121
- #endif /* _RELEASE_MINOR */
428
+ #endif // BOOST_CRAY_VERSION > 80799
122
429
 
430
+ ////
431
+ //// Remove temporary macros
432
+ ////
123
433
 
434
+ // I've commented out some '#undef' statements to signify that we purposely
435
+ // want to keep certain macros.
124
436
 
437
+ //#undef __GXX_EXPERIMENTAL_CXX0X__
438
+ //#undef BOOST_COMPILER
439
+ #undef BOOST_GCC_VERSION
440
+ #undef BOOST_CRAY_VERSION