webruby 0.2.2 → 0.2.4

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 (245) hide show
  1. checksums.yaml +4 -4
  2. data/lib/webruby/config.rb +4 -9
  3. data/lib/webruby/rake/files.rake +2 -2
  4. data/modules/emscripten/AUTHORS +9 -1
  5. data/modules/emscripten/CONTRIBUTING.markdown +5 -0
  6. data/modules/emscripten/ChangeLog +435 -0
  7. data/modules/emscripten/cmake/Modules/FindOpenAL.cmake +26 -0
  8. data/modules/emscripten/cmake/Platform/Emscripten.cmake +9 -2
  9. data/modules/emscripten/em++ +0 -2
  10. data/modules/emscripten/emcc +92 -32
  11. data/modules/emscripten/emlink.py +16 -13
  12. data/modules/emscripten/emmake +1 -1
  13. data/modules/emscripten/emrun +918 -0
  14. data/modules/emscripten/emrun.bat +2 -0
  15. data/modules/emscripten/emscripten.py +545 -20
  16. data/modules/emscripten/src/analyzer.js +6 -1
  17. data/modules/emscripten/src/compiler.js +25 -16
  18. data/modules/emscripten/src/emrun_postjs.js +20 -0
  19. data/modules/emscripten/{tests → src}/hello_world.js +0 -0
  20. data/modules/emscripten/src/intertyper.js +45 -16
  21. data/modules/emscripten/src/jsifier.js +78 -48
  22. data/modules/emscripten/src/library.js +381 -96
  23. data/modules/emscripten/src/library_browser.js +50 -53
  24. data/modules/emscripten/src/library_egl.js +66 -24
  25. data/modules/emscripten/src/library_fs.js +122 -90
  26. data/modules/emscripten/src/library_gl.js +739 -353
  27. data/modules/emscripten/src/library_glfw.js +9 -3
  28. data/modules/emscripten/src/library_glut.js +10 -5
  29. data/modules/emscripten/src/library_idbfs.js +14 -14
  30. data/modules/emscripten/src/library_memfs.js +65 -41
  31. data/modules/emscripten/src/library_nodefs.js +61 -9
  32. data/modules/emscripten/src/library_openal.js +4 -4
  33. data/modules/emscripten/src/library_path.js +9 -13
  34. data/modules/emscripten/src/library_sdl.js +301 -64
  35. data/modules/emscripten/src/library_sockfs.js +7 -5
  36. data/modules/emscripten/src/modules.js +62 -22
  37. data/modules/emscripten/src/parseTools.js +135 -102
  38. data/modules/emscripten/src/postamble.js +3 -4
  39. data/modules/emscripten/src/preamble.js +49 -29
  40. data/modules/emscripten/src/proxyClient.js +1 -1
  41. data/modules/emscripten/src/proxyWorker.js +10 -10
  42. data/modules/emscripten/src/relooper/Relooper.cpp +15 -4
  43. data/modules/emscripten/src/runtime.js +32 -8
  44. data/modules/emscripten/src/settings.js +25 -8
  45. data/modules/emscripten/src/shell.html +6 -3
  46. data/modules/emscripten/src/shell.js +13 -11
  47. data/modules/emscripten/src/simd.js +602 -432
  48. data/modules/emscripten/src/struct_info.json +22 -2
  49. data/modules/emscripten/src/utility.js +32 -17
  50. data/modules/emscripten/system/include/SDL/SDL_events.h +1 -0
  51. data/modules/emscripten/system/include/compat/ctype.h +17 -0
  52. data/modules/emscripten/system/include/compat/wchar.h +23 -0
  53. data/modules/emscripten/system/include/compat/wctype.h +23 -0
  54. data/modules/emscripten/system/include/emscripten/emmintrin.h +87 -0
  55. data/modules/emscripten/system/include/emscripten/emscripten.h +30 -4
  56. data/modules/emscripten/system/include/emscripten/vector.h +29 -1
  57. data/modules/emscripten/system/include/emscripten/xmmintrin.h +131 -0
  58. data/modules/emscripten/system/include/libcxx/CREDITS.TXT +9 -1
  59. data/modules/emscripten/system/include/libcxx/__bit_reference +8 -8
  60. data/modules/emscripten/system/include/libcxx/__config +95 -17
  61. data/modules/emscripten/system/include/libcxx/__debug +25 -4
  62. data/modules/emscripten/system/include/libcxx/__functional_03 +7 -7
  63. data/modules/emscripten/system/include/libcxx/__functional_base +169 -9
  64. data/modules/emscripten/system/include/libcxx/__functional_base_03 +1 -1
  65. data/modules/emscripten/system/include/libcxx/__hash_table +25 -25
  66. data/modules/emscripten/system/include/libcxx/__locale +21 -19
  67. data/modules/emscripten/system/include/libcxx/__mutex_base +2 -33
  68. data/modules/emscripten/system/include/libcxx/__split_buffer +9 -9
  69. data/modules/emscripten/system/include/libcxx/__std_stream +14 -0
  70. data/modules/emscripten/system/include/libcxx/__tree +35 -26
  71. data/modules/emscripten/system/include/libcxx/__tuple +15 -15
  72. data/modules/emscripten/system/include/libcxx/__tuple_03 +2 -2
  73. data/modules/emscripten/system/include/libcxx/__undef_min_max +8 -0
  74. data/modules/emscripten/system/include/libcxx/algorithm +121 -110
  75. data/modules/emscripten/system/include/libcxx/array +15 -15
  76. data/modules/emscripten/system/include/libcxx/bitset +4 -4
  77. data/modules/emscripten/system/include/libcxx/chrono +51 -17
  78. data/modules/emscripten/system/include/libcxx/cmath +25 -23
  79. data/modules/emscripten/system/include/libcxx/codecvt +21 -18
  80. data/modules/emscripten/system/include/libcxx/complex +48 -7
  81. data/modules/emscripten/system/include/libcxx/cstddef +1 -1
  82. data/modules/emscripten/system/include/libcxx/cstdio +8 -1
  83. data/modules/emscripten/system/include/libcxx/cstdlib +1 -1
  84. data/modules/emscripten/system/include/libcxx/cwchar +1 -1
  85. data/modules/emscripten/system/include/libcxx/deque +26 -12
  86. data/modules/emscripten/system/include/libcxx/dynarray +311 -0
  87. data/modules/emscripten/system/include/libcxx/exception +4 -4
  88. data/modules/emscripten/system/include/libcxx/ext/__hash +3 -3
  89. data/modules/emscripten/system/include/libcxx/ext/hash_map +19 -15
  90. data/modules/emscripten/system/include/libcxx/ext/hash_set +7 -3
  91. data/modules/emscripten/system/include/libcxx/forward_list +33 -7
  92. data/modules/emscripten/system/include/libcxx/fstream +4 -4
  93. data/modules/emscripten/system/include/libcxx/functional +200 -170
  94. data/modules/emscripten/system/include/libcxx/future +83 -39
  95. data/modules/emscripten/system/include/libcxx/initializer_list +24 -11
  96. data/modules/emscripten/system/include/libcxx/iomanip +147 -0
  97. data/modules/emscripten/system/include/libcxx/ios +24 -16
  98. data/modules/emscripten/system/include/libcxx/iosfwd +19 -19
  99. data/modules/emscripten/system/include/libcxx/istream +13 -8
  100. data/modules/emscripten/system/include/libcxx/iterator +108 -417
  101. data/modules/emscripten/system/include/libcxx/limits +8 -4
  102. data/modules/emscripten/system/include/libcxx/list +28 -8
  103. data/modules/emscripten/system/include/libcxx/locale +153 -390
  104. data/modules/emscripten/system/include/libcxx/map +280 -100
  105. data/modules/emscripten/system/include/libcxx/memory +49 -97
  106. data/modules/emscripten/system/include/libcxx/mutex +2 -2
  107. data/modules/emscripten/system/include/libcxx/new +43 -14
  108. data/modules/emscripten/system/include/libcxx/numeric +2 -2
  109. data/modules/emscripten/system/include/libcxx/optional +697 -0
  110. data/modules/emscripten/system/include/libcxx/ostream +17 -8
  111. data/modules/emscripten/system/include/libcxx/queue +5 -5
  112. data/modules/emscripten/system/include/libcxx/random +53 -51
  113. data/modules/emscripten/system/include/libcxx/ratio +11 -11
  114. data/modules/emscripten/system/include/libcxx/readme.txt +1 -1
  115. data/modules/emscripten/system/include/libcxx/regex +23 -20
  116. data/modules/emscripten/system/include/libcxx/scoped_allocator +1 -1
  117. data/modules/emscripten/system/include/libcxx/set +166 -2
  118. data/modules/emscripten/system/include/libcxx/shared_mutex +419 -0
  119. data/modules/emscripten/system/include/libcxx/sstream +4 -4
  120. data/modules/emscripten/system/include/libcxx/stack +3 -3
  121. data/modules/emscripten/system/include/libcxx/streambuf +5 -5
  122. data/modules/emscripten/system/include/libcxx/string +372 -324
  123. data/modules/emscripten/system/include/libcxx/support/ibm/limits.h +99 -0
  124. data/modules/emscripten/system/include/libcxx/support/ibm/support.h +54 -0
  125. data/modules/emscripten/system/include/libcxx/support/ibm/xlocale.h +326 -0
  126. data/modules/emscripten/system/include/libcxx/support/win32/limits_win32.h +6 -6
  127. data/modules/emscripten/system/include/libcxx/support/win32/locale_win32.h +15 -15
  128. data/modules/emscripten/system/include/libcxx/support/win32/math_win32.h +2 -0
  129. data/modules/emscripten/system/include/libcxx/support/win32/support.h +6 -1
  130. data/modules/emscripten/system/include/libcxx/system_error +14 -8
  131. data/modules/emscripten/system/include/libcxx/thread +7 -8
  132. data/modules/emscripten/system/include/libcxx/tuple +29 -88
  133. data/modules/emscripten/system/include/libcxx/type_traits +253 -209
  134. data/modules/emscripten/system/include/libcxx/typeindex +3 -3
  135. data/modules/emscripten/system/include/libcxx/unordered_map +162 -101
  136. data/modules/emscripten/system/include/libcxx/unordered_set +79 -2
  137. data/modules/emscripten/system/include/libcxx/utility +20 -20
  138. data/modules/emscripten/system/include/libcxx/valarray +23 -23
  139. data/modules/emscripten/system/include/libcxx/vector +114 -91
  140. data/modules/emscripten/system/lib/libc/musl/src/regex/regcomp.c +3352 -0
  141. data/modules/emscripten/system/lib/libc/musl/src/regex/regerror.c +35 -0
  142. data/modules/emscripten/system/lib/libc/musl/src/regex/regexec.c +1011 -0
  143. data/modules/emscripten/system/lib/libc/musl/src/regex/tre-mem.c +158 -0
  144. data/modules/emscripten/system/lib/libc/musl/src/regex/tre.h +231 -0
  145. data/modules/emscripten/system/lib/libcextra.symbols +7 -0
  146. data/modules/emscripten/system/lib/libcxx/CREDITS.TXT +9 -1
  147. data/modules/emscripten/system/lib/libcxx/algorithm.cpp +1 -0
  148. data/modules/emscripten/system/lib/libcxx/debug.cpp +66 -42
  149. data/modules/emscripten/system/lib/libcxx/exception.cpp +88 -16
  150. data/modules/emscripten/system/lib/libcxx/future.cpp +6 -0
  151. data/modules/emscripten/system/lib/libcxx/ios.cpp +7 -2
  152. data/modules/emscripten/system/lib/libcxx/iostream.cpp +8 -8
  153. data/modules/emscripten/system/lib/libcxx/locale.cpp +38 -11
  154. data/modules/emscripten/system/lib/libcxx/mutex.cpp +3 -0
  155. data/modules/emscripten/system/lib/libcxx/new.cpp +44 -10
  156. data/modules/emscripten/system/lib/libcxx/optional.cpp +25 -0
  157. data/modules/emscripten/system/lib/libcxx/random.cpp +26 -0
  158. data/modules/emscripten/system/lib/libcxx/readme.txt +1 -1
  159. data/modules/emscripten/system/lib/libcxx/shared_mutex.cpp +101 -0
  160. data/modules/emscripten/system/lib/libcxx/stdexcept.cpp +11 -7
  161. data/modules/emscripten/system/lib/libcxx/string.cpp +3 -1
  162. data/modules/emscripten/system/lib/libcxx/strstream.cpp +7 -7
  163. data/modules/emscripten/system/lib/libcxx/support/win32/locale_win32.cpp +12 -13
  164. data/modules/emscripten/system/lib/libcxx/support/win32/support.cpp +33 -36
  165. data/modules/emscripten/system/lib/libcxx/symbols +187 -168
  166. data/modules/emscripten/system/lib/libcxx/system_error.cpp +1 -0
  167. data/modules/emscripten/system/lib/libcxx/thread.cpp +7 -3
  168. data/modules/emscripten/system/lib/libcxx/typeinfo.cpp +9 -6
  169. data/modules/emscripten/system/lib/libcxx/valarray.cpp +2 -0
  170. data/modules/emscripten/third_party/lzma.js/doit.bat +4 -0
  171. data/modules/emscripten/third_party/lzma.js/doit.sh +9 -2
  172. data/modules/emscripten/tools/cache.py +5 -7
  173. data/modules/emscripten/tools/cache.pyc +0 -0
  174. data/modules/emscripten/tools/eliminator/asm-eliminator-test-output.js +7 -0
  175. data/modules/emscripten/tools/eliminator/asm-eliminator-test.js +9 -1
  176. data/modules/emscripten/tools/eliminator/eliminator-test-output.js +3 -0
  177. data/modules/emscripten/tools/eliminator/eliminator-test.js +9 -1
  178. data/modules/emscripten/tools/file_packager.py +93 -50
  179. data/modules/emscripten/tools/js-optimizer.js +98 -48
  180. data/modules/emscripten/tools/js_optimizer.py +4 -4
  181. data/modules/emscripten/tools/js_optimizer.pyc +0 -0
  182. data/modules/emscripten/tools/jsrun.py +1 -1
  183. data/modules/emscripten/tools/jsrun.pyc +0 -0
  184. data/modules/emscripten/tools/response_file.py +6 -0
  185. data/modules/emscripten/tools/response_file.pyc +0 -0
  186. data/modules/emscripten/tools/settings_template_readonly.py +2 -0
  187. data/modules/emscripten/tools/shared.py +88 -34
  188. data/modules/emscripten/tools/shared.pyc +0 -0
  189. data/modules/emscripten/tools/split.py +21 -13
  190. data/modules/mruby/build_config.rb +7 -1
  191. data/modules/mruby/doc/compile/README.md +5 -9
  192. data/modules/mruby/include/mrbconf.h +5 -2
  193. data/modules/mruby/include/mruby/array.h +1 -0
  194. data/modules/mruby/include/mruby/compile.h +2 -4
  195. data/modules/mruby/include/mruby/dump.h +7 -16
  196. data/modules/mruby/include/mruby/hash.h +1 -1
  197. data/modules/mruby/include/mruby/irep.h +14 -2
  198. data/modules/mruby/include/mruby/khash.h +8 -7
  199. data/modules/mruby/include/mruby/string.h +1 -0
  200. data/modules/mruby/include/mruby/value.h +5 -2
  201. data/modules/mruby/include/mruby.h +12 -13
  202. data/modules/mruby/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +16 -6
  203. data/modules/mruby/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c +18 -30
  204. data/modules/mruby/mrbgems/mruby-fiber/src/fiber.c +21 -0
  205. data/modules/mruby/mrbgems/mruby-math/src/math.c +1 -1
  206. data/modules/mruby/mrbgems/mruby-random/src/random.c +144 -47
  207. data/modules/mruby/mrbgems/mruby-random/test/random.rb +44 -0
  208. data/modules/mruby/mrbgems/mruby-struct/src/struct.c +5 -5
  209. data/modules/mruby/mrblib/numeric.rb +99 -33
  210. data/modules/mruby/src/array.c +11 -4
  211. data/modules/mruby/src/backtrace.c +2 -2
  212. data/modules/mruby/src/class.c +49 -30
  213. data/modules/mruby/src/codegen.c +131 -79
  214. data/modules/mruby/src/debug.c +1 -1
  215. data/modules/mruby/src/dump.c +213 -163
  216. data/modules/mruby/src/error.c +17 -17
  217. data/modules/mruby/src/error.h +1 -1
  218. data/modules/mruby/src/etc.c +10 -0
  219. data/modules/mruby/src/gc.c +35 -17
  220. data/modules/mruby/src/hash.c +5 -5
  221. data/modules/mruby/src/kernel.c +36 -14
  222. data/modules/mruby/src/load.c +238 -296
  223. data/modules/mruby/src/numeric.c +18 -98
  224. data/modules/mruby/src/object.c +3 -5
  225. data/modules/mruby/src/parse.y +63 -56
  226. data/modules/mruby/src/proc.c +8 -5
  227. data/modules/mruby/src/re.h +0 -1
  228. data/modules/mruby/src/state.c +65 -27
  229. data/modules/mruby/src/string.c +3 -31
  230. data/modules/mruby/src/symbol.c +3 -3
  231. data/modules/mruby/src/variable.c +12 -5
  232. data/modules/mruby/src/vm.c +90 -72
  233. data/modules/mruby/tasks/mruby_build.rake +10 -1
  234. data/modules/mruby/tasks/toolchains/gcc.rake +12 -2
  235. data/modules/mruby/tasks/toolchains/{vs2012.rake → visualcpp.rake} +1 -1
  236. data/modules/mruby/test/driver.c +3 -3
  237. data/modules/mruby/test/t/array.rb +5 -5
  238. data/modules/mruby/test/t/class.rb +14 -1
  239. data/modules/mruby/test/t/kernel.rb +4 -0
  240. data/modules/mruby/test/t/module.rb +4 -4
  241. data/modules/mruby/test/t/nameerror.rb +1 -1
  242. data/modules/mruby/tools/mrbc/mrbc.c +23 -17
  243. data/modules/mruby/travis_config.rb +10 -1
  244. metadata +28 -5
  245. data/modules/mruby/tasks/toolchains/vs2010.rake +0 -3
