passenger 6.0.2 → 6.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (419) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +60 -19
  3. data/CONTRIBUTORS +2 -0
  4. data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +56 -3
  5. data/dev/copy_boost_headers +1 -0
  6. data/package.json +1 -1
  7. data/resources/templates/standalone/http.erb +1 -0
  8. data/src/agent/Core/Config.h +13 -1
  9. data/src/agent/Core/Controller/Config.h +1 -1
  10. data/src/agent/Core/CoreMain.cpp +1 -0
  11. data/src/agent/Core/SpawningKit/Context.h +1 -0
  12. data/src/agent/Core/SpawningKit/Handshake/Prepare.h +1 -1
  13. data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +5 -2
  14. data/src/agent/Watchdog/Config.h +14 -1
  15. data/src/agent/Watchdog/WatchdogMain.cpp +7 -0
  16. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +5 -0
  17. data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +5 -0
  18. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +15 -0
  19. data/src/apache2_module/Hooks.cpp +1 -0
  20. data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp +11 -0
  21. data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +13 -0
  22. data/src/cxx_supportlib/Constants.h +1 -1
  23. data/src/cxx_supportlib/LoggingKit/Config.h +1 -0
  24. data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParser.h +1 -1
  25. data/src/cxx_supportlib/SystemTools/ContainerHelpers.h +2 -2
  26. data/src/cxx_supportlib/WebSocketCommandReverseServer.h +11 -7
  27. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/finder.hpp +0 -4
  28. data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +46 -37
  29. data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +16 -15
  30. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +45 -26
  31. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/future.hpp +33 -0
  32. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +1 -1
  33. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +38 -14
  34. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +2 -0
  35. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +1 -1
  36. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +3 -1
  37. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +0 -1
  38. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +6 -1
  39. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +6 -4
  40. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_results.hpp +4 -4
  41. data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +3 -3
  42. data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +4 -4
  43. data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +4 -4
  44. data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +8 -6
  45. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_base.hpp +17 -0
  46. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +50 -5
  47. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +2 -1
  48. data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +1 -1
  49. data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +3 -2
  50. data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +1 -1
  51. data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +4 -3
  52. data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +5 -3
  53. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86_dcas.hpp +13 -12
  54. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/chrono.hpp +10 -10
  55. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/process_cpu_clocks.hpp +34 -34
  56. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/thread_clock.hpp +4 -4
  57. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/chrono.hpp +8 -8
  58. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/process_cpu_clocks.hpp +27 -27
  59. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/thread_clock.hpp +4 -4
  60. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/system.hpp +5 -4
  61. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/time_point_io.hpp +1 -1
  62. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer.hpp +3 -3
  63. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/allocators.hpp +89 -0
  64. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/base.hpp +83 -74
  65. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/details.hpp +21 -33
  66. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/space_optimized.hpp +5 -5
  67. data/src/cxx_supportlib/vendor-modified/boost/concept/assert.hpp +1 -1
  68. data/src/cxx_supportlib/vendor-modified/boost/concept/detail/general.hpp +3 -3
  69. data/src/cxx_supportlib/vendor-modified/boost/concept/detail/has_constraints.hpp +3 -3
  70. data/src/cxx_supportlib/vendor-modified/boost/concept/usage.hpp +1 -1
  71. data/src/cxx_supportlib/vendor-modified/boost/concept_check.hpp +19 -19
  72. data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +8 -0
  73. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +5 -2
  74. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +5 -1
  75. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +6 -2
  76. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/comeau.hpp +1 -1
  77. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +4 -0
  78. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/cray.hpp +368 -52
  79. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +4 -1
  80. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +6 -3
  81. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +3 -0
  82. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/greenhills.hpp +1 -1
  83. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/hp_acc.hpp +1 -1
  84. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/intel.hpp +6 -1
  85. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/kai.hpp +1 -1
  86. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +4 -1
  87. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +4 -1
  88. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/nvcc.hpp +3 -3
  89. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +3 -0
  90. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +3 -0
  91. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +4 -1
  92. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +9 -4
  93. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +4 -0
  94. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp_zos.hpp +1 -0
  95. data/src/cxx_supportlib/vendor-modified/boost/config/detail/select_compiler_config.hpp +1 -2
  96. data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +13 -0
  97. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +2 -2
  98. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +14 -4
  99. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +4 -4
  100. data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +262 -2
  101. data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +4 -3
  102. data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +1 -1
  103. data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +7 -0
  104. data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +22 -19
  105. data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +833 -459
  106. data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +24 -6
  107. data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocator_version_traits.hpp +2 -1
  108. data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +61 -5
  109. data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +33 -8
  110. data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +132 -41
  111. data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterator.hpp +16 -0
  112. data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +54 -0
  113. data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +58 -0
  114. data/src/cxx_supportlib/vendor-modified/boost/container/detail/multiallocation_chain.hpp +28 -23
  115. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +167 -115
  116. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +55 -0
  117. data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +3 -0
  118. data/src/cxx_supportlib/vendor-modified/boost/container/detail/thread_mutex.hpp +181 -0
  119. data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +167 -29
  120. data/src/cxx_supportlib/vendor-modified/boost/container/detail/type_traits.hpp +2 -0
  121. data/src/cxx_supportlib/vendor-modified/boost/container/detail/variadic_templates_tools.hpp +1 -1
  122. data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +18 -0
  123. data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +389 -3
  124. data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +262 -0
  125. data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +52 -8
  126. data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +364 -0
  127. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/monotonic_buffer_resource.hpp +4 -2
  128. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +1 -1
  129. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/synchronized_pool_resource.hpp +3 -2
  130. data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +286 -6
  131. data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +56 -8
  132. data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +43 -6
  133. data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +100 -31
  134. data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +2 -1
  135. data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +126 -69
  136. data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +75 -51
  137. data/src/cxx_supportlib/vendor-modified/boost/core/empty_value.hpp +136 -0
  138. data/src/cxx_supportlib/vendor-modified/boost/core/exchange.hpp +49 -0
  139. data/src/cxx_supportlib/vendor-modified/boost/core/explicit_operator_bool.hpp +9 -0
  140. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +101 -130
  141. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test_trait.hpp +2 -2
  142. data/src/cxx_supportlib/vendor-modified/boost/core/noncopyable.hpp +16 -1
  143. data/src/cxx_supportlib/vendor-modified/boost/core/quick_exit.hpp +59 -0
  144. data/src/cxx_supportlib/vendor-modified/boost/core/ref.hpp +2 -1
  145. data/src/cxx_supportlib/vendor-modified/boost/core/swap.hpp +9 -2
  146. data/src/cxx_supportlib/vendor-modified/boost/core/typeinfo.hpp +26 -10
  147. data/src/cxx_supportlib/vendor-modified/boost/date_time/compiler_config.hpp +5 -0
  148. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_duration.hpp +3 -3
  149. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_duration.hpp +1 -1
  150. data/src/cxx_supportlib/vendor-modified/boost/detail/basic_pointerbuf.hpp +1 -1
  151. data/src/cxx_supportlib/vendor-modified/boost/detail/indirect_traits.hpp +38 -47
  152. data/src/cxx_supportlib/vendor-modified/boost/detail/lcast_precision.hpp +5 -5
  153. data/src/cxx_supportlib/vendor-modified/boost/detail/reference_content.hpp +7 -7
  154. data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +62 -58
  155. data/src/cxx_supportlib/vendor-modified/boost/function.hpp +1 -1
  156. data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +29 -29
  157. data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +38 -40
  158. data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_rt.hpp +4 -4
  159. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +44 -44
  160. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +39 -39
  161. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +15 -15
  162. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +7 -7
  163. data/src/cxx_supportlib/vendor-modified/boost/intrusive/derivation_value_traits.hpp +1 -1
  164. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +14 -14
  165. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/avltree_node.hpp +9 -9
  166. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +7 -7
  167. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_iterator.hpp +1 -1
  168. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_node.hpp +2 -2
  169. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_cloner_disposer.hpp +2 -2
  170. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/rbtree_node.hpp +6 -6
  171. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/simple_disposers.hpp +1 -1
  172. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_iterator.hpp +1 -1
  173. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_node.hpp +1 -1
  174. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_iterator.hpp +1 -1
  175. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_node.hpp +3 -3
  176. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_value_compare.hpp +33 -14
  177. data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +12 -12
  178. data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +4 -4
  179. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_plus_bits.hpp +3 -0
  180. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +39 -39
  181. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +61 -61
  182. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +4 -4
  183. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree_algorithms.hpp +66 -66
  184. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +54 -54
  185. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +6 -2
  186. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +3 -3
  187. data/src/cxx_supportlib/vendor-modified/boost/iterator/advance.hpp +1 -1
  188. data/src/cxx_supportlib/vendor-modified/boost/iterator/distance.hpp +65 -0
  189. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +1 -1
  190. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +1 -1
  191. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +23 -23
  192. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +4 -4
  193. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +13 -13
  194. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +1 -1
  195. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +5 -4
  196. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +1 -1
  197. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +5 -5
  198. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +5 -2
  199. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +18 -13
  200. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/cregex.cpp +4 -4
  201. data/src/cxx_supportlib/vendor-modified/boost/libs/system/src/error_code.cpp +16 -5
  202. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/future.cpp +1 -1
  203. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +14 -8
  204. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/tss_null.cpp +2 -2
  205. data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/detail/fp_traits.hpp +13 -13
  206. data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/math_fwd.hpp +27 -0
  207. data/src/cxx_supportlib/vendor-modified/boost/math/tools/config.hpp +1 -1
  208. data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +29 -6
  209. data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +12 -3
  210. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +1 -1
  211. data/src/cxx_supportlib/vendor-modified/boost/move/algo/move.hpp +1 -1
  212. data/src/cxx_supportlib/vendor-modified/boost/move/algorithm.hpp +1 -1
  213. data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +8 -8
  214. data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +2 -0
  215. data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +3 -3
  216. data/src/cxx_supportlib/vendor-modified/boost/mpl/assert.hpp +23 -3
  217. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/experimental_traits.hpp +9 -3
  218. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +10 -11
  219. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +20 -1
  220. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +3 -3
  221. data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +211 -101
  222. data/src/cxx_supportlib/vendor-modified/boost/parameter/python.hpp +5 -6
  223. data/src/cxx_supportlib/vendor-modified/boost/pool/detail/mutex.hpp +119 -25
  224. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture.h +1 -0
  225. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/arm.h +5 -0
  226. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ptx.h +44 -0
  227. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler.h +1 -0
  228. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/compaq.h +1 -1
  229. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/nvcc.h +73 -0
  230. data/src/cxx_supportlib/vendor-modified/boost/predef/detail/endian_compat.h +3 -1
  231. data/src/cxx_supportlib/vendor-modified/boost/predef/language.h +1 -0
  232. data/src/cxx_supportlib/vendor-modified/boost/predef/language/cuda.h +52 -0
  233. data/src/cxx_supportlib/vendor-modified/boost/predef/make.h +4 -0
  234. data/src/cxx_supportlib/vendor-modified/boost/predef/os/cygwin.h +6 -1
  235. data/src/cxx_supportlib/vendor-modified/boost/predef/other/endian.h +1 -2
  236. data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
  237. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/config/config.hpp +17 -8
  238. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/stringize.hpp +4 -0
  239. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/wstringize.hpp +4 -0
  240. data/src/cxx_supportlib/vendor-modified/boost/random/detail/gray_coded_qrng.hpp +166 -0
  241. data/src/cxx_supportlib/vendor-modified/boost/random/detail/niederreiter_base2_table.hpp +513 -0
  242. data/src/cxx_supportlib/vendor-modified/boost/random/detail/qrng_base.hpp +291 -0
  243. data/src/cxx_supportlib/vendor-modified/boost/random/detail/sobol_table.hpp +4106 -0
  244. data/src/cxx_supportlib/vendor-modified/boost/random/faure.hpp +367 -0
  245. data/src/cxx_supportlib/vendor-modified/boost/random/niederreiter_base2.hpp +360 -0
  246. data/src/cxx_supportlib/vendor-modified/boost/random/sobol.hpp +237 -0
  247. data/src/cxx_supportlib/vendor-modified/boost/range/as_literal.hpp +43 -0
  248. data/src/cxx_supportlib/vendor-modified/boost/range/begin.hpp +13 -5
  249. data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +1 -1
  250. data/src/cxx_supportlib/vendor-modified/boost/range/detail/common.hpp +1 -3
  251. data/src/cxx_supportlib/vendor-modified/boost/range/detail/implementation_help.hpp +2 -2
  252. data/src/cxx_supportlib/vendor-modified/boost/range/distance.hpp +11 -5
  253. data/src/cxx_supportlib/vendor-modified/boost/range/end.hpp +14 -6
  254. data/src/cxx_supportlib/vendor-modified/boost/range/has_range_iterator.hpp +3 -3
  255. data/src/cxx_supportlib/vendor-modified/boost/ratio/config.hpp +6 -2
  256. data/src/cxx_supportlib/vendor-modified/boost/rational.hpp +55 -37
  257. data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +3 -2
  258. data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +11 -1
  259. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex.hpp +7 -1
  260. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +3 -1
  261. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +5 -2
  262. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/fileiter.hpp +0 -3
  263. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/instances.hpp +15 -4
  264. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +1 -2
  265. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_results.hpp +12 -3
  266. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +7 -2
  267. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +7 -3
  268. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +6 -2
  269. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +0 -5
  270. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_iterator.hpp +0 -8
  271. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_raw_buffer.hpp +3 -3
  272. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_split.hpp +3 -1
  273. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_token_iterator.hpp +0 -8
  274. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +12 -11
  275. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +7 -4
  276. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_iterator.hpp +1 -9
  277. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_token_iterator.hpp +2 -10
  278. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +2 -0
  279. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +60 -115
  280. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_counted_base.hpp +3 -3
  281. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +2 -1
  282. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_aix.hpp +2 -1
  283. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_clang.hpp +2 -1
  284. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +2 -1
  285. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp +2 -1
  286. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +2 -1
  287. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +2 -1
  288. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +2 -1
  289. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +2 -1
  290. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +2 -1
  291. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +2 -1
  292. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +2 -1
  293. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +2 -1
  294. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_solaris.hpp +2 -1
  295. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_spin.hpp +2 -1
  296. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp +2 -1
  297. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_sync.hpp +2 -1
  298. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +2 -1
  299. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +3 -3
  300. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/yield_k.hpp +14 -8
  301. data/src/cxx_supportlib/vendor-modified/boost/system/config.hpp +4 -24
  302. data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +57 -0
  303. data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category.hpp +101 -0
  304. data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_interoperability.hpp +141 -0
  305. data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_posix.hpp +132 -0
  306. data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +775 -588
  307. data/src/cxx_supportlib/vendor-modified/boost/system/system_error.hpp +4 -4
  308. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/config.hpp +6 -0
  309. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/move.hpp +13 -6
  310. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/nullary_function.hpp +8 -3
  311. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp +3 -1
  312. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread_safety.hpp +160 -0
  313. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/tss_hooks.hpp +2 -2
  314. data/src/cxx_supportlib/vendor-modified/boost/thread/exceptions.hpp +3 -3
  315. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/basic_thread_pool.hpp +24 -1
  316. data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +10 -1
  317. data/src/cxx_supportlib/vendor-modified/boost/thread/lock_guard.hpp +4 -4
  318. data/src/cxx_supportlib/vendor-modified/boost/thread/lockable_traits.hpp +31 -0
  319. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable.hpp +2 -2
  320. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable_fwd.hpp +2 -2
  321. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/mutex.hpp +8 -53
  322. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/pthread_mutex_scoped_lock.hpp +73 -4
  323. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/recursive_mutex.hpp +6 -6
  324. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/thread_data.hpp +14 -9
  325. data/src/cxx_supportlib/vendor-modified/boost/thread/xtime.hpp +6 -6
  326. data/src/cxx_supportlib/vendor-modified/boost/throw_exception.hpp +9 -8
  327. data/src/cxx_supportlib/vendor-modified/boost/token_functions.hpp +1 -0
  328. data/src/cxx_supportlib/vendor-modified/boost/type_index/stl_type_index.hpp +21 -19
  329. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/common_arithmetic_type.hpp +3 -1
  330. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/config.hpp +9 -0
  331. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/detector.hpp +1 -1
  332. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_postfix_operator.hpp +55 -0
  333. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_prefix_operator.hpp +72 -0
  334. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_03.hpp +108 -0
  335. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_11.hpp +501 -0
  336. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_msvc10_fix.hpp +30 -0
  337. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_likely_lambda.hpp +2 -2
  338. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_03.hpp +117 -0
  339. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp +557 -0
  340. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_rvalue_reference_msvc10_fix.hpp +43 -0
  341. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected.hpp +1 -1
  342. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected_or.hpp +1 -1
  343. data/src/cxx_supportlib/vendor-modified/boost/type_traits/enable_if.hpp +37 -0
  344. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_dereference.hpp +344 -0
  345. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus.hpp +5 -0
  346. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus_assign.hpp +5 -0
  347. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_plus_assign.hpp +5 -0
  348. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_decrement.hpp +21 -0
  349. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_increment.hpp +21 -0
  350. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_decrement.hpp +21 -0
  351. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_increment.hpp +22 -0
  352. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_assign.hpp +1 -1
  353. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_constructor.hpp +2 -1
  354. data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +5 -15
  355. data/src/cxx_supportlib/vendor-modified/boost/type_traits/intrinsics.hpp +16 -6
  356. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complete.hpp +3 -1
  357. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_assignable.hpp +3 -4
  358. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_constructible.hpp +4 -6
  359. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected.hpp +1 -1
  360. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_convertible.hpp +1 -1
  361. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_exact.hpp +1 -1
  362. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_final.hpp +1 -1
  363. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_function.hpp +4 -79
  364. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_member_function_pointer.hpp +3 -97
  365. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_noncopyable.hpp +39 -0
  366. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_assignable.hpp +2 -2
  367. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_constructible.hpp +2 -2
  368. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_rvalue_reference.hpp +4 -0
  369. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_virtual_base_of.hpp +104 -63
  370. data/src/cxx_supportlib/vendor-modified/boost/type_traits/make_void.hpp +1 -1
  371. data/src/cxx_supportlib/vendor-modified/boost/type_traits/nonesuch.hpp +1 -1
  372. data/src/cxx_supportlib/vendor-modified/boost/typeof/constant.hpp +26 -0
  373. data/src/cxx_supportlib/vendor-modified/boost/typeof/dmc/typeof_impl.hpp +4 -4
  374. data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode.hpp +0 -3
  375. data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode_params.hpp +1 -1
  376. data/src/cxx_supportlib/vendor-modified/boost/typeof/int_encoding.hpp +4 -5
  377. data/src/cxx_supportlib/vendor-modified/boost/typeof/modifiers.hpp +5 -5
  378. data/src/cxx_supportlib/vendor-modified/boost/typeof/msvc/typeof_impl.hpp +9 -9
  379. data/src/cxx_supportlib/vendor-modified/boost/typeof/native.hpp +3 -3
  380. data/src/cxx_supportlib/vendor-modified/boost/typeof/pointers_data_members.hpp +2 -2
  381. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions_iterate.hpp +6 -6
  382. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_mem_functions.hpp +1 -1
  383. data/src/cxx_supportlib/vendor-modified/boost/typeof/template_encoding.hpp +4 -4
  384. data/src/cxx_supportlib/vendor-modified/boost/typeof/template_template_param.hpp +2 -2
  385. data/src/cxx_supportlib/vendor-modified/boost/typeof/type_encoding.hpp +2 -2
  386. data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof_impl.hpp +16 -16
  387. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector.hpp +5 -5
  388. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector100.hpp +201 -201
  389. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector150.hpp +301 -301
  390. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector200.hpp +401 -401
  391. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector50.hpp +101 -101
  392. data/src/cxx_supportlib/vendor-modified/boost/utility/detail/minstd_rand.hpp +3 -0
  393. data/src/cxx_supportlib/vendor-modified/boost/utility/string_ref.hpp +2 -0
  394. data/src/cxx_supportlib/vendor-modified/boost/utility/string_view.hpp +26 -6
  395. data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
  396. data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +16 -0
  397. data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +13 -0
  398. data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +24 -0
  399. data/src/nginx_module/Configuration.c +9 -0
  400. data/src/nginx_module/ContentHandler.c +7 -1
  401. data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +5 -0
  402. data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +13 -0
  403. data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +3 -0
  404. data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +4 -0
  405. data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c +6 -0
  406. data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c +12 -0
  407. data/src/nginx_module/MainConfig/AutoGeneratedStruct.h +4 -0
  408. data/src/nginx_module/ngx_http_passenger_module.c +1 -0
  409. data/src/ruby_supportlib/phusion_passenger.rb +7 -7
  410. data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +7 -0
  411. data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +15 -0
  412. data/src/ruby_supportlib/phusion_passenger/request_handler.rb +2 -2
  413. data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +5 -0
  414. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +1 -0
  415. metadata +33 -6
  416. data/src/cxx_supportlib/vendor-modified/boost/call_traits.hpp +0 -20
  417. data/src/cxx_supportlib/vendor-modified/boost/detail/call_traits.hpp +0 -172
  418. data/src/cxx_supportlib/vendor-modified/boost/detail/no_exceptions_support.hpp +0 -17
  419. 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