webruby 0.2.2 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
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>