@@ -628,6 +628,13 @@ template <class BidirectionalIterator, class Compare>
628
628
  #include <iterator>
629
629
  #include <cstddef>
630
630
 
631
+ #if defined(__IBMCPP__)
632
+ #include "support/ibm/support.h"
633
+ #endif
634
+ #if defined(_LIBCPP_MSVCRT) || defined(__MINGW32__)
635
+ #include "support/win32/support.h"
636
+ #endif
637
+
631
638
  #include <__undef_min_max>
632
639
 
633
640
  #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@@ -710,7 +717,7 @@ public:
710
717
  bool operator()(const _T1& __x, const _T2& __y) {return !__p_(__x, __y);}
711
718
  };
712
719
 
713
- #ifdef _LIBCPP_DEBUG2
720
+ #ifdef _LIBCPP_DEBUG
714
721
 
715
722
  template <class _Compare>
716
723
  struct __debug_less
@@ -727,7 +734,7 @@ struct __debug_less
727
734
  }
728
735
  };
729
736
 
730
- #endif // _LIBCPP_DEBUG2
737
+ #endif // _LIBCPP_DEBUG
731
738
 
732
739
  // Precondition: __x != 0
733
740
  inline _LIBCPP_INLINE_VISIBILITY
@@ -825,7 +832,7 @@ for_each(_InputIterator __first, _InputIterator __last, _Function __f)
825
832
  {
826
833
  for (; __first != __last; ++__first)
827
834
  __f(*__first);
828
- return _VSTD::move(__f);
835
+ return _VSTD::move(__f); // explicitly moved for (emulated) C++03
829
836
  }
830
837
 
831
838
  // find
@@ -1688,6 +1695,8 @@ __unwrap_iter(move_iterator<_Tp*> __i)
1688
1695
  return __i.base();
1689
1696
  }
1690
1697
 
1698
+ #if _LIBCPP_DEBUG_LEVEL < 2
1699
+
1691
1700
  template <class _Tp>
1692
1701
  inline _LIBCPP_INLINE_VISIBILITY
1693
1702
  typename enable_if
@@ -1700,6 +1709,8 @@ __unwrap_iter(__wrap_iter<_Tp*> __i)
1700
1709
  return __i.base();
1701
1710
  }
1702
1711
 
1712
+ #endif // _LIBCPP_DEBUG_LEVEL < 2
1713
+
1703
1714
  template <class _InputIterator, class _OutputIterator>
1704
1715
  inline _LIBCPP_INLINE_VISIBILITY
1705
1716
  _OutputIterator
@@ -2964,11 +2975,11 @@ uniform_int_distribution<_IntType>::operator()(_URNG& __g, const param_type& __p
2964
2975
  return static_cast<result_type>(__u + __p.a());
2965
2976
  }
2966
2977
 
2967
- class __rs_default;
2978
+ class _LIBCPP_TYPE_VIS __rs_default;
2968
2979
 
2969
- __rs_default __rs_get();
2980
+ _LIBCPP_FUNC_VIS __rs_default __rs_get();
2970
2981
 
2971
- class __rs_default
2982
+ class _LIBCPP_TYPE_VIS __rs_default
2972
2983
  {
2973
2984
  static unsigned __c_;
2974
2985
 
@@ -2987,10 +2998,10 @@ public:
2987
2998
  static _LIBCPP_CONSTEXPR result_type min() {return _Min;}
2988
2999
  static _LIBCPP_CONSTEXPR result_type max() {return _Max;}
2989
3000
 
2990
- friend __rs_default __rs_get();
3001
+ friend _LIBCPP_FUNC_VIS __rs_default __rs_get();
2991
3002
  };
2992
3003
 
2993
- __rs_default __rs_get();
3004
+ _LIBCPP_FUNC_VIS __rs_default __rs_get();
2994
3005
 
2995
3006
  template <class _RandomAccessIterator>
2996
3007
  void
@@ -3945,14 +3956,14 @@ inline _LIBCPP_INLINE_VISIBILITY
3945
3956
  void
3946
3957
  sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
3947
3958
  {
3948
- #ifdef _LIBCPP_DEBUG2
3959
+ #ifdef _LIBCPP_DEBUG
3949
3960
  typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
3950
3961
  __debug_less<_Compare> __c(__comp);
3951
3962
  __sort<_Comp_ref>(__first, __last, __c);
3952
- #else // _LIBCPP_DEBUG2
3963
+ #else // _LIBCPP_DEBUG
3953
3964
  typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
3954
3965
  __sort<_Comp_ref>(__first, __last, __comp);
3955
- #endif // _LIBCPP_DEBUG2
3966
+ #endif // _LIBCPP_DEBUG
3956
3967
  }
3957
3968
 
3958
3969
  template <class _RandomAccessIterator>
@@ -3992,39 +4003,39 @@ sort(__wrap_iter<_Tp*> __first, __wrap_iter<_Tp*> __last, _Compare __comp)
3992
4003
  #pragma warning( push )
3993
4004
  #pragma warning( disable: 4231)
3994
4005
  #endif // _LIBCPP_MSVC
3995
- _LIBCPP_EXTERN_TEMPLATE(void __sort<__less<char>&, char*>(char*, char*, __less<char>&))
3996
- _LIBCPP_EXTERN_TEMPLATE(void __sort<__less<wchar_t>&, wchar_t*>(wchar_t*, wchar_t*, __less<wchar_t>&))
3997
- _LIBCPP_EXTERN_TEMPLATE(void __sort<__less<signed char>&, signed char*>(signed char*, signed char*, __less<signed char>&))
3998
- _LIBCPP_EXTERN_TEMPLATE(void __sort<__less<unsigned char>&, unsigned char*>(unsigned char*, unsigned char*, __less<unsigned char>&))
3999
- _LIBCPP_EXTERN_TEMPLATE(void __sort<__less<short>&, short*>(short*, short*, __less<short>&))
4000
- _LIBCPP_EXTERN_TEMPLATE(void __sort<__less<unsigned short>&, unsigned short*>(unsigned short*, unsigned short*, __less<unsigned short>&))
4001
- _LIBCPP_EXTERN_TEMPLATE(void __sort<__less<int>&, int*>(int*, int*, __less<int>&))
4002
- _LIBCPP_EXTERN_TEMPLATE(void __sort<__less<unsigned>&, unsigned*>(unsigned*, unsigned*, __less<unsigned>&))
4003
- _LIBCPP_EXTERN_TEMPLATE(void __sort<__less<long>&, long*>(long*, long*, __less<long>&))
4004
- _LIBCPP_EXTERN_TEMPLATE(void __sort<__less<unsigned long>&, unsigned long*>(unsigned long*, unsigned long*, __less<unsigned long>&))
4005
- _LIBCPP_EXTERN_TEMPLATE(void __sort<__less<long long>&, long long*>(long long*, long long*, __less<long long>&))
4006
- _LIBCPP_EXTERN_TEMPLATE(void __sort<__less<unsigned long long>&, unsigned long long*>(unsigned long long*, unsigned long long*, __less<unsigned long long>&))
4007
- _LIBCPP_EXTERN_TEMPLATE(void __sort<__less<float>&, float*>(float*, float*, __less<float>&))
4008
- _LIBCPP_EXTERN_TEMPLATE(void __sort<__less<double>&, double*>(double*, double*, __less<double>&))
4009
- _LIBCPP_EXTERN_TEMPLATE(void __sort<__less<long double>&, long double*>(long double*, long double*, __less<long double>&))
4010
-
4011
- _LIBCPP_EXTERN_TEMPLATE(bool __insertion_sort_incomplete<__less<char>&, char*>(char*, char*, __less<char>&))
4012
- _LIBCPP_EXTERN_TEMPLATE(bool __insertion_sort_incomplete<__less<wchar_t>&, wchar_t*>(wchar_t*, wchar_t*, __less<wchar_t>&))
4013
- _LIBCPP_EXTERN_TEMPLATE(bool __insertion_sort_incomplete<__less<signed char>&, signed char*>(signed char*, signed char*, __less<signed char>&))
4014
- _LIBCPP_EXTERN_TEMPLATE(bool __insertion_sort_incomplete<__less<unsigned char>&, unsigned char*>(unsigned char*, unsigned char*, __less<unsigned char>&))
4015
- _LIBCPP_EXTERN_TEMPLATE(bool __insertion_sort_incomplete<__less<short>&, short*>(short*, short*, __less<short>&))
4016
- _LIBCPP_EXTERN_TEMPLATE(bool __insertion_sort_incomplete<__less<unsigned short>&, unsigned short*>(unsigned short*, unsigned short*, __less<unsigned short>&))
4017
- _LIBCPP_EXTERN_TEMPLATE(bool __insertion_sort_incomplete<__less<int>&, int*>(int*, int*, __less<int>&))
4018
- _LIBCPP_EXTERN_TEMPLATE(bool __insertion_sort_incomplete<__less<unsigned>&, unsigned*>(unsigned*, unsigned*, __less<unsigned>&))
4019
- _LIBCPP_EXTERN_TEMPLATE(bool __insertion_sort_incomplete<__less<long>&, long*>(long*, long*, __less<long>&))
4020
- _LIBCPP_EXTERN_TEMPLATE(bool __insertion_sort_incomplete<__less<unsigned long>&, unsigned long*>(unsigned long*, unsigned long*, __less<unsigned long>&))
4021
- _LIBCPP_EXTERN_TEMPLATE(bool __insertion_sort_incomplete<__less<long long>&, long long*>(long long*, long long*, __less<long long>&))
4022
- _LIBCPP_EXTERN_TEMPLATE(bool __insertion_sort_incomplete<__less<unsigned long long>&, unsigned long long*>(unsigned long long*, unsigned long long*, __less<unsigned long long>&))
4023
- _LIBCPP_EXTERN_TEMPLATE(bool __insertion_sort_incomplete<__less<float>&, float*>(float*, float*, __less<float>&))
4024
- _LIBCPP_EXTERN_TEMPLATE(bool __insertion_sort_incomplete<__less<double>&, double*>(double*, double*, __less<double>&))
4025
- _LIBCPP_EXTERN_TEMPLATE(bool __insertion_sort_incomplete<__less<long double>&, long double*>(long double*, long double*, __less<long double>&))
4026
-
4027
- _LIBCPP_EXTERN_TEMPLATE(unsigned __sort5<__less<long double>&, long double*>(long double*, long double*, long double*, long double*, long double*, __less<long double>&))
4006
+ _LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void __sort<__less<char>&, char*>(char*, char*, __less<char>&))
4007
+ _LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void __sort<__less<wchar_t>&, wchar_t*>(wchar_t*, wchar_t*, __less<wchar_t>&))
4008
+ _LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void __sort<__less<signed char>&, signed char*>(signed char*, signed char*, __less<signed char>&))
4009
+ _LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void __sort<__less<unsigned char>&, unsigned char*>(unsigned char*, unsigned char*, __less<unsigned char>&))
4010
+ _LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void __sort<__less<short>&, short*>(short*, short*, __less<short>&))
4011
+ _LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void __sort<__less<unsigned short>&, unsigned short*>(unsigned short*, unsigned short*, __less<unsigned short>&))
4012
+ _LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void __sort<__less<int>&, int*>(int*, int*, __less<int>&))
4013
+ _LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void __sort<__less<unsigned>&, unsigned*>(unsigned*, unsigned*, __less<unsigned>&))
4014
+ _LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void __sort<__less<long>&, long*>(long*, long*, __less<long>&))
4015
+ _LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void __sort<__less<unsigned long>&, unsigned long*>(unsigned long*, unsigned long*, __less<unsigned long>&))
4016
+ _LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void __sort<__less<long long>&, long long*>(long long*, long long*, __less<long long>&))
4017
+ _LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void __sort<__less<unsigned long long>&, unsigned long long*>(unsigned long long*, unsigned long long*, __less<unsigned long long>&))
4018
+ _LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void __sort<__less<float>&, float*>(float*, float*, __less<float>&))
4019
+ _LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void __sort<__less<double>&, double*>(double*, double*, __less<double>&))
4020
+ _LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void __sort<__less<long double>&, long double*>(long double*, long double*, __less<long double>&))
4021
+
4022
+ _LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS bool __insertion_sort_incomplete<__less<char>&, char*>(char*, char*, __less<char>&))
4023
+ _LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS bool __insertion_sort_incomplete<__less<wchar_t>&, wchar_t*>(wchar_t*, wchar_t*, __less<wchar_t>&))
4024
+ _LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS bool __insertion_sort_incomplete<__less<signed char>&, signed char*>(signed char*, signed char*, __less<signed char>&))
4025
+ _LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS bool __insertion_sort_incomplete<__less<unsigned char>&, unsigned char*>(unsigned char*, unsigned char*, __less<unsigned char>&))
4026
+ _LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS bool __insertion_sort_incomplete<__less<short>&, short*>(short*, short*, __less<short>&))
4027
+ _LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS bool __insertion_sort_incomplete<__less<unsigned short>&, unsigned short*>(unsigned short*, unsigned short*, __less<unsigned short>&))
4028
+ _LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS bool __insertion_sort_incomplete<__less<int>&, int*>(int*, int*, __less<int>&))
4029
+ _LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS bool __insertion_sort_incomplete<__less<unsigned>&, unsigned*>(unsigned*, unsigned*, __less<unsigned>&))
4030
+ _LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS bool __insertion_sort_incomplete<__less<long>&, long*>(long*, long*, __less<long>&))
4031
+ _LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS bool __insertion_sort_incomplete<__less<unsigned long>&, unsigned long*>(unsigned long*, unsigned long*, __less<unsigned long>&))
4032
+ _LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS bool __insertion_sort_incomplete<__less<long long>&, long long*>(long long*, long long*, __less<long long>&))
4033
+ _LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS bool __insertion_sort_incomplete<__less<unsigned long long>&, unsigned long long*>(unsigned long long*, unsigned long long*, __less<unsigned long long>&))
4034
+ _LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS bool __insertion_sort_incomplete<__less<float>&, float*>(float*, float*, __less<float>&))
4035
+ _LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS bool __insertion_sort_incomplete<__less<double>&, double*>(double*, double*, __less<double>&))
4036
+ _LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS bool __insertion_sort_incomplete<__less<long double>&, long double*>(long double*, long double*, __less<long double>&))
4037
+
4038
+ _LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS unsigned __sort5<__less<long double>&, long double*>(long double*, long double*, long double*, long double*, long double*, __less<long double>&))
4028
4039
  #ifdef _LIBCPP_MSVC
4029
4040
  #pragma warning( pop )
4030
4041
  #endif // _LIBCPP_MSVC
@@ -4058,14 +4069,14 @@ inline _LIBCPP_INLINE_VISIBILITY
4058
4069
  _ForwardIterator
4059
4070
  lower_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_, _Compare __comp)
4060
4071
  {
4061
- #ifdef _LIBCPP_DEBUG2
4072
+ #ifdef _LIBCPP_DEBUG
4062
4073
  typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
4063
4074
  __debug_less<_Compare> __c(__comp);
4064
4075
  return __lower_bound<_Comp_ref>(__first, __last, __value_, __c);
4065
- #else // _LIBCPP_DEBUG2
4076
+ #else // _LIBCPP_DEBUG
4066
4077
  typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
4067
4078
  return __lower_bound<_Comp_ref>(__first, __last, __value_, __comp);
4068
- #endif // _LIBCPP_DEBUG2
4079
+ #endif // _LIBCPP_DEBUG
4069
4080
  }
4070
4081
 
4071
4082
  template <class _ForwardIterator, class _Tp>
@@ -4106,14 +4117,14 @@ inline _LIBCPP_INLINE_VISIBILITY
4106
4117
  _ForwardIterator
4107
4118
  upper_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_, _Compare __comp)
4108
4119
  {
4109
- #ifdef _LIBCPP_DEBUG2
4120
+ #ifdef _LIBCPP_DEBUG
4110
4121
  typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
4111
4122
  __debug_less<_Compare> __c(__comp);
4112
4123
  return __upper_bound<_Comp_ref>(__first, __last, __value_, __c);
4113
- #else // _LIBCPP_DEBUG2
4124
+ #else // _LIBCPP_DEBUG
4114
4125
  typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
4115
4126
  return __upper_bound<_Comp_ref>(__first, __last, __value_, __comp);
4116
- #endif // _LIBCPP_DEBUG2
4127
+ #endif // _LIBCPP_DEBUG
4117
4128
  }
4118
4129
 
4119
4130
  template <class _ForwardIterator, class _Tp>
@@ -4166,14 +4177,14 @@ inline _LIBCPP_INLINE_VISIBILITY
4166
4177
  pair<_ForwardIterator, _ForwardIterator>
4167
4178
  equal_range(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_, _Compare __comp)
4168
4179
  {
4169
- #ifdef _LIBCPP_DEBUG2
4180
+ #ifdef _LIBCPP_DEBUG
4170
4181
  typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
4171
4182
  __debug_less<_Compare> __c(__comp);
4172
4183
  return __equal_range<_Comp_ref>(__first, __last, __value_, __c);
4173
- #else // _LIBCPP_DEBUG2
4184
+ #else // _LIBCPP_DEBUG
4174
4185
  typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
4175
4186
  return __equal_range<_Comp_ref>(__first, __last, __value_, __comp);
4176
- #endif // _LIBCPP_DEBUG2
4187
+ #endif // _LIBCPP_DEBUG
4177
4188
  }
4178
4189
 
4179
4190
  template <class _ForwardIterator, class _Tp>
@@ -4201,14 +4212,14 @@ inline _LIBCPP_INLINE_VISIBILITY
4201
4212
  bool
4202
4213
  binary_search(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_, _Compare __comp)
4203
4214
  {
4204
- #ifdef _LIBCPP_DEBUG2
4215
+ #ifdef _LIBCPP_DEBUG
4205
4216
  typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
4206
4217
  __debug_less<_Compare> __c(__comp);
4207
4218
  return __binary_search<_Comp_ref>(__first, __last, __value_, __c);
4208
- #else // _LIBCPP_DEBUG2
4219
+ #else // _LIBCPP_DEBUG
4209
4220
  typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
4210
4221
  return __binary_search<_Comp_ref>(__first, __last, __value_, __comp);
4211
- #endif // _LIBCPP_DEBUG2
4222
+ #endif // _LIBCPP_DEBUG
4212
4223
  }
4213
4224
 
4214
4225
  template <class _ForwardIterator, class _Tp>
@@ -4251,14 +4262,14 @@ _OutputIterator
4251
4262
  merge(_InputIterator1 __first1, _InputIterator1 __last1,
4252
4263
  _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp)
4253
4264
  {
4254
- #ifdef _LIBCPP_DEBUG2
4265
+ #ifdef _LIBCPP_DEBUG
4255
4266
  typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
4256
4267
  __debug_less<_Compare> __c(__comp);
4257
4268
  return _VSTD::__merge<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __c);
4258
- #else // _LIBCPP_DEBUG2
4269
+ #else // _LIBCPP_DEBUG
4259
4270
  typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
4260
4271
  return _VSTD::__merge<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __comp);
4261
- #endif // _LIBCPP_DEBUG2
4272
+ #endif // _LIBCPP_DEBUG
4262
4273
  }
4263
4274
 
4264
4275
  template <class _InputIterator1, class _InputIterator2, class _OutputIterator>
@@ -4425,16 +4436,16 @@ inplace_merge(_BidirectionalIterator __first, _BidirectionalIterator __middle, _
4425
4436
  __buf = _VSTD::get_temporary_buffer<value_type>(__buf_size);
4426
4437
  __h.reset(__buf.first);
4427
4438
  }
4428
- #ifdef _LIBCPP_DEBUG2
4439
+ #ifdef _LIBCPP_DEBUG
4429
4440
  typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
4430
4441
  __debug_less<_Compare> __c(__comp);
4431
4442
  return _VSTD::__inplace_merge<_Comp_ref>(__first, __middle, __last, __c, __len1, __len2,
4432
4443
  __buf.first, __buf.second);
4433
- #else // _LIBCPP_DEBUG2
4444
+ #else // _LIBCPP_DEBUG
4434
4445
  typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
4435
4446
  return _VSTD::__inplace_merge<_Comp_ref>(__first, __middle, __last, __comp, __len1, __len2,
4436
4447
  __buf.first, __buf.second);
4437
- #endif // _LIBCPP_DEBUG2
4448
+ #endif // _LIBCPP_DEBUG
4438
4449
  }
4439
4450
 
4440
4451
  template <class _BidirectionalIterator>
@@ -4636,14 +4647,14 @@ stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compar
4636
4647
  __buf = _VSTD::get_temporary_buffer<value_type>(__len);
4637
4648
  __h.reset(__buf.first);
4638
4649
  }
4639
- #ifdef _LIBCPP_DEBUG2
4650
+ #ifdef _LIBCPP_DEBUG
4640
4651
  typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
4641
4652
  __debug_less<_Compare> __c(__comp);
4642
4653
  __stable_sort<_Comp_ref>(__first, __last, __c, __len, __buf.first, __buf.second);
4643
- #else // _LIBCPP_DEBUG2
4654
+ #else // _LIBCPP_DEBUG
4644
4655
  typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
4645
4656
  __stable_sort<_Comp_ref>(__first, __last, __comp, __len, __buf.first, __buf.second);
4646
- #endif // _LIBCPP_DEBUG2
4657
+ #endif // _LIBCPP_DEBUG
4647
4658
  }
4648
4659
 
4649
4660
  template <class _RandomAccessIterator>
@@ -4785,14 +4796,14 @@ inline _LIBCPP_INLINE_VISIBILITY
4785
4796
  void
4786
4797
  push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
4787
4798
  {
4788
- #ifdef _LIBCPP_DEBUG2
4799
+ #ifdef _LIBCPP_DEBUG
4789
4800
  typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
4790
4801
  __debug_less<_Compare> __c(__comp);
4791
4802
  __push_heap_back<_Comp_ref>(__first, __last, __c, __last - __first);
4792
- #else // _LIBCPP_DEBUG2
4803
+ #else // _LIBCPP_DEBUG
4793
4804
  typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
4794
4805
  __push_heap_back<_Comp_ref>(__first, __last, __comp, __last - __first);
4795
- #endif // _LIBCPP_DEBUG2
4806
+ #endif // _LIBCPP_DEBUG
4796
4807
  }
4797
4808
 
4798
4809
  template <class _RandomAccessIterator>
@@ -4823,14 +4834,14 @@ inline _LIBCPP_INLINE_VISIBILITY
4823
4834
  void
4824
4835
  pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
4825
4836
  {
4826
- #ifdef _LIBCPP_DEBUG2
4837
+ #ifdef _LIBCPP_DEBUG
4827
4838
  typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
4828
4839
  __debug_less<_Compare> __c(__comp);
4829
4840
  __pop_heap<_Comp_ref>(__first, __last, __c, __last - __first);
4830
- #else // _LIBCPP_DEBUG2
4841
+ #else // _LIBCPP_DEBUG
4831
4842
  typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
4832
4843
  __pop_heap<_Comp_ref>(__first, __last, __comp, __last - __first);
4833
- #endif // _LIBCPP_DEBUG2
4844
+ #endif // _LIBCPP_DEBUG
4834
4845
  }
4835
4846
 
4836
4847
  template <class _RandomAccessIterator>
@@ -4863,14 +4874,14 @@ inline _LIBCPP_INLINE_VISIBILITY
4863
4874
  void
4864
4875
  make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
4865
4876
  {
4866
- #ifdef _LIBCPP_DEBUG2
4877
+ #ifdef _LIBCPP_DEBUG
4867
4878
  typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
4868
4879
  __debug_less<_Compare> __c(__comp);
4869
4880
  __make_heap<_Comp_ref>(__first, __last, __c);
4870
- #else // _LIBCPP_DEBUG2
4881
+ #else // _LIBCPP_DEBUG
4871
4882
  typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
4872
4883
  __make_heap<_Comp_ref>(__first, __last, __comp);
4873
- #endif // _LIBCPP_DEBUG2
4884
+ #endif // _LIBCPP_DEBUG
4874
4885
  }
4875
4886
 
4876
4887
  template <class _RandomAccessIterator>
@@ -4897,14 +4908,14 @@ inline _LIBCPP_INLINE_VISIBILITY
4897
4908
  void
4898
4909
  sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
4899
4910
  {
4900
- #ifdef _LIBCPP_DEBUG2
4911
+ #ifdef _LIBCPP_DEBUG
4901
4912
  typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
4902
4913
  __debug_less<_Compare> __c(__comp);
4903
4914
  __sort_heap<_Comp_ref>(__first, __last, __c);
4904
- #else // _LIBCPP_DEBUG2
4915
+ #else // _LIBCPP_DEBUG
4905
4916
  typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
4906
4917
  __sort_heap<_Comp_ref>(__first, __last, __comp);
4907
- #endif // _LIBCPP_DEBUG2
4918
+ #endif // _LIBCPP_DEBUG
4908
4919
  }
4909
4920
 
4910
4921
  template <class _RandomAccessIterator>
@@ -4941,14 +4952,14 @@ void
4941
4952
  partial_sort(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last,
4942
4953
  _Compare __comp)
4943
4954
  {
4944
- #ifdef _LIBCPP_DEBUG2
4955
+ #ifdef _LIBCPP_DEBUG
4945
4956
  typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
4946
4957
  __debug_less<_Compare> __c(__comp);
4947
4958
  __partial_sort<_Comp_ref>(__first, __middle, __last, __c);
4948
- #else // _LIBCPP_DEBUG2
4959
+ #else // _LIBCPP_DEBUG
4949
4960
  typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
4950
4961
  __partial_sort<_Comp_ref>(__first, __middle, __last, __comp);
4951
- #endif // _LIBCPP_DEBUG2
4962
+ #endif // _LIBCPP_DEBUG
4952
4963
  }
4953
4964
 
4954
4965
  template <class _RandomAccessIterator>
@@ -4991,14 +5002,14 @@ _RandomAccessIterator
4991
5002
  partial_sort_copy(_InputIterator __first, _InputIterator __last,
4992
5003
  _RandomAccessIterator __result_first, _RandomAccessIterator __result_last, _Compare __comp)
4993
5004
  {
4994
- #ifdef _LIBCPP_DEBUG2
5005
+ #ifdef _LIBCPP_DEBUG
4995
5006
  typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
4996
5007
  __debug_less<_Compare> __c(__comp);
4997
5008
  return __partial_sort_copy<_Comp_ref>(__first, __last, __result_first, __result_last, __c);
4998
- #else // _LIBCPP_DEBUG2
5009
+ #else // _LIBCPP_DEBUG
4999
5010
  typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
5000
5011
  return __partial_sort_copy<_Comp_ref>(__first, __last, __result_first, __result_last, __comp);
5001
- #endif // _LIBCPP_DEBUG2
5012
+ #endif // _LIBCPP_DEBUG
5002
5013
  }
5003
5014
 
5004
5015
  template <class _InputIterator, class _RandomAccessIterator>
@@ -5205,14 +5216,14 @@ inline _LIBCPP_INLINE_VISIBILITY
5205
5216
  void
5206
5217
  nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth, _RandomAccessIterator __last, _Compare __comp)
5207
5218
  {
5208
- #ifdef _LIBCPP_DEBUG2
5219
+ #ifdef _LIBCPP_DEBUG
5209
5220
  typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
5210
5221
  __debug_less<_Compare> __c(__comp);
5211
5222
  __nth_element<_Comp_ref>(__first, __nth, __last, __c);
5212
- #else // _LIBCPP_DEBUG2
5223
+ #else // _LIBCPP_DEBUG
5213
5224
  typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
5214
5225
  __nth_element<_Comp_ref>(__first, __nth, __last, __comp);
5215
- #endif // _LIBCPP_DEBUG2
5226
+ #endif // _LIBCPP_DEBUG
5216
5227
  }
5217
5228
 
5218
5229
  template <class _RandomAccessIterator>
@@ -5246,14 +5257,14 @@ bool
5246
5257
  includes(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2,
5247
5258
  _Compare __comp)
5248
5259
  {
5249
- #ifdef _LIBCPP_DEBUG2
5260
+ #ifdef _LIBCPP_DEBUG
5250
5261
  typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
5251
5262
  __debug_less<_Compare> __c(__comp);
5252
5263
  return __includes<_Comp_ref>(__first1, __last1, __first2, __last2, __c);
5253
- #else // _LIBCPP_DEBUG2
5264
+ #else // _LIBCPP_DEBUG
5254
5265
  typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
5255
5266
  return __includes<_Comp_ref>(__first1, __last1, __first2, __last2, __comp);
5256
- #endif // _LIBCPP_DEBUG2
5267
+ #endif // _LIBCPP_DEBUG
5257
5268
  }
5258
5269
 
5259
5270
  template <class _InputIterator1, class _InputIterator2>
@@ -5299,14 +5310,14 @@ _OutputIterator
5299
5310
  set_union(_InputIterator1 __first1, _InputIterator1 __last1,
5300
5311
  _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp)
5301
5312
  {
5302
- #ifdef _LIBCPP_DEBUG2
5313
+ #ifdef _LIBCPP_DEBUG
5303
5314
  typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
5304
5315
  __debug_less<_Compare> __c(__comp);
5305
5316
  return __set_union<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __c);
5306
- #else // _LIBCPP_DEBUG2
5317
+ #else // _LIBCPP_DEBUG
5307
5318
  typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
5308
5319
  return __set_union<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __comp);
5309
- #endif // _LIBCPP_DEBUG2
5320
+ #endif // _LIBCPP_DEBUG
5310
5321
  }
5311
5322
 
5312
5323
  template <class _InputIterator1, class _InputIterator2, class _OutputIterator>
@@ -5351,14 +5362,14 @@ _OutputIterator
5351
5362
  set_intersection(_InputIterator1 __first1, _InputIterator1 __last1,
5352
5363
  _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp)
5353
5364
  {
5354
- #ifdef _LIBCPP_DEBUG2
5365
+ #ifdef _LIBCPP_DEBUG
5355
5366
  typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
5356
5367
  __debug_less<_Compare> __c(__comp);
5357
5368
  return __set_intersection<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __c);
5358
- #else // _LIBCPP_DEBUG2
5369
+ #else // _LIBCPP_DEBUG
5359
5370
  typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
5360
5371
  return __set_intersection<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __comp);
5361
- #endif // _LIBCPP_DEBUG2
5372
+ #endif // _LIBCPP_DEBUG
5362
5373
  }
5363
5374
 
5364
5375
  template <class _InputIterator1, class _InputIterator2, class _OutputIterator>
@@ -5405,14 +5416,14 @@ _OutputIterator
5405
5416
  set_difference(_InputIterator1 __first1, _InputIterator1 __last1,
5406
5417
  _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp)
5407
5418
  {
5408
- #ifdef _LIBCPP_DEBUG2
5419
+ #ifdef _LIBCPP_DEBUG
5409
5420
  typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
5410
5421
  __debug_less<_Compare> __c(__comp);
5411
5422
  return __set_difference<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __c);
5412
- #else // _LIBCPP_DEBUG2
5423
+ #else // _LIBCPP_DEBUG
5413
5424
  typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
5414
5425
  return __set_difference<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __comp);
5415
- #endif // _LIBCPP_DEBUG2
5426
+ #endif // _LIBCPP_DEBUG
5416
5427
  }
5417
5428
 
5418
5429
  template <class _InputIterator1, class _InputIterator2, class _OutputIterator>
@@ -5464,14 +5475,14 @@ _OutputIterator
5464
5475
  set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1,
5465
5476
  _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp)
5466
5477
  {
5467
- #ifdef _LIBCPP_DEBUG2
5478
+ #ifdef _LIBCPP_DEBUG
5468
5479
  typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
5469
5480
  __debug_less<_Compare> __c(__comp);
5470
5481
  return __set_symmetric_difference<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __c);
5471
- #else // _LIBCPP_DEBUG2
5482
+ #else // _LIBCPP_DEBUG
5472
5483
  typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
5473
5484
  return __set_symmetric_difference<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __comp);
5474
- #endif // _LIBCPP_DEBUG2
5485
+ #endif // _LIBCPP_DEBUG
5475
5486
  }
5476
5487
 
5477
5488
  template <class _InputIterator1, class _InputIterator2, class _OutputIterator>
@@ -5508,14 +5519,14 @@ bool
5508
5519
  lexicographical_compare(_InputIterator1 __first1, _InputIterator1 __last1,
5509
5520
  _InputIterator2 __first2, _InputIterator2 __last2, _Compare __comp)
5510
5521
  {
5511
- #ifdef _LIBCPP_DEBUG2
5522
+ #ifdef _LIBCPP_DEBUG
5512
5523
  typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
5513
5524
  __debug_less<_Compare> __c(__comp);
5514
5525
  return __lexicographical_compare<_Comp_ref>(__first1, __last1, __first2, __last2, __c);
5515
- #else // _LIBCPP_DEBUG2
5526
+ #else // _LIBCPP_DEBUG
5516
5527
  typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
5517
5528
  return __lexicographical_compare<_Comp_ref>(__first1, __last1, __first2, __last2, __comp);
5518
- #endif // _LIBCPP_DEBUG2
5529
+ #endif // _LIBCPP_DEBUG
5519
5530
  }
5520
5531
 
5521
5532
  template <class _InputIterator1, class _InputIterator2>
@@ -5563,14 +5574,14 @@ inline _LIBCPP_INLINE_VISIBILITY
5563
5574
  bool
5564
5575
  next_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp)
5565
5576
  {
5566
- #ifdef _LIBCPP_DEBUG2
5577
+ #ifdef _LIBCPP_DEBUG
5567
5578
  typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
5568
5579
  __debug_less<_Compare> __c(__comp);
5569
5580
  return __next_permutation<_Comp_ref>(__first, __last, __c);
5570
- #else // _LIBCPP_DEBUG2
5581
+ #else // _LIBCPP_DEBUG
5571
5582
  typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
5572
5583
  return __next_permutation<_Comp_ref>(__first, __last, __comp);
5573
- #endif // _LIBCPP_DEBUG2
5584
+ #endif // _LIBCPP_DEBUG
5574
5585
  }
5575
5586
 
5576
5587
  template <class _BidirectionalIterator>
@@ -5616,14 +5627,14 @@ inline _LIBCPP_INLINE_VISIBILITY
5616
5627
  bool
5617
5628
  prev_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp)
5618
5629
  {
5619
- #ifdef _LIBCPP_DEBUG2
5630
+ #ifdef _LIBCPP_DEBUG
5620
5631
  typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
5621
5632
  __debug_less<_Compare> __c(__comp);
5622
5633
  return __prev_permutation<_Comp_ref>(__first, __last, __c);
5623
- #else // _LIBCPP_DEBUG2
5634
+ #else // _LIBCPP_DEBUG
5624
5635
  typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
5625
5636
  return __prev_permutation<_Comp_ref>(__first, __last, __comp);
5626
- #endif // _LIBCPP_DEBUG2
5637
+ #endif // _LIBCPP_DEBUG
5627
5638
  }
5628
5639
 
5629
5640
  template <class _BidirectionalIterator>