webruby 0.2.7 → 0.9.1

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 (1537) hide show
  1. checksums.yaml +4 -4
  2. data/lib/webruby/environment.rb +24 -8
  3. data/lib/webruby/rake/files.rake +6 -22
  4. data/lib/webruby/rake/general.rake +1 -1
  5. data/lib/webruby/rake/mruby.rake +1 -0
  6. data/lib/webruby/utility.rb +14 -0
  7. data/modules/mruby/AUTHORS +14 -0
  8. data/modules/mruby/CONTRIBUTING.md +7 -4
  9. data/modules/mruby/INSTALL +28 -11
  10. data/modules/mruby/MITL +13 -13
  11. data/modules/mruby/Makefile +4 -5
  12. data/modules/mruby/README.md +54 -49
  13. data/modules/mruby/Rakefile +36 -6
  14. data/modules/mruby/benchmark/ao-render.rb +1 -2
  15. data/modules/mruby/benchmark/bm_app_lc_fizzbuzz.rb +52 -0
  16. data/modules/mruby/benchmark/fib39.rb +0 -0
  17. data/modules/mruby/bintest/mrbc.rb +12 -0
  18. data/modules/mruby/build_config.rb +32 -2
  19. data/modules/mruby/doc/api/README.md +30 -0
  20. data/modules/mruby/doc/api/mruby.h.md +69 -0
  21. data/modules/mruby/doc/compile/README.md +208 -99
  22. data/modules/mruby/doc/debugger/README.md +370 -0
  23. data/modules/mruby/doc/language/Core.md +1590 -0
  24. data/modules/mruby/doc/language/README.md +9 -0
  25. data/modules/mruby/doc/language/generator.rb +15 -0
  26. data/modules/mruby/doc/language/mrbdoc/lib/mrbdoc_analyze.rb +231 -0
  27. data/modules/mruby/doc/language/mrbdoc/lib/mrbdoc_docu.rb +118 -0
  28. data/modules/mruby/doc/language/mrbdoc/mrbdoc.rb +38 -0
  29. data/modules/mruby/doc/mrbconf/README.md +160 -0
  30. data/modules/mruby/doc/mrbgems/README.md +136 -66
  31. data/modules/mruby/examples/mrbgems/c_and_ruby_extension_example/mrbgem.rake +1 -1
  32. data/modules/mruby/examples/mrbgems/c_and_ruby_extension_example/src/example.c +1 -1
  33. data/modules/mruby/examples/mrbgems/c_extension_example/mrbgem.rake +1 -1
  34. data/modules/mruby/examples/mrbgems/c_extension_example/src/example.c +1 -1
  35. data/modules/mruby/examples/mrbgems/ruby_extension_example/mrbgem.rake +1 -1
  36. data/modules/mruby/examples/targets/{ArduinoDue.rb → build_config_ArduinoDue.rb} +32 -6
  37. data/modules/mruby/examples/targets/build_config_IntelGalileo.rb +106 -0
  38. data/modules/mruby/examples/targets/{chipKitMax32.rb → build_config_chipKITMax32.rb} +26 -7
  39. data/modules/mruby/include/mrbconf.h +25 -1
  40. data/modules/mruby/include/mruby/array.h +32 -22
  41. data/modules/mruby/include/mruby/boxing_nan.h +94 -0
  42. data/modules/mruby/include/mruby/boxing_no.h +49 -0
  43. data/modules/mruby/include/mruby/boxing_word.h +119 -0
  44. data/modules/mruby/include/mruby/class.h +15 -13
  45. data/modules/mruby/include/mruby/compile.h +43 -36
  46. data/modules/mruby/include/mruby/data.h +13 -5
  47. data/modules/mruby/include/mruby/debug.h +9 -9
  48. data/modules/mruby/include/mruby/dump.h +32 -23
  49. data/modules/mruby/include/mruby/error.h +36 -0
  50. data/modules/mruby/include/mruby/gc.h +11 -6
  51. data/modules/mruby/include/mruby/hash.h +12 -12
  52. data/modules/mruby/include/mruby/irep.h +9 -3
  53. data/modules/mruby/include/mruby/khash.h +58 -41
  54. data/modules/mruby/include/mruby/numeric.h +38 -4
  55. data/modules/mruby/include/mruby/object.h +55 -0
  56. data/modules/mruby/include/mruby/opcode.h +160 -0
  57. data/modules/mruby/include/mruby/proc.h +19 -5
  58. data/modules/mruby/include/mruby/range.h +4 -3
  59. data/modules/mruby/include/mruby/re.h +20 -0
  60. data/modules/mruby/include/mruby/string.h +86 -47
  61. data/modules/mruby/include/mruby/value.h +100 -374
  62. data/modules/mruby/include/mruby/variable.h +34 -32
  63. data/modules/mruby/include/mruby/version.h +40 -0
  64. data/modules/mruby/include/mruby.h +211 -139
  65. data/modules/mruby/minirake +16 -9
  66. data/modules/mruby/mrbgems/default.gembox +12 -0
  67. data/modules/mruby/mrbgems/full-core.gembox +3 -3
  68. data/modules/mruby/mrbgems/mruby-array-ext/mrbgem.rake +1 -0
  69. data/modules/mruby/mrbgems/mruby-array-ext/mrblib/array.rb +488 -8
  70. data/modules/mruby/mrbgems/mruby-array-ext/src/array.c +57 -31
  71. data/modules/mruby/mrbgems/mruby-array-ext/test/array.rb +231 -45
  72. data/modules/mruby/mrbgems/mruby-bin-debugger/bintest/mrdb.rb +286 -0
  73. data/modules/mruby/mrbgems/mruby-bin-debugger/bintest/print.rb +701 -0
  74. data/modules/mruby/mrbgems/mruby-bin-debugger/mrbgem.rake +9 -0
  75. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apibreak.c +516 -0
  76. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apibreak.h +26 -0
  77. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apilist.c +235 -0
  78. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apilist.h +14 -0
  79. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.c +78 -0
  80. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.h +13 -0
  81. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdbreak.c +428 -0
  82. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdmisc.c +501 -0
  83. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdprint.c +58 -0
  84. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdrun.c +54 -0
  85. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c +746 -0
  86. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.h +163 -0
  87. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdbconf.h +16 -0
  88. data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdberror.h +20 -0
  89. data/modules/mruby/mrbgems/mruby-bin-mirb/bintest/mirb.rb +12 -0
  90. data/modules/mruby/mrbgems/mruby-bin-mirb/mrbgem.rake +14 -1
  91. data/modules/mruby/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +154 -72
  92. data/modules/mruby/mrbgems/mruby-bin-mruby/bintest/mruby.rb +46 -0
  93. data/modules/mruby/mrbgems/mruby-bin-mruby/mrbgem.rake +1 -0
  94. data/modules/mruby/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c +37 -28
  95. data/modules/mruby/mrbgems/mruby-bin-mruby-config/mrbgem.rake +30 -0
  96. data/modules/mruby/mrbgems/mruby-bin-mruby-config/mruby-config +16 -0
  97. data/modules/mruby/mrbgems/mruby-bin-mruby-config/mruby-config.bat +30 -0
  98. data/modules/mruby/mrbgems/mruby-bin-strip/bintest/mruby-strip.rb +73 -0
  99. data/modules/mruby/mrbgems/mruby-bin-strip/mrbgem.rake +6 -0
  100. data/modules/mruby/mrbgems/mruby-bin-strip/tools/mruby-strip/mruby-strip.c +155 -0
  101. data/modules/mruby/mrbgems/mruby-enum-ext/mrbgem.rake +1 -0
  102. data/modules/mruby/mrbgems/mruby-enum-ext/mrblib/enum.rb +555 -21
  103. data/modules/mruby/mrbgems/mruby-enum-ext/test/enum.rb +119 -0
  104. data/modules/mruby/mrbgems/mruby-enum-lazy/mrbgem.rake +7 -0
  105. data/modules/mruby/mrbgems/mruby-enum-lazy/mrblib/lazy.rb +150 -0
  106. data/modules/mruby/mrbgems/mruby-enum-lazy/test/lazy.rb +47 -0
  107. data/modules/mruby/mrbgems/mruby-enumerator/mrbgem.rake +7 -0
  108. data/modules/mruby/mrbgems/mruby-enumerator/mrblib/enumerator.rb +636 -0
  109. data/modules/mruby/mrbgems/mruby-enumerator/test/enumerator.rb +537 -0
  110. data/modules/mruby/mrbgems/mruby-eval/mrbgem.rake +1 -0
  111. data/modules/mruby/mrbgems/mruby-eval/src/eval.c +243 -4
  112. data/modules/mruby/mrbgems/mruby-eval/test/eval.rb +80 -0
  113. data/modules/mruby/mrbgems/mruby-exit/mrbgem.rake +1 -0
  114. data/modules/mruby/mrbgems/mruby-exit/src/mruby-exit.c +1 -1
  115. data/modules/mruby/mrbgems/mruby-fiber/mrbgem.rake +1 -0
  116. data/modules/mruby/mrbgems/mruby-fiber/src/fiber.c +157 -51
  117. data/modules/mruby/mrbgems/mruby-fiber/test/fiber.rb +179 -35
  118. data/modules/mruby/mrbgems/mruby-hash-ext/mrbgem.rake +3 -0
  119. data/modules/mruby/mrbgems/mruby-hash-ext/mrblib/hash.rb +241 -1
  120. data/modules/mruby/mrbgems/mruby-hash-ext/src/hash-ext.c +11 -19
  121. data/modules/mruby/mrbgems/mruby-hash-ext/test/hash.rb +138 -1
  122. data/modules/mruby/mrbgems/mruby-kernel-ext/mrbgem.rake +5 -0
  123. data/modules/mruby/mrbgems/mruby-kernel-ext/src/kernel.c +183 -0
  124. data/modules/mruby/mrbgems/mruby-kernel-ext/test/kernel.rb +53 -0
  125. data/modules/mruby/mrbgems/mruby-math/mrbgem.rake +1 -0
  126. data/modules/mruby/mrbgems/mruby-math/src/math.c +107 -14
  127. data/modules/mruby/mrbgems/mruby-math/test/math.rb +16 -0
  128. data/modules/mruby/mrbgems/mruby-numeric-ext/mrbgem.rake +1 -0
  129. data/modules/mruby/mrbgems/mruby-numeric-ext/mrblib/numeric_ext.rb +5 -0
  130. data/modules/mruby/mrbgems/mruby-numeric-ext/test/numeric.rb +9 -1
  131. data/modules/mruby/mrbgems/mruby-object-ext/mrbgem.rake +1 -0
  132. data/modules/mruby/mrbgems/mruby-object-ext/mrblib/object.rb +19 -0
  133. data/modules/mruby/mrbgems/mruby-object-ext/src/object.c +5 -8
  134. data/modules/mruby/mrbgems/mruby-object-ext/test/object.rb +16 -0
  135. data/modules/mruby/mrbgems/mruby-objectspace/mrbgem.rake +1 -0
  136. data/modules/mruby/mrbgems/mruby-objectspace/src/mruby_objectspace.c +121 -53
  137. data/modules/mruby/mrbgems/mruby-objectspace/test/objectspace.rb +27 -4
  138. data/modules/mruby/mrbgems/mruby-print/mrbgem.rake +1 -0
  139. data/modules/mruby/mrbgems/mruby-print/src/print.c +3 -5
  140. data/modules/mruby/mrbgems/mruby-proc-ext/mrbgem.rake +1 -0
  141. data/modules/mruby/mrbgems/mruby-proc-ext/src/proc.c +89 -19
  142. data/modules/mruby/mrbgems/mruby-proc-ext/test/proc.c +56 -0
  143. data/modules/mruby/mrbgems/mruby-proc-ext/test/proc.rb +47 -0
  144. data/modules/mruby/mrbgems/mruby-random/mrbgem.rake +1 -0
  145. data/modules/mruby/mrbgems/mruby-random/src/mt19937ar.c +30 -25
  146. data/modules/mruby/mrbgems/mruby-random/src/mt19937ar.h +6 -3
  147. data/modules/mruby/mrbgems/mruby-random/src/random.c +157 -137
  148. data/modules/mruby/mrbgems/mruby-random/src/random.h +3 -3
  149. data/modules/mruby/mrbgems/mruby-random/test/random.rb +9 -9
  150. data/modules/mruby/mrbgems/mruby-range-ext/mrbgem.rake +1 -0
  151. data/modules/mruby/mrbgems/mruby-range-ext/src/range.c +57 -3
  152. data/modules/mruby/mrbgems/mruby-range-ext/test/range.rb +9 -0
  153. data/modules/mruby/mrbgems/mruby-sprintf/mrbgem.rake +1 -0
  154. data/modules/mruby/mrbgems/mruby-sprintf/mrblib/string.rb +9 -0
  155. data/modules/mruby/mrbgems/mruby-sprintf/src/sprintf.c +29 -23
  156. data/modules/mruby/mrbgems/mruby-sprintf/test/sprintf.rb +7 -2
  157. data/modules/mruby/mrbgems/mruby-string-ext/mrbgem.rake +1 -0
  158. data/modules/mruby/mrbgems/mruby-string-ext/mrblib/string.rb +250 -11
  159. data/modules/mruby/mrbgems/mruby-string-ext/src/string.c +220 -5
  160. data/modules/mruby/mrbgems/mruby-string-ext/test/string.rb +326 -4
  161. data/modules/mruby/mrbgems/mruby-string-utf8/mrbgem.rake +2 -0
  162. data/modules/mruby/mrbgems/mruby-string-utf8/src/string.c +486 -52
  163. data/modules/mruby/mrbgems/mruby-string-utf8/test/string.rb +97 -14
  164. data/modules/mruby/mrbgems/mruby-struct/mrbgem.rake +1 -0
  165. data/modules/mruby/mrbgems/mruby-struct/mrblib/struct.rb +31 -0
  166. data/modules/mruby/mrbgems/mruby-struct/src/struct.c +178 -196
  167. data/modules/mruby/mrbgems/mruby-struct/test/struct.rb +115 -61
  168. data/modules/mruby/mrbgems/mruby-symbol-ext/mrbgem.rake +1 -0
  169. data/modules/mruby/mrbgems/mruby-symbol-ext/mrblib/symbol.rb +22 -17
  170. data/modules/mruby/mrbgems/mruby-symbol-ext/src/symbol.c +20 -11
  171. data/modules/mruby/mrbgems/mruby-symbol-ext/test/symbol.rb +14 -0
  172. data/modules/mruby/mrbgems/mruby-time/mrbgem.rake +1 -0
  173. data/modules/mruby/mrbgems/mruby-time/mrblib/time.rb +9 -0
  174. data/modules/mruby/mrbgems/mruby-time/src/time.c +98 -37
  175. data/modules/mruby/mrbgems/mruby-time/test/time.rb +152 -148
  176. data/modules/mruby/mrbgems/mruby-toplevel-ext/mrbgem.rake +1 -0
  177. data/modules/mruby/mrbgems/mruby-toplevel-ext/test/toplevel.rb +1 -1
  178. data/modules/mruby/mrblib/array.rb +110 -4
  179. data/modules/mruby/mrblib/class.rb +1 -22
  180. data/modules/mruby/mrblib/compar.rb +10 -30
  181. data/modules/mruby/mrblib/enum.rb +64 -52
  182. data/modules/mruby/mrblib/error.rb +9 -4
  183. data/modules/mruby/mrblib/hash.rb +164 -23
  184. data/modules/mruby/mrblib/kernel.rb +26 -22
  185. data/modules/mruby/mrblib/mrblib.rake +4 -4
  186. data/modules/mruby/mrblib/numeric.rb +22 -9
  187. data/modules/mruby/mrblib/range.rb +24 -2
  188. data/modules/mruby/mrblib/string.rb +15 -3
  189. data/modules/mruby/src/array.c +279 -339
  190. data/modules/mruby/src/backtrace.c +68 -16
  191. data/modules/mruby/src/class.c +539 -379
  192. data/modules/mruby/src/codegen.c +424 -207
  193. data/modules/mruby/src/compar.c +1 -1
  194. data/modules/mruby/src/crc.c +7 -6
  195. data/modules/mruby/src/debug.c +37 -36
  196. data/modules/mruby/src/dump.c +463 -213
  197. data/modules/mruby/src/enum.c +1 -1
  198. data/modules/mruby/src/error.c +91 -92
  199. data/modules/mruby/src/error.h +3 -19
  200. data/modules/mruby/src/etc.c +85 -82
  201. data/modules/mruby/src/gc.c +134 -108
  202. data/modules/mruby/src/hash.c +161 -565
  203. data/modules/mruby/src/init.c +2 -13
  204. data/modules/mruby/src/kernel.c +217 -251
  205. data/modules/mruby/src/load.c +280 -283
  206. data/modules/mruby/src/mrb_throw.h +41 -0
  207. data/modules/mruby/src/mruby_core.rake +57 -7
  208. data/modules/mruby/src/node.h +104 -104
  209. data/modules/mruby/src/numeric.c +221 -208
  210. data/modules/mruby/src/object.c +41 -42
  211. data/modules/mruby/src/opcode.h +2 -160
  212. data/modules/mruby/src/parse.y +3430 -3223
  213. data/modules/mruby/src/pool.c +13 -9
  214. data/modules/mruby/src/print.c +20 -17
  215. data/modules/mruby/src/proc.c +77 -21
  216. data/modules/mruby/src/range.c +55 -45
  217. data/modules/mruby/src/state.c +95 -31
  218. data/modules/mruby/src/string.c +462 -468
  219. data/modules/mruby/src/symbol.c +95 -85
  220. data/modules/mruby/src/variable.c +104 -74
  221. data/modules/mruby/src/version.c +13 -0
  222. data/modules/mruby/src/vm.c +528 -296
  223. data/modules/mruby/tasks/libmruby.rake +9 -5
  224. data/modules/mruby/tasks/mrbgem_spec.rake +130 -26
  225. data/modules/mruby/tasks/mrbgems.rake +21 -11
  226. data/modules/mruby/tasks/mrbgems_test.rake +46 -40
  227. data/modules/mruby/tasks/mruby_build.rake +54 -12
  228. data/modules/mruby/tasks/mruby_build_commands.rake +34 -5
  229. data/modules/mruby/tasks/mruby_build_gem.rake +25 -3
  230. data/modules/mruby/tasks/ruby_ext.rake +11 -2
  231. data/modules/mruby/tasks/toolchains/clang.rake +2 -1
  232. data/modules/mruby/tasks/toolchains/gcc.rake +26 -3
  233. data/modules/mruby/tasks/toolchains/visualcpp.rake +17 -8
  234. data/modules/mruby/test/assert.rb +30 -8
  235. data/modules/mruby/test/bintest.rb +10 -0
  236. data/modules/mruby/test/driver.c +74 -24
  237. data/modules/mruby/test/init_mrbtest.c +21 -2
  238. data/modules/mruby/test/mrbtest.rake +27 -5
  239. data/modules/mruby/test/t/argumenterror.rb +0 -5
  240. data/modules/mruby/test/t/array.rb +23 -7
  241. data/modules/mruby/test/t/bs_block.rb +32 -0
  242. data/modules/mruby/test/t/class.rb +29 -5
  243. data/modules/mruby/test/t/comparable.rb +20 -12
  244. data/modules/mruby/test/t/enumerable.rb +33 -7
  245. data/modules/mruby/test/t/exception.rb +63 -38
  246. data/modules/mruby/test/t/false.rb +2 -4
  247. data/modules/mruby/test/t/float.rb +39 -4
  248. data/modules/mruby/test/t/hash.rb +40 -6
  249. data/modules/mruby/test/t/indexerror.rb +0 -4
  250. data/modules/mruby/test/t/integer.rb +41 -5
  251. data/modules/mruby/test/t/kernel.rb +90 -3
  252. data/modules/mruby/test/t/localjumperror.rb +4 -4
  253. data/modules/mruby/test/t/methods.rb +1 -1
  254. data/modules/mruby/test/t/module.rb +43 -13
  255. data/modules/mruby/test/t/nameerror.rb +0 -4
  256. data/modules/mruby/test/t/nil.rb +5 -0
  257. data/modules/mruby/test/t/nomethoderror.rb +11 -2
  258. data/modules/mruby/test/t/numeric.rb +18 -4
  259. data/modules/mruby/test/t/proc.rb +59 -6
  260. data/modules/mruby/test/t/range.rb +15 -5
  261. data/modules/mruby/test/t/rangeerror.rb +0 -4
  262. data/modules/mruby/test/t/standarderror.rb +0 -4
  263. data/modules/mruby/test/t/string.rb +56 -12
  264. data/modules/mruby/test/t/superclass.rb +46 -0
  265. data/modules/mruby/test/t/symbol.rb +0 -4
  266. data/modules/mruby/test/t/syntax.rb +134 -1
  267. data/modules/mruby/test/t/true.rb +2 -4
  268. data/modules/mruby/test/t/typeerror.rb +0 -5
  269. data/modules/mruby/test/t/unicode.rb +35 -0
  270. data/modules/mruby/tools/mrbc/mrbc.c +9 -12
  271. data/modules/mruby/travis_config.rb +22 -2
  272. metadata +98 -1299
  273. data/modules/emscripten/AUTHORS +0 -117
  274. data/modules/emscripten/CONTRIBUTING.markdown +0 -5
  275. data/modules/emscripten/ChangeLog +0 -468
  276. data/modules/emscripten/LICENSE +0 -94
  277. data/modules/emscripten/README.markdown +0 -14
  278. data/modules/emscripten/cmake/Modules/FindOpenAL.cmake +0 -26
  279. data/modules/emscripten/cmake/Platform/Emscripten.cmake +0 -228
  280. data/modules/emscripten/em++ +0 -12
  281. data/modules/emscripten/em++.bat +0 -2
  282. data/modules/emscripten/em-config +0 -24
  283. data/modules/emscripten/em-config.bat +0 -2
  284. data/modules/emscripten/emar +0 -24
  285. data/modules/emscripten/emar.bat +0 -2
  286. data/modules/emscripten/emcc +0 -2069
  287. data/modules/emscripten/emcc.bat +0 -2
  288. data/modules/emscripten/emcc.py +0 -5
  289. data/modules/emscripten/emconfigure +0 -27
  290. data/modules/emscripten/emconfigure.bat +0 -2
  291. data/modules/emscripten/emlink.py +0 -33
  292. data/modules/emscripten/emmake +0 -29
  293. data/modules/emscripten/emmake.bat +0 -2
  294. data/modules/emscripten/emranlib +0 -9
  295. data/modules/emscripten/emranlib.bat +0 -2
  296. data/modules/emscripten/emrun +0 -1087
  297. data/modules/emscripten/emrun.bat +0 -2
  298. data/modules/emscripten/emscons +0 -20
  299. data/modules/emscripten/emscripten.py +0 -1347
  300. data/modules/emscripten/package.json +0 -7
  301. data/modules/emscripten/patches/README +0 -4
  302. data/modules/emscripten/patches/series +0 -2
  303. data/modules/emscripten/scons-tools/closure.py +0 -28
  304. data/modules/emscripten/scons-tools/emscripten.py +0 -364
  305. data/modules/emscripten/scons-tools/llvm.py +0 -34
  306. data/modules/emscripten/src/analyzer.js +0 -1781
  307. data/modules/emscripten/src/closure-externs.js +0 -110
  308. data/modules/emscripten/src/compiler.html +0 -48
  309. data/modules/emscripten/src/compiler.js +0 -331
  310. data/modules/emscripten/src/compiler_phase.html +0 -33
  311. data/modules/emscripten/src/corruptionCheck.js +0 -98
  312. data/modules/emscripten/src/determinstic.js +0 -20
  313. data/modules/emscripten/src/embind/embind.js +0 -1677
  314. data/modules/emscripten/src/embind/emval.js +0 -284
  315. data/modules/emscripten/src/emrun_postjs.js +0 -20
  316. data/modules/emscripten/src/emrun_prejs.js +0 -5
  317. data/modules/emscripten/src/emscripten-source-map.min.js +0 -31
  318. data/modules/emscripten/src/experimental/allow_loopvars_from_memsetcpy_inasm.diff +0 -97
  319. data/modules/emscripten/src/experimental/batching.diff +0 -44
  320. data/modules/emscripten/src/experimental/functypeopt.diff +0 -113
  321. data/modules/emscripten/src/experimental/multiple_heaps.diff +0 -175
  322. data/modules/emscripten/src/experimental/noncallgraphprofiling.diff +0 -197
  323. data/modules/emscripten/src/experimental/optimize_memcpy_for_ta1.diff +0 -124
  324. data/modules/emscripten/src/experimental/remove__label__s.diff +0 -140
  325. data/modules/emscripten/src/experimental/renderer_cache_hash.diff +0 -99
  326. data/modules/emscripten/src/experimental/sdl_key_forwarding.diff +0 -57
  327. data/modules/emscripten/src/experimental/simplifyGeneratedFunctionsDetection.diff +0 -336
  328. data/modules/emscripten/src/experimental/stringCache.diff +0 -147
  329. data/modules/emscripten/src/fastLong.js +0 -299
  330. data/modules/emscripten/src/gl-matrix.js +0 -1952
  331. data/modules/emscripten/src/headless.js +0 -295
  332. data/modules/emscripten/src/headlessCanvas.js +0 -618
  333. data/modules/emscripten/src/hello_world.js +0 -92
  334. data/modules/emscripten/src/intertyper.js +0 -1228
  335. data/modules/emscripten/src/jsifier.js +0 -1969
  336. data/modules/emscripten/src/library.js +0 -9196
  337. data/modules/emscripten/src/library_browser.js +0 -988
  338. data/modules/emscripten/src/library_egl.js +0 -564
  339. data/modules/emscripten/src/library_fs.js +0 -1619
  340. data/modules/emscripten/src/library_gc.js +0 -236
  341. data/modules/emscripten/src/library_gl.js +0 -5194
  342. data/modules/emscripten/src/library_glfw.js +0 -585
  343. data/modules/emscripten/src/library_glut.js +0 -504
  344. data/modules/emscripten/src/library_idbfs.js +0 -216
  345. data/modules/emscripten/src/library_jansson.js +0 -320
  346. data/modules/emscripten/src/library_memfs.js +0 -303
  347. data/modules/emscripten/src/library_nodefs.js +0 -286
  348. data/modules/emscripten/src/library_openal.js +0 -915
  349. data/modules/emscripten/src/library_path.js +0 -133
  350. data/modules/emscripten/src/library_sdl.js +0 -2728
  351. data/modules/emscripten/src/library_sockfs.js +0 -578
  352. data/modules/emscripten/src/library_strtok_r.c +0 -97
  353. data/modules/emscripten/src/library_tty.js +0 -146
  354. data/modules/emscripten/src/library_uuid.js +0 -140
  355. data/modules/emscripten/src/library_xlib.js +0 -23
  356. data/modules/emscripten/src/long.js +0 -1609
  357. data/modules/emscripten/src/modules.js +0 -543
  358. data/modules/emscripten/src/parseTools.js +0 -2723
  359. data/modules/emscripten/src/postamble.js +0 -239
  360. data/modules/emscripten/src/postamble_sharedlib.js +0 -16
  361. data/modules/emscripten/src/preamble.js +0 -1233
  362. data/modules/emscripten/src/preamble_sharedlib.js +0 -25
  363. data/modules/emscripten/src/proxyClient.js +0 -82
  364. data/modules/emscripten/src/proxyWorker.js +0 -143
  365. data/modules/emscripten/src/relooper/README.markdown +0 -14
  366. data/modules/emscripten/src/relooper/Relooper.cpp +0 -1301
  367. data/modules/emscripten/src/relooper/Relooper.h +0 -257
  368. data/modules/emscripten/src/relooper/doit.sh +0 -70
  369. data/modules/emscripten/src/relooper/emscripten/glue.js +0 -67
  370. data/modules/emscripten/src/relooper/emscripten/test.js +0 -44
  371. data/modules/emscripten/src/relooper/fuzzer.py +0 -131
  372. data/modules/emscripten/src/relooper/ministring.h +0 -35
  373. data/modules/emscripten/src/relooper/paper.pdf +0 -0
  374. data/modules/emscripten/src/relooper/test.cpp +0 -290
  375. data/modules/emscripten/src/relooper/test.txt +0 -317
  376. data/modules/emscripten/src/relooper/test2.c +0 -44
  377. data/modules/emscripten/src/relooper/test2.txt +0 -26
  378. data/modules/emscripten/src/relooper/test3.c +0 -42
  379. data/modules/emscripten/src/relooper/test3.txt +0 -56
  380. data/modules/emscripten/src/relooper/test4.cpp +0 -40
  381. data/modules/emscripten/src/relooper/test4.txt +0 -44
  382. data/modules/emscripten/src/relooper/test5.cpp +0 -40
  383. data/modules/emscripten/src/relooper/test5.txt +0 -56
  384. data/modules/emscripten/src/relooper/test6.cpp +0 -31
  385. data/modules/emscripten/src/relooper/test6.txt +0 -26
  386. data/modules/emscripten/src/relooper/test_dead.cpp +0 -28
  387. data/modules/emscripten/src/relooper/test_dead.txt +0 -9
  388. data/modules/emscripten/src/relooper/test_debug.cpp +0 -30
  389. data/modules/emscripten/src/relooper/test_debug.txt +0 -142
  390. data/modules/emscripten/src/relooper/test_fuzz1.cpp +0 -52
  391. data/modules/emscripten/src/relooper/test_fuzz1.txt +0 -72
  392. data/modules/emscripten/src/relooper/test_fuzz2.cpp +0 -34
  393. data/modules/emscripten/src/relooper/test_fuzz2.txt +0 -30
  394. data/modules/emscripten/src/relooper/test_fuzz3.cpp +0 -36
  395. data/modules/emscripten/src/relooper/test_fuzz3.txt +0 -25
  396. data/modules/emscripten/src/relooper/test_fuzz4.cpp +0 -38
  397. data/modules/emscripten/src/relooper/test_fuzz4.txt +0 -41
  398. data/modules/emscripten/src/relooper/test_fuzz5.cpp +0 -57
  399. data/modules/emscripten/src/relooper/test_fuzz5.txt +0 -86
  400. data/modules/emscripten/src/relooper/test_fuzz6.cpp +0 -322
  401. data/modules/emscripten/src/relooper/test_fuzz6.txt +0 -291
  402. data/modules/emscripten/src/relooper/test_inf.cpp +0 -813
  403. data/modules/emscripten/src/relooper/test_inf.txt +0 -1131
  404. data/modules/emscripten/src/relooper/testit.sh +0 -62
  405. data/modules/emscripten/src/relooper/updateit.sh +0 -17
  406. data/modules/emscripten/src/runtime.js +0 -604
  407. data/modules/emscripten/src/settings.js +0 -476
  408. data/modules/emscripten/src/shell.html +0 -95
  409. data/modules/emscripten/src/shell.js +0 -173
  410. data/modules/emscripten/src/shell_sharedlib.js +0 -29
  411. data/modules/emscripten/src/simd.js +0 -1128
  412. data/modules/emscripten/src/socket.io.js +0 -3870
  413. data/modules/emscripten/src/struct_info.json +0 -1077
  414. data/modules/emscripten/src/utility.js +0 -411
  415. data/modules/emscripten/src/wrtcp.js +0 -821
  416. data/modules/emscripten/system/bin/sdl-config +0 -13
  417. data/modules/emscripten/system/include/AL/al.h +0 -172
  418. data/modules/emscripten/system/include/AL/alc.h +0 -84
  419. data/modules/emscripten/system/include/EGL/egl.h +0 -329
  420. data/modules/emscripten/system/include/EGL/eglext.h +0 -398
  421. data/modules/emscripten/system/include/EGL/eglplatform.h +0 -141
  422. data/modules/emscripten/system/include/GL/freeglut_std.h +0 -628
  423. data/modules/emscripten/system/include/GL/gl.h +0 -2241
  424. data/modules/emscripten/system/include/GL/glew.h +0 -6
  425. data/modules/emscripten/system/include/GL/glext.h +0 -11127
  426. data/modules/emscripten/system/include/GL/glfw.h +0 -518
  427. data/modules/emscripten/system/include/GL/glu.h +0 -353
  428. data/modules/emscripten/system/include/GL/glut.h +0 -21
  429. data/modules/emscripten/system/include/GLES/gl.h +0 -770
  430. data/modules/emscripten/system/include/GLES/glext.h +0 -1278
  431. data/modules/emscripten/system/include/GLES/glplatform.h +0 -30
  432. data/modules/emscripten/system/include/GLES2/gl2.h +0 -621
  433. data/modules/emscripten/system/include/GLES2/gl2ext.h +0 -803
  434. data/modules/emscripten/system/include/GLES2/gl2platform.h +0 -30
  435. data/modules/emscripten/system/include/KHR/khrplatform.h +0 -277
  436. data/modules/emscripten/system/include/SDL/COPYING +0 -19
  437. data/modules/emscripten/system/include/SDL/SDL.h +0 -162
  438. data/modules/emscripten/system/include/SDL/SDL_assert.h +0 -241
  439. data/modules/emscripten/system/include/SDL/SDL_atomic.h +0 -318
  440. data/modules/emscripten/system/include/SDL/SDL_audio.h +0 -509
  441. data/modules/emscripten/system/include/SDL/SDL_blendmode.h +0 -60
  442. data/modules/emscripten/system/include/SDL/SDL_clipboard.h +0 -75
  443. data/modules/emscripten/system/include/SDL/SDL_compat.h +0 -365
  444. data/modules/emscripten/system/include/SDL/SDL_config.h +0 -48
  445. data/modules/emscripten/system/include/SDL/SDL_config.h.in +0 -297
  446. data/modules/emscripten/system/include/SDL/SDL_config_android.h +0 -133
  447. data/modules/emscripten/system/include/SDL/SDL_config_iphoneos.h +0 -148
  448. data/modules/emscripten/system/include/SDL/SDL_config_macosx.h +0 -172
  449. data/modules/emscripten/system/include/SDL/SDL_config_minimal.h +0 -74
  450. data/modules/emscripten/system/include/SDL/SDL_config_nintendods.h +0 -129
  451. data/modules/emscripten/system/include/SDL/SDL_config_pandora.h +0 -125
  452. data/modules/emscripten/system/include/SDL/SDL_config_windows.h +0 -207
  453. data/modules/emscripten/system/include/SDL/SDL_config_wiz.h +0 -119
  454. data/modules/emscripten/system/include/SDL/SDL_copying.h +0 -20
  455. data/modules/emscripten/system/include/SDL/SDL_cpuinfo.h +0 -150
  456. data/modules/emscripten/system/include/SDL/SDL_endian.h +0 -248
  457. data/modules/emscripten/system/include/SDL/SDL_error.h +0 -77
  458. data/modules/emscripten/system/include/SDL/SDL_events.h +0 -640
  459. data/modules/emscripten/system/include/SDL/SDL_gesture.h +0 -91
  460. data/modules/emscripten/system/include/SDL/SDL_gfxPrimitives.h +0 -246
  461. data/modules/emscripten/system/include/SDL/SDL_haptic.h +0 -1200
  462. data/modules/emscripten/system/include/SDL/SDL_hints.h +0 -206
  463. data/modules/emscripten/system/include/SDL/SDL_image.h +0 -138
  464. data/modules/emscripten/system/include/SDL/SDL_input.h +0 -87
  465. data/modules/emscripten/system/include/SDL/SDL_joystick.h +0 -208
  466. data/modules/emscripten/system/include/SDL/SDL_keyboard.h +0 -169
  467. data/modules/emscripten/system/include/SDL/SDL_keycode.h +0 -344
  468. data/modules/emscripten/system/include/SDL/SDL_loadso.h +0 -85
  469. data/modules/emscripten/system/include/SDL/SDL_log.h +0 -211
  470. data/modules/emscripten/system/include/SDL/SDL_main.h +0 -98
  471. data/modules/emscripten/system/include/SDL/SDL_mixer.h +0 -634
  472. data/modules/emscripten/system/include/SDL/SDL_mouse.h +0 -213
  473. data/modules/emscripten/system/include/SDL/SDL_mutex.h +0 -248
  474. data/modules/emscripten/system/include/SDL/SDL_name.h +0 -11
  475. data/modules/emscripten/system/include/SDL/SDL_opengl.h +0 -11116
  476. data/modules/emscripten/system/include/SDL/SDL_opengles.h +0 -38
  477. data/modules/emscripten/system/include/SDL/SDL_opengles2.h +0 -38
  478. data/modules/emscripten/system/include/SDL/SDL_pixels.h +0 -423
  479. data/modules/emscripten/system/include/SDL/SDL_platform.h +0 -160
  480. data/modules/emscripten/system/include/SDL/SDL_power.h +0 -79
  481. data/modules/emscripten/system/include/SDL/SDL_quit.h +0 -58
  482. data/modules/emscripten/system/include/SDL/SDL_rect.h +0 -136
  483. data/modules/emscripten/system/include/SDL/SDL_render.h +0 -615
  484. data/modules/emscripten/system/include/SDL/SDL_revision.h +0 -2
  485. data/modules/emscripten/system/include/SDL/SDL_revision.h.orig +0 -2
  486. data/modules/emscripten/system/include/SDL/SDL_rotozoom.h +0 -123
  487. data/modules/emscripten/system/include/SDL/SDL_rwops.h +0 -220
  488. data/modules/emscripten/system/include/SDL/SDL_scancode.h +0 -398
  489. data/modules/emscripten/system/include/SDL/SDL_shape.h +0 -147
  490. data/modules/emscripten/system/include/SDL/SDL_stdinc.h +0 -764
  491. data/modules/emscripten/system/include/SDL/SDL_surface.h +0 -499
  492. data/modules/emscripten/system/include/SDL/SDL_syswm.h +0 -241
  493. data/modules/emscripten/system/include/SDL/SDL_thread.h +0 -182
  494. data/modules/emscripten/system/include/SDL/SDL_timer.h +0 -108
  495. data/modules/emscripten/system/include/SDL/SDL_touch.h +0 -124
  496. data/modules/emscripten/system/include/SDL/SDL_ttf.h +0 -249
  497. data/modules/emscripten/system/include/SDL/SDL_types.h +0 -29
  498. data/modules/emscripten/system/include/SDL/SDL_version.h +0 -166
  499. data/modules/emscripten/system/include/SDL/SDL_video.h +0 -820
  500. data/modules/emscripten/system/include/SDL/begin_code.h +0 -135
  501. data/modules/emscripten/system/include/SDL/close_code.h +0 -37
  502. data/modules/emscripten/system/include/X11/X.h +0 -717
  503. data/modules/emscripten/system/include/X11/Xatom.h +0 -79
  504. data/modules/emscripten/system/include/X11/Xfuncproto.h +0 -127
  505. data/modules/emscripten/system/include/X11/Xlib.h +0 -4023
  506. data/modules/emscripten/system/include/X11/Xosdefs.h +0 -116
  507. data/modules/emscripten/system/include/X11/Xutil.h +0 -826
  508. data/modules/emscripten/system/include/X11/keysym.h +0 -73
  509. data/modules/emscripten/system/include/X11/keysymdef.h +0 -2389
  510. data/modules/emscripten/system/include/compat/ctype.h +0 -34
  511. data/modules/emscripten/system/include/compat/malloc.h +0 -48
  512. data/modules/emscripten/system/include/compat/math.h +0 -14
  513. data/modules/emscripten/system/include/compat/netdb.h +0 -22
  514. data/modules/emscripten/system/include/compat/stdarg.h +0 -16
  515. data/modules/emscripten/system/include/compat/stdlib.h +0 -16
  516. data/modules/emscripten/system/include/compat/string.h +0 -17
  517. data/modules/emscripten/system/include/compat/sys/socketvar.h +0 -14
  518. data/modules/emscripten/system/include/compat/sys/stat.h +0 -20
  519. data/modules/emscripten/system/include/compat/sys/timeb.h +0 -35
  520. data/modules/emscripten/system/include/compat/time.h +0 -18
  521. data/modules/emscripten/system/include/compat/unistd.h +0 -16
  522. data/modules/emscripten/system/include/compat/wchar.h +0 -23
  523. data/modules/emscripten/system/include/compat/wctype.h +0 -23
  524. data/modules/emscripten/system/include/compat/xlocale.h +0 -19
  525. data/modules/emscripten/system/include/emscripten/bind.h +0 -1210
  526. data/modules/emscripten/system/include/emscripten/emmintrin.h +0 -87
  527. data/modules/emscripten/system/include/emscripten/emscripten.h +0 -519
  528. data/modules/emscripten/system/include/emscripten/val.h +0 -311
  529. data/modules/emscripten/system/include/emscripten/vector.h +0 -34
  530. data/modules/emscripten/system/include/emscripten/wire.h +0 -393
  531. data/modules/emscripten/system/include/emscripten/xmmintrin.h +0 -131
  532. data/modules/emscripten/system/include/execinfo.h +0 -44
  533. data/modules/emscripten/system/include/gc.h +0 -70
  534. data/modules/emscripten/system/include/gfx/png.h +0 -3798
  535. data/modules/emscripten/system/include/gfx/pngconf.h +0 -1665
  536. data/modules/emscripten/system/include/gfx/tiff.h +0 -654
  537. data/modules/emscripten/system/include/gfx/tiffconf.h +0 -104
  538. data/modules/emscripten/system/include/gfx/tiffio.h +0 -526
  539. data/modules/emscripten/system/include/gfx/tiffvers.h +0 -9
  540. data/modules/emscripten/system/include/jansson.h +0 -323
  541. data/modules/emscripten/system/include/jansson_config.h +0 -54
  542. data/modules/emscripten/system/include/libc/aio.h +0 -69
  543. data/modules/emscripten/system/include/libc/alloca.h +0 -21
  544. data/modules/emscripten/system/include/libc/ar.h +0 -25
  545. data/modules/emscripten/system/include/libc/arpa/ftp.h +0 -35
  546. data/modules/emscripten/system/include/libc/arpa/inet.h +0 -36
  547. data/modules/emscripten/system/include/libc/arpa/nameser.h +0 -467
  548. data/modules/emscripten/system/include/libc/arpa/nameser_compat.h +0 -2
  549. data/modules/emscripten/system/include/libc/arpa/telnet.h +0 -251
  550. data/modules/emscripten/system/include/libc/arpa/tftp.h +0 -31
  551. data/modules/emscripten/system/include/libc/assert.h +0 -19
  552. data/modules/emscripten/system/include/libc/bits/alltypes.h +0 -397
  553. data/modules/emscripten/system/include/libc/bits/endian.h +0 -1
  554. data/modules/emscripten/system/include/libc/bits/errno.h +0 -134
  555. data/modules/emscripten/system/include/libc/bits/fcntl.h +0 -38
  556. data/modules/emscripten/system/include/libc/bits/fenv.h +0 -34
  557. data/modules/emscripten/system/include/libc/bits/float.h +0 -17
  558. data/modules/emscripten/system/include/libc/bits/io.h +0 -0
  559. data/modules/emscripten/system/include/libc/bits/ioctl.h +0 -197
  560. data/modules/emscripten/system/include/libc/bits/ipc.h +0 -14
  561. data/modules/emscripten/system/include/libc/bits/limits.h +0 -8
  562. data/modules/emscripten/system/include/libc/bits/mman.h +0 -62
  563. data/modules/emscripten/system/include/libc/bits/msg.h +0 -16
  564. data/modules/emscripten/system/include/libc/bits/posix.h +0 -2
  565. data/modules/emscripten/system/include/libc/bits/reg.h +0 -19
  566. data/modules/emscripten/system/include/libc/bits/setjmp.h +0 -1
  567. data/modules/emscripten/system/include/libc/bits/shm.h +0 -18
  568. data/modules/emscripten/system/include/libc/bits/signal.h +0 -112
  569. data/modules/emscripten/system/include/libc/bits/socket.h +0 -17
  570. data/modules/emscripten/system/include/libc/bits/stat.h +0 -22
  571. data/modules/emscripten/system/include/libc/bits/statfs.h +0 -7
  572. data/modules/emscripten/system/include/libc/bits/stdarg.h +0 -4
  573. data/modules/emscripten/system/include/libc/bits/stdint.h +0 -20
  574. data/modules/emscripten/system/include/libc/bits/syscall.h +0 -696
  575. data/modules/emscripten/system/include/libc/bits/termios.h +0 -160
  576. data/modules/emscripten/system/include/libc/bits/user.h +0 -48
  577. data/modules/emscripten/system/include/libc/byteswap.h +0 -26
  578. data/modules/emscripten/system/include/libc/complex.h +0 -125
  579. data/modules/emscripten/system/include/libc/cpio.h +0 -29
  580. data/modules/emscripten/system/include/libc/crypt.h +0 -20
  581. data/modules/emscripten/system/include/libc/ctype.h +0 -67
  582. data/modules/emscripten/system/include/libc/dirent.h +0 -79
  583. data/modules/emscripten/system/include/libc/dlfcn.h +0 -42
  584. data/modules/emscripten/system/include/libc/elf.h +0 -2555
  585. data/modules/emscripten/system/include/libc/endian.h +0 -82
  586. data/modules/emscripten/system/include/libc/err.h +0 -25
  587. data/modules/emscripten/system/include/libc/errno.h +0 -27
  588. data/modules/emscripten/system/include/libc/fcntl.h +0 -175
  589. data/modules/emscripten/system/include/libc/features.h +0 -32
  590. data/modules/emscripten/system/include/libc/fenv.h +0 -28
  591. data/modules/emscripten/system/include/libc/float.h +0 -34
  592. data/modules/emscripten/system/include/libc/fnmatch.h +0 -29
  593. data/modules/emscripten/system/include/libc/ftw.h +0 -42
  594. data/modules/emscripten/system/include/libc/getopt.h +0 -31
  595. data/modules/emscripten/system/include/libc/glob.h +0 -48
  596. data/modules/emscripten/system/include/libc/grp.h +0 -52
  597. data/modules/emscripten/system/include/libc/iconv.h +0 -24
  598. data/modules/emscripten/system/include/libc/ifaddrs.h +0 -35
  599. data/modules/emscripten/system/include/libc/inttypes.h +0 -227
  600. data/modules/emscripten/system/include/libc/iso646.h +0 -20
  601. data/modules/emscripten/system/include/libc/langinfo.h +0 -88
  602. data/modules/emscripten/system/include/libc/lastlog.h +0 -1
  603. data/modules/emscripten/system/include/libc/libgen.h +0 -15
  604. data/modules/emscripten/system/include/libc/libintl.h +0 -25
  605. data/modules/emscripten/system/include/libc/limits.h +0 -146
  606. data/modules/emscripten/system/include/libc/link.h +0 -54
  607. data/modules/emscripten/system/include/libc/locale.h +0 -82
  608. data/modules/emscripten/system/include/libc/malloc.h +0 -0
  609. data/modules/emscripten/system/include/libc/math.h +0 -422
  610. data/modules/emscripten/system/include/libc/memory.h +0 -1
  611. data/modules/emscripten/system/include/libc/mntent.h +0 -44
  612. data/modules/emscripten/system/include/libc/monetary.h +0 -23
  613. data/modules/emscripten/system/include/libc/mqueue.h +0 -36
  614. data/modules/emscripten/system/include/libc/net/ethernet.h +0 -55
  615. data/modules/emscripten/system/include/libc/net/if.h +0 -135
  616. data/modules/emscripten/system/include/libc/net/if_arp.h +0 -133
  617. data/modules/emscripten/system/include/libc/net/route.h +0 -124
  618. data/modules/emscripten/system/include/libc/netdb.h +0 -161
  619. data/modules/emscripten/system/include/libc/netinet/ether.h +0 -14
  620. data/modules/emscripten/system/include/libc/netinet/icmp6.h +0 -305
  621. data/modules/emscripten/system/include/libc/netinet/if_ether.h +0 -126
  622. data/modules/emscripten/system/include/libc/netinet/in.h +0 -336
  623. data/modules/emscripten/system/include/libc/netinet/in_systm.h +0 -9
  624. data/modules/emscripten/system/include/libc/netinet/ip.h +0 -186
  625. data/modules/emscripten/system/include/libc/netinet/ip6.h +0 -142
  626. data/modules/emscripten/system/include/libc/netinet/ip_icmp.h +0 -192
  627. data/modules/emscripten/system/include/libc/netinet/tcp.h +0 -71
  628. data/modules/emscripten/system/include/libc/netinet/udp.h +0 -35
  629. data/modules/emscripten/system/include/libc/netpacket/packet.h +0 -44
  630. data/modules/emscripten/system/include/libc/nl_types.h +0 -22
  631. data/modules/emscripten/system/include/libc/paths.h +0 -32
  632. data/modules/emscripten/system/include/libc/poll.h +0 -46
  633. data/modules/emscripten/system/include/libc/pthread.h +0 -222
  634. data/modules/emscripten/system/include/libc/pty.h +0 -18
  635. data/modules/emscripten/system/include/libc/pwd.h +0 -49
  636. data/modules/emscripten/system/include/libc/readme.txt +0 -3
  637. data/modules/emscripten/system/include/libc/regex.h +0 -62
  638. data/modules/emscripten/system/include/libc/resolv.h +0 -144
  639. data/modules/emscripten/system/include/libc/sched.h +0 -132
  640. data/modules/emscripten/system/include/libc/search.h +0 -51
  641. data/modules/emscripten/system/include/libc/semaphore.h +0 -35
  642. data/modules/emscripten/system/include/libc/setjmp.h +0 -42
  643. data/modules/emscripten/system/include/libc/shadow.h +0 -44
  644. data/modules/emscripten/system/include/libc/signal.h +0 -255
  645. data/modules/emscripten/system/include/libc/spawn.h +0 -74
  646. data/modules/emscripten/system/include/libc/stdalign.h +0 -15
  647. data/modules/emscripten/system/include/libc/stdarg.h +0 -25
  648. data/modules/emscripten/system/include/libc/stdbool.h +0 -14
  649. data/modules/emscripten/system/include/libc/stddef.h +0 -18
  650. data/modules/emscripten/system/include/libc/stdint.h +0 -117
  651. data/modules/emscripten/system/include/libc/stdio.h +0 -199
  652. data/modules/emscripten/system/include/libc/stdio_ext.h +0 -34
  653. data/modules/emscripten/system/include/libc/stdlib.h +0 -171
  654. data/modules/emscripten/system/include/libc/stdnoreturn.h +0 -5
  655. data/modules/emscripten/system/include/libc/string.h +0 -102
  656. data/modules/emscripten/system/include/libc/strings.h +0 -35
  657. data/modules/emscripten/system/include/libc/stropts.h +0 -139
  658. data/modules/emscripten/system/include/libc/sys/acct.h +0 -75
  659. data/modules/emscripten/system/include/libc/sys/cachectl.h +0 -22
  660. data/modules/emscripten/system/include/libc/sys/dir.h +0 -2
  661. data/modules/emscripten/system/include/libc/sys/epoll.h +0 -67
  662. data/modules/emscripten/system/include/libc/sys/errno.h +0 -2
  663. data/modules/emscripten/system/include/libc/sys/eventfd.h +0 -26
  664. data/modules/emscripten/system/include/libc/sys/fcntl.h +0 -2
  665. data/modules/emscripten/system/include/libc/sys/file.h +0 -21
  666. data/modules/emscripten/system/include/libc/sys/fsuid.h +0 -20
  667. data/modules/emscripten/system/include/libc/sys/inotify.h +0 -57
  668. data/modules/emscripten/system/include/libc/sys/io.h +0 -17
  669. data/modules/emscripten/system/include/libc/sys/ioctl.h +0 -14
  670. data/modules/emscripten/system/include/libc/sys/ipc.h +0 -42
  671. data/modules/emscripten/system/include/libc/sys/klog.h +0 -14
  672. data/modules/emscripten/system/include/libc/sys/mman.h +0 -55
  673. data/modules/emscripten/system/include/libc/sys/mount.h +0 -72
  674. data/modules/emscripten/system/include/libc/sys/msg.h +0 -52
  675. data/modules/emscripten/system/include/libc/sys/mtio.h +0 -188
  676. data/modules/emscripten/system/include/libc/sys/param.h +0 -35
  677. data/modules/emscripten/system/include/libc/sys/personality.h +0 -46
  678. data/modules/emscripten/system/include/libc/sys/poll.h +0 -2
  679. data/modules/emscripten/system/include/libc/sys/prctl.h +0 -101
  680. data/modules/emscripten/system/include/libc/sys/procfs.h +0 -65
  681. data/modules/emscripten/system/include/libc/sys/ptrace.h +0 -96
  682. data/modules/emscripten/system/include/libc/sys/reboot.h +0 -20
  683. data/modules/emscripten/system/include/libc/sys/reg.h +0 -9
  684. data/modules/emscripten/system/include/libc/sys/resource.h +0 -103
  685. data/modules/emscripten/system/include/libc/sys/select.h +0 -42
  686. data/modules/emscripten/system/include/libc/sys/sem.h +0 -82
  687. data/modules/emscripten/system/include/libc/sys/sendfile.h +0 -22
  688. data/modules/emscripten/system/include/libc/sys/shm.h +0 -61
  689. data/modules/emscripten/system/include/libc/sys/signal.h +0 -2
  690. data/modules/emscripten/system/include/libc/sys/signalfd.h +0 -44
  691. data/modules/emscripten/system/include/libc/sys/socket.h +0 -299
  692. data/modules/emscripten/system/include/libc/sys/stat.h +0 -114
  693. data/modules/emscripten/system/include/libc/sys/statfs.h +0 -32
  694. data/modules/emscripten/system/include/libc/sys/statvfs.h +0 -57
  695. data/modules/emscripten/system/include/libc/sys/stropts.h +0 -1
  696. data/modules/emscripten/system/include/libc/sys/swap.h +0 -21
  697. data/modules/emscripten/system/include/libc/sys/syscall.h +0 -6
  698. data/modules/emscripten/system/include/libc/sys/sysctl.h +0 -17
  699. data/modules/emscripten/system/include/libc/sys/sysinfo.h +0 -36
  700. data/modules/emscripten/system/include/libc/sys/syslog.h +0 -1
  701. data/modules/emscripten/system/include/libc/sys/sysmacros.h +0 -15
  702. data/modules/emscripten/system/include/libc/sys/termios.h +0 -2
  703. data/modules/emscripten/system/include/libc/sys/time.h +0 -57
  704. data/modules/emscripten/system/include/libc/sys/timerfd.h +0 -24
  705. data/modules/emscripten/system/include/libc/sys/times.h +0 -26
  706. data/modules/emscripten/system/include/libc/sys/timex.h +0 -98
  707. data/modules/emscripten/system/include/libc/sys/ttydefaults.h +0 -39
  708. data/modules/emscripten/system/include/libc/sys/types.h +0 -91
  709. data/modules/emscripten/system/include/libc/sys/ucontext.h +0 -1
  710. data/modules/emscripten/system/include/libc/sys/uio.h +0 -48
  711. data/modules/emscripten/system/include/libc/sys/un.h +0 -32
  712. data/modules/emscripten/system/include/libc/sys/user.h +0 -16
  713. data/modules/emscripten/system/include/libc/sys/utsname.h +0 -30
  714. data/modules/emscripten/system/include/libc/sys/vfs.h +0 -1
  715. data/modules/emscripten/system/include/libc/sys/wait.h +0 -55
  716. data/modules/emscripten/system/include/libc/sys/xattr.h +0 -30
  717. data/modules/emscripten/system/include/libc/syscall.h +0 -1
  718. data/modules/emscripten/system/include/libc/sysexits.h +0 -21
  719. data/modules/emscripten/system/include/libc/syslog.h +0 -104
  720. data/modules/emscripten/system/include/libc/tar.h +0 -33
  721. data/modules/emscripten/system/include/libc/termios.h +0 -46
  722. data/modules/emscripten/system/include/libc/tgmath.h +0 -270
  723. data/modules/emscripten/system/include/libc/time.h +0 -132
  724. data/modules/emscripten/system/include/libc/ucontext.h +0 -25
  725. data/modules/emscripten/system/include/libc/ulimit.h +0 -17
  726. data/modules/emscripten/system/include/libc/unistd.h +0 -519
  727. data/modules/emscripten/system/include/libc/utime.h +0 -24
  728. data/modules/emscripten/system/include/libc/utmp.h +0 -47
  729. data/modules/emscripten/system/include/libc/utmpx.h +0 -58
  730. data/modules/emscripten/system/include/libc/values.h +0 -39
  731. data/modules/emscripten/system/include/libc/wchar.h +0 -183
  732. data/modules/emscripten/system/include/libc/wctype.h +0 -77
  733. data/modules/emscripten/system/include/libc/wordexp.h +0 -42
  734. data/modules/emscripten/system/include/libcxx/CREDITS.TXT +0 -123
  735. data/modules/emscripten/system/include/libcxx/LICENSE.txt +0 -76
  736. data/modules/emscripten/system/include/libcxx/__bit_reference +0 -1287
  737. data/modules/emscripten/system/include/libcxx/__config +0 -610
  738. data/modules/emscripten/system/include/libcxx/__debug +0 -218
  739. data/modules/emscripten/system/include/libcxx/__functional_03 +0 -2130
  740. data/modules/emscripten/system/include/libcxx/__functional_base +0 -615
  741. data/modules/emscripten/system/include/libcxx/__functional_base_03 +0 -1087
  742. data/modules/emscripten/system/include/libcxx/__hash_table +0 -2457
  743. data/modules/emscripten/system/include/libcxx/__locale +0 -1445
  744. data/modules/emscripten/system/include/libcxx/__mutex_base +0 -407
  745. data/modules/emscripten/system/include/libcxx/__split_buffer +0 -654
  746. data/modules/emscripten/system/include/libcxx/__sso_allocator +0 -77
  747. data/modules/emscripten/system/include/libcxx/__std_stream +0 -359
  748. data/modules/emscripten/system/include/libcxx/__tree +0 -2309
  749. data/modules/emscripten/system/include/libcxx/__tuple +0 -305
  750. data/modules/emscripten/system/include/libcxx/__tuple_03 +0 -27
  751. data/modules/emscripten/system/include/libcxx/__undef_min_max +0 -27
  752. data/modules/emscripten/system/include/libcxx/algorithm +0 -5679
  753. data/modules/emscripten/system/include/libcxx/array +0 -342
  754. data/modules/emscripten/system/include/libcxx/atomic +0 -1531
  755. data/modules/emscripten/system/include/libcxx/bitset +0 -1081
  756. data/modules/emscripten/system/include/libcxx/cassert +0 -25
  757. data/modules/emscripten/system/include/libcxx/ccomplex +0 -29
  758. data/modules/emscripten/system/include/libcxx/cctype +0 -164
  759. data/modules/emscripten/system/include/libcxx/cerrno +0 -393
  760. data/modules/emscripten/system/include/libcxx/cfenv +0 -82
  761. data/modules/emscripten/system/include/libcxx/cfloat +0 -78
  762. data/modules/emscripten/system/include/libcxx/chrono +0 -1027
  763. data/modules/emscripten/system/include/libcxx/cinttypes +0 -259
  764. data/modules/emscripten/system/include/libcxx/ciso646 +0 -25
  765. data/modules/emscripten/system/include/libcxx/climits +0 -48
  766. data/modules/emscripten/system/include/libcxx/clocale +0 -53
  767. data/modules/emscripten/system/include/libcxx/cmath +0 -1690
  768. data/modules/emscripten/system/include/libcxx/codecvt +0 -550
  769. data/modules/emscripten/system/include/libcxx/complex +0 -1567
  770. data/modules/emscripten/system/include/libcxx/complex.h +0 -35
  771. data/modules/emscripten/system/include/libcxx/condition_variable +0 -256
  772. data/modules/emscripten/system/include/libcxx/csetjmp +0 -52
  773. data/modules/emscripten/system/include/libcxx/csignal +0 -58
  774. data/modules/emscripten/system/include/libcxx/cstdarg +0 -48
  775. data/modules/emscripten/system/include/libcxx/cstdbool +0 -32
  776. data/modules/emscripten/system/include/libcxx/cstddef +0 -103
  777. data/modules/emscripten/system/include/libcxx/cstdint +0 -191
  778. data/modules/emscripten/system/include/libcxx/cstdio +0 -182
  779. data/modules/emscripten/system/include/libcxx/cstdlib +0 -172
  780. data/modules/emscripten/system/include/libcxx/cstring +0 -112
  781. data/modules/emscripten/system/include/libcxx/ctgmath +0 -29
  782. data/modules/emscripten/system/include/libcxx/ctime +0 -72
  783. data/modules/emscripten/system/include/libcxx/cwchar +0 -217
  784. data/modules/emscripten/system/include/libcxx/cwctype +0 -213
  785. data/modules/emscripten/system/include/libcxx/deque +0 -2873
  786. data/modules/emscripten/system/include/libcxx/dynarray +0 -311
  787. data/modules/emscripten/system/include/libcxx/exception +0 -250
  788. data/modules/emscripten/system/include/libcxx/ext/__hash +0 -46
  789. data/modules/emscripten/system/include/libcxx/ext/hash_map +0 -1007
  790. data/modules/emscripten/system/include/libcxx/ext/hash_set +0 -661
  791. data/modules/emscripten/system/include/libcxx/forward_list +0 -1663
  792. data/modules/emscripten/system/include/libcxx/fstream +0 -1431
  793. data/modules/emscripten/system/include/libcxx/functional +0 -2418
  794. data/modules/emscripten/system/include/libcxx/future +0 -2615
  795. data/modules/emscripten/system/include/libcxx/initializer_list +0 -118
  796. data/modules/emscripten/system/include/libcxx/iomanip +0 -651
  797. data/modules/emscripten/system/include/libcxx/ios +0 -1023
  798. data/modules/emscripten/system/include/libcxx/iosfwd +0 -194
  799. data/modules/emscripten/system/include/libcxx/iostream +0 -60
  800. data/modules/emscripten/system/include/libcxx/istream +0 -1716
  801. data/modules/emscripten/system/include/libcxx/iterator +0 -1568
  802. data/modules/emscripten/system/include/libcxx/limits +0 -813
  803. data/modules/emscripten/system/include/libcxx/list +0 -2355
  804. data/modules/emscripten/system/include/libcxx/locale +0 -4465
  805. data/modules/emscripten/system/include/libcxx/map +0 -2045
  806. data/modules/emscripten/system/include/libcxx/memory +0 -5448
  807. data/modules/emscripten/system/include/libcxx/mutex +0 -566
  808. data/modules/emscripten/system/include/libcxx/new +0 -146
  809. data/modules/emscripten/system/include/libcxx/numeric +0 -197
  810. data/modules/emscripten/system/include/libcxx/optional +0 -697
  811. data/modules/emscripten/system/include/libcxx/ostream +0 -1295
  812. data/modules/emscripten/system/include/libcxx/queue +0 -717
  813. data/modules/emscripten/system/include/libcxx/random +0 -6725
  814. data/modules/emscripten/system/include/libcxx/ratio +0 -487
  815. data/modules/emscripten/system/include/libcxx/readme.txt +0 -1
  816. data/modules/emscripten/system/include/libcxx/regex +0 -6487
  817. data/modules/emscripten/system/include/libcxx/scoped_allocator +0 -578
  818. data/modules/emscripten/system/include/libcxx/set +0 -1189
  819. data/modules/emscripten/system/include/libcxx/shared_mutex +0 -419
  820. data/modules/emscripten/system/include/libcxx/sstream +0 -972
  821. data/modules/emscripten/system/include/libcxx/stack +0 -292
  822. data/modules/emscripten/system/include/libcxx/stdexcept +0 -162
  823. data/modules/emscripten/system/include/libcxx/streambuf +0 -564
  824. data/modules/emscripten/system/include/libcxx/string +0 -4198
  825. data/modules/emscripten/system/include/libcxx/strstream +0 -400
  826. data/modules/emscripten/system/include/libcxx/support/ibm/limits.h +0 -99
  827. data/modules/emscripten/system/include/libcxx/support/ibm/support.h +0 -54
  828. data/modules/emscripten/system/include/libcxx/support/ibm/xlocale.h +0 -326
  829. data/modules/emscripten/system/include/libcxx/support/solaris/floatingpoint.h +0 -5
  830. data/modules/emscripten/system/include/libcxx/support/solaris/wchar.h +0 -38
  831. data/modules/emscripten/system/include/libcxx/support/solaris/xlocale.h +0 -146
  832. data/modules/emscripten/system/include/libcxx/support/win32/limits_win32.h +0 -79
  833. data/modules/emscripten/system/include/libcxx/support/win32/locale_win32.h +0 -129
  834. data/modules/emscripten/system/include/libcxx/support/win32/math_win32.h +0 -115
  835. data/modules/emscripten/system/include/libcxx/support/win32/support.h +0 -119
  836. data/modules/emscripten/system/include/libcxx/system_error +0 -642
  837. data/modules/emscripten/system/include/libcxx/tgmath.h +0 -29
  838. data/modules/emscripten/system/include/libcxx/thread +0 -458
  839. data/modules/emscripten/system/include/libcxx/tuple +0 -1102
  840. data/modules/emscripten/system/include/libcxx/type_traits +0 -3292
  841. data/modules/emscripten/system/include/libcxx/typeindex +0 -103
  842. data/modules/emscripten/system/include/libcxx/typeinfo +0 -124
  843. data/modules/emscripten/system/include/libcxx/unordered_map +0 -2078
  844. data/modules/emscripten/system/include/libcxx/unordered_set +0 -1379
  845. data/modules/emscripten/system/include/libcxx/utility +0 -768
  846. data/modules/emscripten/system/include/libcxx/valarray +0 -4779
  847. data/modules/emscripten/system/include/libcxx/vector +0 -3246
  848. data/modules/emscripten/system/include/unwind.h +0 -154
  849. data/modules/emscripten/system/include/uuid/uuid.h +0 -35
  850. data/modules/emscripten/system/include/zconf.h +0 -428
  851. data/modules/emscripten/system/include/zlib.h +0 -1613
  852. data/modules/emscripten/system/lib/compiler-rt/LICENSE.TXT +0 -97
  853. data/modules/emscripten/system/lib/compiler-rt/divdi3.c +0 -47
  854. data/modules/emscripten/system/lib/compiler-rt/int_endianness.h +0 -116
  855. data/modules/emscripten/system/lib/compiler-rt/int_lib.h +0 -46
  856. data/modules/emscripten/system/lib/compiler-rt/int_math.h +0 -67
  857. data/modules/emscripten/system/lib/compiler-rt/int_types.h +0 -140
  858. data/modules/emscripten/system/lib/compiler-rt/int_util.h +0 -29
  859. data/modules/emscripten/system/lib/compiler-rt/muldi3.c +0 -56
  860. data/modules/emscripten/system/lib/compiler-rt/readme.txt +0 -20
  861. data/modules/emscripten/system/lib/compiler-rt/udivdi3.c +0 -36
  862. data/modules/emscripten/system/lib/compiler-rt/udivmoddi4.c +0 -251
  863. data/modules/emscripten/system/lib/debugging.cpp +0 -24
  864. data/modules/emscripten/system/lib/dlmalloc.c +0 -6297
  865. data/modules/emscripten/system/lib/embind/bind.cpp +0 -63
  866. data/modules/emscripten/system/lib/libc/gen/err.c +0 -49
  867. data/modules/emscripten/system/lib/libc/gen/errx.c +0 -49
  868. data/modules/emscripten/system/lib/libc/gen/verr.c +0 -58
  869. data/modules/emscripten/system/lib/libc/gen/verrx.c +0 -51
  870. data/modules/emscripten/system/lib/libc/gen/vwarn.c +0 -55
  871. data/modules/emscripten/system/lib/libc/gen/vwarnx.c +0 -48
  872. data/modules/emscripten/system/lib/libc/gen/warn.c +0 -49
  873. data/modules/emscripten/system/lib/libc/gen/warnx.c +0 -49
  874. data/modules/emscripten/system/lib/libc/musl/COPYRIGHT +0 -92
  875. data/modules/emscripten/system/lib/libc/musl/readme.txt +0 -9
  876. data/modules/emscripten/system/lib/libc/musl/src/ctype/alpha.h +0 -125
  877. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswalnum.c +0 -7
  878. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswalpha.c +0 -14
  879. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswblank.c +0 -8
  880. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswcntrl.c +0 -10
  881. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswctype.c +0 -63
  882. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswdigit.c +0 -9
  883. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswgraph.c +0 -7
  884. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswlower.c +0 -6
  885. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswprint.c +0 -19
  886. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswpunct.c +0 -12
  887. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswspace.c +0 -19
  888. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswupper.c +0 -6
  889. data/modules/emscripten/system/lib/libc/musl/src/ctype/iswxdigit.c +0 -7
  890. data/modules/emscripten/system/lib/libc/musl/src/ctype/nonspacing.h +0 -62
  891. data/modules/emscripten/system/lib/libc/musl/src/ctype/punct.h +0 -109
  892. data/modules/emscripten/system/lib/libc/musl/src/ctype/towctrans.c +0 -268
  893. data/modules/emscripten/system/lib/libc/musl/src/ctype/wcswidth.c +0 -8
  894. data/modules/emscripten/system/lib/libc/musl/src/ctype/wctrans.c +0 -16
  895. data/modules/emscripten/system/lib/libc/musl/src/ctype/wcwidth.c +0 -29
  896. data/modules/emscripten/system/lib/libc/musl/src/ctype/wide.h +0 -42
  897. data/modules/emscripten/system/lib/libc/musl/src/internal/libc.c +0 -22
  898. data/modules/emscripten/system/lib/libc/musl/src/internal/libc.h +0 -71
  899. data/modules/emscripten/system/lib/libc/musl/src/internal/locale_impl.h +0 -5
  900. data/modules/emscripten/system/lib/libc/musl/src/internal/stdio_impl.h +0 -92
  901. data/modules/emscripten/system/lib/libc/musl/src/locale/big5.h +0 -1085
  902. data/modules/emscripten/system/lib/libc/musl/src/locale/codepages.h +0 -238
  903. data/modules/emscripten/system/lib/libc/musl/src/locale/gb18030.h +0 -1836
  904. data/modules/emscripten/system/lib/libc/musl/src/locale/hkscs.h +0 -390
  905. data/modules/emscripten/system/lib/libc/musl/src/locale/iconv.c +0 -454
  906. data/modules/emscripten/system/lib/libc/musl/src/locale/iswalnum_l.c +0 -6
  907. data/modules/emscripten/system/lib/libc/musl/src/locale/iswalpha_l.c +0 -6
  908. data/modules/emscripten/system/lib/libc/musl/src/locale/iswblank_l.c +0 -6
  909. data/modules/emscripten/system/lib/libc/musl/src/locale/iswcntrl_l.c +0 -6
  910. data/modules/emscripten/system/lib/libc/musl/src/locale/iswctype_l.c +0 -9
  911. data/modules/emscripten/system/lib/libc/musl/src/locale/iswdigit_l.c +0 -6
  912. data/modules/emscripten/system/lib/libc/musl/src/locale/iswgraph_l.c +0 -6
  913. data/modules/emscripten/system/lib/libc/musl/src/locale/iswlower_l.c +0 -6
  914. data/modules/emscripten/system/lib/libc/musl/src/locale/iswprint_l.c +0 -6
  915. data/modules/emscripten/system/lib/libc/musl/src/locale/iswpunct_l.c +0 -6
  916. data/modules/emscripten/system/lib/libc/musl/src/locale/iswspace_l.c +0 -6
  917. data/modules/emscripten/system/lib/libc/musl/src/locale/iswupper_l.c +0 -6
  918. data/modules/emscripten/system/lib/libc/musl/src/locale/iswxdigit_l.c +0 -6
  919. data/modules/emscripten/system/lib/libc/musl/src/locale/jis0208.h +0 -550
  920. data/modules/emscripten/system/lib/libc/musl/src/locale/ksc.h +0 -640
  921. data/modules/emscripten/system/lib/libc/musl/src/locale/legacychars.h +0 -39
  922. data/modules/emscripten/system/lib/libc/musl/src/locale/strfmon.c +0 -101
  923. data/modules/emscripten/system/lib/libc/musl/src/locale/strxfrm.c +0 -18
  924. data/modules/emscripten/system/lib/libc/musl/src/locale/towctrans_l.c +0 -6
  925. data/modules/emscripten/system/lib/libc/musl/src/locale/towlower_l.c +0 -9
  926. data/modules/emscripten/system/lib/libc/musl/src/locale/towupper_l.c +0 -9
  927. data/modules/emscripten/system/lib/libc/musl/src/locale/wcscoll.c +0 -16
  928. data/modules/emscripten/system/lib/libc/musl/src/locale/wcscoll_l.c +0 -6
  929. data/modules/emscripten/system/lib/libc/musl/src/locale/wcsxfrm.c +0 -21
  930. data/modules/emscripten/system/lib/libc/musl/src/locale/wcsxfrm_l.c +0 -6
  931. data/modules/emscripten/system/lib/libc/musl/src/locale/wctrans_l.c +0 -6
  932. data/modules/emscripten/system/lib/libc/musl/src/locale/wctype_l.c +0 -9
  933. data/modules/emscripten/system/lib/libc/musl/src/multibyte/btowc.c +0 -7
  934. data/modules/emscripten/system/lib/libc/musl/src/multibyte/internal.c +0 -38
  935. data/modules/emscripten/system/lib/libc/musl/src/multibyte/internal.h +0 -22
  936. data/modules/emscripten/system/lib/libc/musl/src/multibyte/mblen.c +0 -17
  937. data/modules/emscripten/system/lib/libc/musl/src/multibyte/mbrlen.c +0 -18
  938. data/modules/emscripten/system/lib/libc/musl/src/multibyte/mbrtowc.c +0 -57
  939. data/modules/emscripten/system/lib/libc/musl/src/multibyte/mbsinit.c +0 -17
  940. data/modules/emscripten/system/lib/libc/musl/src/multibyte/mbsnrtowcs.c +0 -65
  941. data/modules/emscripten/system/lib/libc/musl/src/multibyte/mbsrtowcs.c +0 -100
  942. data/modules/emscripten/system/lib/libc/musl/src/multibyte/mbstowcs.c +0 -7
  943. data/modules/emscripten/system/lib/libc/musl/src/multibyte/mbtowc.c +0 -53
  944. data/modules/emscripten/system/lib/libc/musl/src/multibyte/wcrtomb.c +0 -38
  945. data/modules/emscripten/system/lib/libc/musl/src/multibyte/wcsnrtombs.c +0 -52
  946. data/modules/emscripten/system/lib/libc/musl/src/multibyte/wcsrtombs.c +0 -58
  947. data/modules/emscripten/system/lib/libc/musl/src/multibyte/wcstombs.c +0 -7
  948. data/modules/emscripten/system/lib/libc/musl/src/multibyte/wctob.c +0 -8
  949. data/modules/emscripten/system/lib/libc/musl/src/multibyte/wctomb.c +0 -18
  950. data/modules/emscripten/system/lib/libc/musl/src/regex/regcomp.c +0 -3352
  951. data/modules/emscripten/system/lib/libc/musl/src/regex/regerror.c +0 -35
  952. data/modules/emscripten/system/lib/libc/musl/src/regex/regexec.c +0 -1011
  953. data/modules/emscripten/system/lib/libc/musl/src/regex/tre-mem.c +0 -158
  954. data/modules/emscripten/system/lib/libc/musl/src/regex/tre.h +0 -231
  955. data/modules/emscripten/system/lib/libc/musl/src/stdio/fwprintf.c +0 -13
  956. data/modules/emscripten/system/lib/libc/musl/src/stdio/swprintf.c +0 -14
  957. data/modules/emscripten/system/lib/libc/musl/src/stdio/vfwprintf.c +0 -361
  958. data/modules/emscripten/system/lib/libc/musl/src/stdio/vswprintf.c +0 -53
  959. data/modules/emscripten/system/lib/libc/musl/src/stdio/vwprintf.c +0 -7
  960. data/modules/emscripten/system/lib/libc/musl/src/stdio/wprintf.c +0 -13
  961. data/modules/emscripten/system/lib/libc/musl/src/stdlib/ecvt.c +0 -19
  962. data/modules/emscripten/system/lib/libc/musl/src/stdlib/fcvt.c +0 -25
  963. data/modules/emscripten/system/lib/libc/musl/src/stdlib/gcvt.c +0 -8
  964. data/modules/emscripten/system/lib/libc/musl/src/string/wcpcpy.c +0 -6
  965. data/modules/emscripten/system/lib/libc/musl/src/string/wcpncpy.c +0 -6
  966. data/modules/emscripten/system/lib/libc/musl/src/string/wcscasecmp.c +0 -7
  967. data/modules/emscripten/system/lib/libc/musl/src/string/wcscasecmp_l.c +0 -6
  968. data/modules/emscripten/system/lib/libc/musl/src/string/wcscat.c +0 -7
  969. data/modules/emscripten/system/lib/libc/musl/src/string/wcschr.c +0 -8
  970. data/modules/emscripten/system/lib/libc/musl/src/string/wcscmp.c +0 -7
  971. data/modules/emscripten/system/lib/libc/musl/src/string/wcscpy.c +0 -8
  972. data/modules/emscripten/system/lib/libc/musl/src/string/wcscspn.c +0 -10
  973. data/modules/emscripten/system/lib/libc/musl/src/string/wcsdup.c +0 -11
  974. data/modules/emscripten/system/lib/libc/musl/src/string/wcslen.c +0 -8
  975. data/modules/emscripten/system/lib/libc/musl/src/string/wcsncasecmp.c +0 -9
  976. data/modules/emscripten/system/lib/libc/musl/src/string/wcsncasecmp_l.c +0 -6
  977. data/modules/emscripten/system/lib/libc/musl/src/string/wcsncat.c +0 -10
  978. data/modules/emscripten/system/lib/libc/musl/src/string/wcsncmp.c +0 -7
  979. data/modules/emscripten/system/lib/libc/musl/src/string/wcsncpy.c +0 -9
  980. data/modules/emscripten/system/lib/libc/musl/src/string/wcsnlen.c +0 -8
  981. data/modules/emscripten/system/lib/libc/musl/src/string/wcspbrk.c +0 -7
  982. data/modules/emscripten/system/lib/libc/musl/src/string/wcsrchr.c +0 -8
  983. data/modules/emscripten/system/lib/libc/musl/src/string/wcsspn.c +0 -8
  984. data/modules/emscripten/system/lib/libc/musl/src/string/wcsstr.c +0 -108
  985. data/modules/emscripten/system/lib/libc/musl/src/string/wcstok.c +0 -12
  986. data/modules/emscripten/system/lib/libc/musl/src/string/wcswcs.c +0 -6
  987. data/modules/emscripten/system/lib/libc/musl/src/string/wmemchr.c +0 -8
  988. data/modules/emscripten/system/lib/libc/musl/src/string/wmemcmp.c +0 -8
  989. data/modules/emscripten/system/lib/libc/musl/src/string/wmemcpy.c +0 -9
  990. data/modules/emscripten/system/lib/libc/musl/src/string/wmemmove.c +0 -12
  991. data/modules/emscripten/system/lib/libc/musl/src/string/wmemset.c +0 -9
  992. data/modules/emscripten/system/lib/libc/stdlib/getopt_long.c +0 -511
  993. data/modules/emscripten/system/lib/libc/stdlib/strtod.c +0 -305
  994. data/modules/emscripten/system/lib/libc.symbols +0 -81
  995. data/modules/emscripten/system/lib/libcextra.symbols +0 -115
  996. data/modules/emscripten/system/lib/libcxx/CREDITS.TXT +0 -123
  997. data/modules/emscripten/system/lib/libcxx/LICENSE.txt +0 -76
  998. data/modules/emscripten/system/lib/libcxx/algorithm.cpp +0 -84
  999. data/modules/emscripten/system/lib/libcxx/bind.cpp +0 -30
  1000. data/modules/emscripten/system/lib/libcxx/chrono.cpp +0 -132
  1001. data/modules/emscripten/system/lib/libcxx/condition_variable.cpp +0 -81
  1002. data/modules/emscripten/system/lib/libcxx/debug.cpp +0 -530
  1003. data/modules/emscripten/system/lib/libcxx/exception.cpp +0 -307
  1004. data/modules/emscripten/system/lib/libcxx/future.cpp +0 -291
  1005. data/modules/emscripten/system/lib/libcxx/hash.cpp +0 -570
  1006. data/modules/emscripten/system/lib/libcxx/ios.cpp +0 -460
  1007. data/modules/emscripten/system/lib/libcxx/iostream.cpp +0 -68
  1008. data/modules/emscripten/system/lib/libcxx/locale.cpp +0 -6169
  1009. data/modules/emscripten/system/lib/libcxx/memory.cpp +0 -223
  1010. data/modules/emscripten/system/lib/libcxx/mutex.cpp +0 -253
  1011. data/modules/emscripten/system/lib/libcxx/new.cpp +0 -239
  1012. data/modules/emscripten/system/lib/libcxx/optional.cpp +0 -25
  1013. data/modules/emscripten/system/lib/libcxx/random.cpp +0 -74
  1014. data/modules/emscripten/system/lib/libcxx/readme.txt +0 -1
  1015. data/modules/emscripten/system/lib/libcxx/regex.cpp +0 -325
  1016. data/modules/emscripten/system/lib/libcxx/shared_mutex.cpp +0 -101
  1017. data/modules/emscripten/system/lib/libcxx/stdexcept.cpp +0 -200
  1018. data/modules/emscripten/system/lib/libcxx/string.cpp +0 -530
  1019. data/modules/emscripten/system/lib/libcxx/strstream.cpp +0 -329
  1020. data/modules/emscripten/system/lib/libcxx/support/solaris/README +0 -4
  1021. data/modules/emscripten/system/lib/libcxx/support/solaris/mbsnrtowcs.inc +0 -76
  1022. data/modules/emscripten/system/lib/libcxx/support/solaris/wcsnrtombs.inc +0 -93
  1023. data/modules/emscripten/system/lib/libcxx/support/solaris/xlocale.c +0 -245
  1024. data/modules/emscripten/system/lib/libcxx/support/win32/locale_win32.cpp +0 -95
  1025. data/modules/emscripten/system/lib/libcxx/support/win32/support.cpp +0 -166
  1026. data/modules/emscripten/system/lib/libcxx/symbols +0 -2699
  1027. data/modules/emscripten/system/lib/libcxx/system_error.cpp +0 -205
  1028. data/modules/emscripten/system/lib/libcxx/thread.cpp +0 -225
  1029. data/modules/emscripten/system/lib/libcxx/typeinfo.cpp +0 -73
  1030. data/modules/emscripten/system/lib/libcxx/utility.cpp +0 -17
  1031. data/modules/emscripten/system/lib/libcxx/valarray.cpp +0 -56
  1032. data/modules/emscripten/system/lib/libcxxabi/CREDITS.TXT +0 -38
  1033. data/modules/emscripten/system/lib/libcxxabi/LICENSE.TXT +0 -76
  1034. data/modules/emscripten/system/lib/libcxxabi/include/cxa_demangle.h +0 -167
  1035. data/modules/emscripten/system/lib/libcxxabi/include/cxxabi.h +0 -175
  1036. data/modules/emscripten/system/lib/libcxxabi/lib/buildit +0 -99
  1037. data/modules/emscripten/system/lib/libcxxabi/readme.txt +0 -1
  1038. data/modules/emscripten/system/lib/libcxxabi/src/abort_message.cpp +0 -50
  1039. data/modules/emscripten/system/lib/libcxxabi/src/abort_message.h +0 -33
  1040. data/modules/emscripten/system/lib/libcxxabi/src/cxa_aux_runtime.cpp +0 -34
  1041. data/modules/emscripten/system/lib/libcxxabi/src/cxa_demangle.cpp +0 -11036
  1042. data/modules/emscripten/system/lib/libcxxabi/src/cxa_exception.cpp +0 -622
  1043. data/modules/emscripten/system/lib/libcxxabi/src/cxa_exception.hpp +0 -123
  1044. data/modules/emscripten/system/lib/libcxxabi/src/cxa_exception_storage.cpp +0 -91
  1045. data/modules/emscripten/system/lib/libcxxabi/src/cxa_guard.cpp +0 -231
  1046. data/modules/emscripten/system/lib/libcxxabi/src/cxa_handlers.cpp +0 -125
  1047. data/modules/emscripten/system/lib/libcxxabi/src/cxa_handlers.hpp +0 -54
  1048. data/modules/emscripten/system/lib/libcxxabi/src/cxa_new_delete.cpp +0 -242
  1049. data/modules/emscripten/system/lib/libcxxabi/src/cxa_personality.cpp +0 -1055
  1050. data/modules/emscripten/system/lib/libcxxabi/src/cxa_unexpected.cpp +0 -27
  1051. data/modules/emscripten/system/lib/libcxxabi/src/cxa_vector.cpp +0 -367
  1052. data/modules/emscripten/system/lib/libcxxabi/src/cxa_virtual.cpp +0 -31
  1053. data/modules/emscripten/system/lib/libcxxabi/src/exception.cpp +0 -41
  1054. data/modules/emscripten/system/lib/libcxxabi/src/fallback_malloc.ipp +0 -174
  1055. data/modules/emscripten/system/lib/libcxxabi/src/private_typeinfo.cpp +0 -1146
  1056. data/modules/emscripten/system/lib/libcxxabi/src/private_typeinfo.h +0 -248
  1057. data/modules/emscripten/system/lib/libcxxabi/src/stdexcept.cpp +0 -169
  1058. data/modules/emscripten/system/lib/libcxxabi/src/typeinfo.cpp +0 -53
  1059. data/modules/emscripten/system/lib/libcxxabi/symbols +0 -236
  1060. data/modules/emscripten/system/lib/sdl.cpp +0 -13
  1061. data/modules/emscripten/system/lib/sdl.symbols +0 -1
  1062. data/modules/emscripten/third_party/CppHeaderParser/CppHeaderParser/CppHeaderParser.py +0 -2347
  1063. data/modules/emscripten/third_party/CppHeaderParser/CppHeaderParser/__init__.py +0 -4
  1064. data/modules/emscripten/third_party/CppHeaderParser/CppHeaderParser/doc/CppHeaderParser.html +0 -657
  1065. data/modules/emscripten/third_party/CppHeaderParser/CppHeaderParser/examples/SampleClass.h +0 -147
  1066. data/modules/emscripten/third_party/CppHeaderParser/CppHeaderParser/examples/readSampleClass.py +0 -74
  1067. data/modules/emscripten/third_party/CppHeaderParser/PKG-INFO +0 -249
  1068. data/modules/emscripten/third_party/CppHeaderParser/README.html +0 -544
  1069. data/modules/emscripten/third_party/CppHeaderParser/README.txt +0 -226
  1070. data/modules/emscripten/third_party/CppHeaderParser/setup.py +0 -43
  1071. data/modules/emscripten/third_party/ansidecl.h +0 -371
  1072. data/modules/emscripten/third_party/closure-compiler/COPYING +0 -202
  1073. data/modules/emscripten/third_party/closure-compiler/README +0 -292
  1074. data/modules/emscripten/third_party/closure-compiler/compiler.jar +0 -0
  1075. data/modules/emscripten/third_party/closure-compiler/readme.txt +0 -3
  1076. data/modules/emscripten/third_party/cp-demangle.h +0 -161
  1077. data/modules/emscripten/third_party/demangle.h +0 -549
  1078. data/modules/emscripten/third_party/demangler.py +0 -49
  1079. data/modules/emscripten/third_party/gcc_demangler.c +0 -4226
  1080. data/modules/emscripten/third_party/gcc_demangler.js +0 -21282
  1081. data/modules/emscripten/third_party/jni/emjvm.cpp +0 -133
  1082. data/modules/emscripten/third_party/jni/emjvm.h +0 -8
  1083. data/modules/emscripten/third_party/jni/emjvm.js +0 -185
  1084. data/modules/emscripten/third_party/jni/jni.h +0 -1154
  1085. data/modules/emscripten/third_party/libiberty.h +0 -634
  1086. data/modules/emscripten/third_party/lzma.js/README.markdown +0 -37
  1087. data/modules/emscripten/third_party/lzma.js/doit.bat +0 -4
  1088. data/modules/emscripten/third_party/lzma.js/doit.sh +0 -44
  1089. data/modules/emscripten/third_party/lzma.js/lzip/AUTHORS +0 -7
  1090. data/modules/emscripten/third_party/lzma.js/lzip/COPYING +0 -676
  1091. data/modules/emscripten/third_party/lzma.js/lzip/ChangeLog +0 -201
  1092. data/modules/emscripten/third_party/lzma.js/lzip/INSTALL +0 -56
  1093. data/modules/emscripten/third_party/lzma.js/lzip/Makefile +0 -160
  1094. data/modules/emscripten/third_party/lzma.js/lzip/Makefile.in +0 -138
  1095. data/modules/emscripten/third_party/lzma.js/lzip/NEWS +0 -22
  1096. data/modules/emscripten/third_party/lzma.js/lzip/README +0 -77
  1097. data/modules/emscripten/third_party/lzma.js/lzip/arg_parser.cc +0 -204
  1098. data/modules/emscripten/third_party/lzma.js/lzip/arg_parser.h +0 -106
  1099. data/modules/emscripten/third_party/lzma.js/lzip/configure +0 -192
  1100. data/modules/emscripten/third_party/lzma.js/lzip/decoder.cc +0 -252
  1101. data/modules/emscripten/third_party/lzma.js/lzip/decoder.h +0 -268
  1102. data/modules/emscripten/third_party/lzma.js/lzip/encoder.cc +0 -643
  1103. data/modules/emscripten/third_party/lzma.js/lzip/encoder.h +0 -582
  1104. data/modules/emscripten/third_party/lzma.js/lzip/fast_encoder.cc +0 -378
  1105. data/modules/emscripten/third_party/lzma.js/lzip/fast_encoder.h +0 -171
  1106. data/modules/emscripten/third_party/lzma.js/lzip/lzip.h +0 -264
  1107. data/modules/emscripten/third_party/lzma.js/lzip/main.cc +0 -545
  1108. data/modules/emscripten/third_party/lzma.js/lzma-decoder.js +0 -27
  1109. data/modules/emscripten/third_party/lzma.js/lzma-full.js +0 -27
  1110. data/modules/emscripten/third_party/lzma.js/native_test.sh +0 -5
  1111. data/modules/emscripten/third_party/lzma.js/post.js +0 -13
  1112. data/modules/emscripten/third_party/lzma.js/pre.js +0 -13
  1113. data/modules/emscripten/third_party/lzma.js/test-decoder.js +0 -39
  1114. data/modules/emscripten/third_party/lzma.js/test-full.html +0 -9
  1115. data/modules/emscripten/third_party/lzma.js/test-full.js +0 -78
  1116. data/modules/emscripten/third_party/ply/ANNOUNCE +0 -40
  1117. data/modules/emscripten/third_party/ply/CHANGES +0 -1093
  1118. data/modules/emscripten/third_party/ply/PKG-INFO +0 -22
  1119. data/modules/emscripten/third_party/ply/README +0 -271
  1120. data/modules/emscripten/third_party/ply/TODO +0 -16
  1121. data/modules/emscripten/third_party/ply/doc/internal.html +0 -874
  1122. data/modules/emscripten/third_party/ply/doc/makedoc.py +0 -194
  1123. data/modules/emscripten/third_party/ply/doc/ply.html +0 -3262
  1124. data/modules/emscripten/third_party/ply/example/BASIC/README +0 -79
  1125. data/modules/emscripten/third_party/ply/example/BASIC/basic.py +0 -71
  1126. data/modules/emscripten/third_party/ply/example/BASIC/basiclex.py +0 -74
  1127. data/modules/emscripten/third_party/ply/example/BASIC/basiclog.py +0 -79
  1128. data/modules/emscripten/third_party/ply/example/BASIC/basinterp.py +0 -441
  1129. data/modules/emscripten/third_party/ply/example/BASIC/basparse.py +0 -424
  1130. data/modules/emscripten/third_party/ply/example/BASIC/dim.bas +0 -14
  1131. data/modules/emscripten/third_party/ply/example/BASIC/func.bas +0 -5
  1132. data/modules/emscripten/third_party/ply/example/BASIC/gcd.bas +0 -22
  1133. data/modules/emscripten/third_party/ply/example/BASIC/gosub.bas +0 -13
  1134. data/modules/emscripten/third_party/ply/example/BASIC/hello.bas +0 -4
  1135. data/modules/emscripten/third_party/ply/example/BASIC/linear.bas +0 -17
  1136. data/modules/emscripten/third_party/ply/example/BASIC/maxsin.bas +0 -12
  1137. data/modules/emscripten/third_party/ply/example/BASIC/powers.bas +0 -13
  1138. data/modules/emscripten/third_party/ply/example/BASIC/rand.bas +0 -4
  1139. data/modules/emscripten/third_party/ply/example/BASIC/sales.bas +0 -20
  1140. data/modules/emscripten/third_party/ply/example/BASIC/sears.bas +0 -18
  1141. data/modules/emscripten/third_party/ply/example/BASIC/sqrt1.bas +0 -5
  1142. data/modules/emscripten/third_party/ply/example/BASIC/sqrt2.bas +0 -4
  1143. data/modules/emscripten/third_party/ply/example/GardenSnake/GardenSnake.py +0 -709
  1144. data/modules/emscripten/third_party/ply/example/GardenSnake/README +0 -5
  1145. data/modules/emscripten/third_party/ply/example/README +0 -10
  1146. data/modules/emscripten/third_party/ply/example/ansic/README +0 -2
  1147. data/modules/emscripten/third_party/ply/example/ansic/clex.py +0 -164
  1148. data/modules/emscripten/third_party/ply/example/ansic/cparse.py +0 -863
  1149. data/modules/emscripten/third_party/ply/example/calc/calc.py +0 -107
  1150. data/modules/emscripten/third_party/ply/example/calcdebug/calc.py +0 -113
  1151. data/modules/emscripten/third_party/ply/example/classcalc/calc.py +0 -157
  1152. data/modules/emscripten/third_party/ply/example/cleanup.sh +0 -2
  1153. data/modules/emscripten/third_party/ply/example/closurecalc/calc.py +0 -130
  1154. data/modules/emscripten/third_party/ply/example/hedit/hedit.py +0 -48
  1155. data/modules/emscripten/third_party/ply/example/newclasscalc/calc.py +0 -160
  1156. data/modules/emscripten/third_party/ply/example/optcalc/README +0 -9
  1157. data/modules/emscripten/third_party/ply/example/optcalc/calc.py +0 -119
  1158. data/modules/emscripten/third_party/ply/example/unicalc/calc.py +0 -117
  1159. data/modules/emscripten/third_party/ply/example/yply/README +0 -41
  1160. data/modules/emscripten/third_party/ply/example/yply/ylex.py +0 -112
  1161. data/modules/emscripten/third_party/ply/example/yply/yparse.py +0 -217
  1162. data/modules/emscripten/third_party/ply/example/yply/yply.py +0 -53
  1163. data/modules/emscripten/third_party/ply/ply/__init__.py +0 -4
  1164. data/modules/emscripten/third_party/ply/ply/cpp.py +0 -898
  1165. data/modules/emscripten/third_party/ply/ply/ctokens.py +0 -133
  1166. data/modules/emscripten/third_party/ply/ply/lex.py +0 -1058
  1167. data/modules/emscripten/third_party/ply/ply/yacc.py +0 -3276
  1168. data/modules/emscripten/third_party/ply/setup.py +0 -31
  1169. data/modules/emscripten/third_party/ply/test/README +0 -7
  1170. data/modules/emscripten/third_party/ply/test/calclex.py +0 -49
  1171. data/modules/emscripten/third_party/ply/test/cleanup.sh +0 -4
  1172. data/modules/emscripten/third_party/ply/test/lex_closure.py +0 -54
  1173. data/modules/emscripten/third_party/ply/test/lex_doc1.py +0 -26
  1174. data/modules/emscripten/third_party/ply/test/lex_dup1.py +0 -29
  1175. data/modules/emscripten/third_party/ply/test/lex_dup2.py +0 -33
  1176. data/modules/emscripten/third_party/ply/test/lex_dup3.py +0 -31
  1177. data/modules/emscripten/third_party/ply/test/lex_empty.py +0 -20
  1178. data/modules/emscripten/third_party/ply/test/lex_error1.py +0 -24
  1179. data/modules/emscripten/third_party/ply/test/lex_error2.py +0 -26
  1180. data/modules/emscripten/third_party/ply/test/lex_error3.py +0 -27
  1181. data/modules/emscripten/third_party/ply/test/lex_error4.py +0 -27
  1182. data/modules/emscripten/third_party/ply/test/lex_hedit.py +0 -47
  1183. data/modules/emscripten/third_party/ply/test/lex_ignore.py +0 -31
  1184. data/modules/emscripten/third_party/ply/test/lex_ignore2.py +0 -29
  1185. data/modules/emscripten/third_party/ply/test/lex_literal1.py +0 -25
  1186. data/modules/emscripten/third_party/ply/test/lex_literal2.py +0 -25
  1187. data/modules/emscripten/third_party/ply/test/lex_many_tokens.py +0 -27
  1188. data/modules/emscripten/third_party/ply/test/lex_module.py +0 -10
  1189. data/modules/emscripten/third_party/ply/test/lex_module_import.py +0 -42
  1190. data/modules/emscripten/third_party/ply/test/lex_object.py +0 -55
  1191. data/modules/emscripten/third_party/ply/test/lex_opt_alias.py +0 -54
  1192. data/modules/emscripten/third_party/ply/test/lex_optimize.py +0 -50
  1193. data/modules/emscripten/third_party/ply/test/lex_optimize2.py +0 -50
  1194. data/modules/emscripten/third_party/ply/test/lex_optimize3.py +0 -52
  1195. data/modules/emscripten/third_party/ply/test/lex_re1.py +0 -27
  1196. data/modules/emscripten/third_party/ply/test/lex_re2.py +0 -27
  1197. data/modules/emscripten/third_party/ply/test/lex_re3.py +0 -29
  1198. data/modules/emscripten/third_party/ply/test/lex_rule1.py +0 -27
  1199. data/modules/emscripten/third_party/ply/test/lex_rule2.py +0 -29
  1200. data/modules/emscripten/third_party/ply/test/lex_rule3.py +0 -27
  1201. data/modules/emscripten/third_party/ply/test/lex_state1.py +0 -40
  1202. data/modules/emscripten/third_party/ply/test/lex_state2.py +0 -40
  1203. data/modules/emscripten/third_party/ply/test/lex_state3.py +0 -42
  1204. data/modules/emscripten/third_party/ply/test/lex_state4.py +0 -41
  1205. data/modules/emscripten/third_party/ply/test/lex_state5.py +0 -40
  1206. data/modules/emscripten/third_party/ply/test/lex_state_noerror.py +0 -39
  1207. data/modules/emscripten/third_party/ply/test/lex_state_norule.py +0 -40
  1208. data/modules/emscripten/third_party/ply/test/lex_state_try.py +0 -45
  1209. data/modules/emscripten/third_party/ply/test/lex_token1.py +0 -19
  1210. data/modules/emscripten/third_party/ply/test/lex_token2.py +0 -22
  1211. data/modules/emscripten/third_party/ply/test/lex_token3.py +0 -24
  1212. data/modules/emscripten/third_party/ply/test/lex_token4.py +0 -26
  1213. data/modules/emscripten/third_party/ply/test/lex_token5.py +0 -31
  1214. data/modules/emscripten/third_party/ply/test/lex_token_dup.py +0 -29
  1215. data/modules/emscripten/third_party/ply/test/testlex.py +0 -606
  1216. data/modules/emscripten/third_party/ply/test/testyacc.py +0 -347
  1217. data/modules/emscripten/third_party/ply/test/yacc_badargs.py +0 -68
  1218. data/modules/emscripten/third_party/ply/test/yacc_badid.py +0 -77
  1219. data/modules/emscripten/third_party/ply/test/yacc_badprec.py +0 -64
  1220. data/modules/emscripten/third_party/ply/test/yacc_badprec2.py +0 -68
  1221. data/modules/emscripten/third_party/ply/test/yacc_badprec3.py +0 -68
  1222. data/modules/emscripten/third_party/ply/test/yacc_badrule.py +0 -68
  1223. data/modules/emscripten/third_party/ply/test/yacc_badtok.py +0 -68
  1224. data/modules/emscripten/third_party/ply/test/yacc_dup.py +0 -68
  1225. data/modules/emscripten/third_party/ply/test/yacc_error1.py +0 -68
  1226. data/modules/emscripten/third_party/ply/test/yacc_error2.py +0 -68
  1227. data/modules/emscripten/third_party/ply/test/yacc_error3.py +0 -67
  1228. data/modules/emscripten/third_party/ply/test/yacc_error4.py +0 -72
  1229. data/modules/emscripten/third_party/ply/test/yacc_inf.py +0 -56
  1230. data/modules/emscripten/third_party/ply/test/yacc_literal.py +0 -69
  1231. data/modules/emscripten/third_party/ply/test/yacc_misplaced.py +0 -68
  1232. data/modules/emscripten/third_party/ply/test/yacc_missing1.py +0 -68
  1233. data/modules/emscripten/third_party/ply/test/yacc_nested.py +0 -33
  1234. data/modules/emscripten/third_party/ply/test/yacc_nodoc.py +0 -67
  1235. data/modules/emscripten/third_party/ply/test/yacc_noerror.py +0 -66
  1236. data/modules/emscripten/third_party/ply/test/yacc_nop.py +0 -68
  1237. data/modules/emscripten/third_party/ply/test/yacc_notfunc.py +0 -66
  1238. data/modules/emscripten/third_party/ply/test/yacc_notok.py +0 -67
  1239. data/modules/emscripten/third_party/ply/test/yacc_prec1.py +0 -68
  1240. data/modules/emscripten/third_party/ply/test/yacc_rr.py +0 -72
  1241. data/modules/emscripten/third_party/ply/test/yacc_rr_unused.py +0 -30
  1242. data/modules/emscripten/third_party/ply/test/yacc_simple.py +0 -68
  1243. data/modules/emscripten/third_party/ply/test/yacc_sr.py +0 -63
  1244. data/modules/emscripten/third_party/ply/test/yacc_term1.py +0 -68
  1245. data/modules/emscripten/third_party/ply/test/yacc_unused.py +0 -77
  1246. data/modules/emscripten/third_party/ply/test/yacc_unused_rule.py +0 -72
  1247. data/modules/emscripten/third_party/ply/test/yacc_uprec.py +0 -63
  1248. data/modules/emscripten/third_party/ply/test/yacc_uprec2.py +0 -63
  1249. data/modules/emscripten/third_party/readme.txt +0 -7
  1250. data/modules/emscripten/third_party/stb_image.c +0 -4673
  1251. data/modules/emscripten/third_party/websockify/CHANGES.txt +0 -23
  1252. data/modules/emscripten/third_party/websockify/LICENSE.txt +0 -16
  1253. data/modules/emscripten/third_party/websockify/MANIFEST.in +0 -1
  1254. data/modules/emscripten/third_party/websockify/Makefile +0 -11
  1255. data/modules/emscripten/third_party/websockify/README.md +0 -168
  1256. data/modules/emscripten/third_party/websockify/Windows/Windows Service Readme.txt +0 -39
  1257. data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/Program.cs +0 -24
  1258. data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/ProjectInstaller.Designer.cs +0 -61
  1259. data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/ProjectInstaller.cs +0 -19
  1260. data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/ProjectInstaller.resx +0 -129
  1261. data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/Properties/AssemblyInfo.cs +0 -36
  1262. data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/Service1.Designer.cs +0 -37
  1263. data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/Service1.cs +0 -41
  1264. data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/noVNC Websocket.csproj +0 -75
  1265. data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/noVNC Websocket.sln +0 -20
  1266. data/modules/emscripten/third_party/websockify/docs/LICENSE.GPL-3 +0 -621
  1267. data/modules/emscripten/third_party/websockify/docs/LICENSE.LGPL-3 +0 -165
  1268. data/modules/emscripten/third_party/websockify/docs/LICENSE.MPL-2.0 +0 -373
  1269. data/modules/emscripten/third_party/websockify/docs/TODO +0 -9
  1270. data/modules/emscripten/third_party/websockify/docs/flash_policy.txt +0 -4
  1271. data/modules/emscripten/third_party/websockify/docs/latency_results.txt +0 -114
  1272. data/modules/emscripten/third_party/websockify/docs/notes +0 -17
  1273. data/modules/emscripten/third_party/websockify/docs/release.txt +0 -9
  1274. data/modules/emscripten/third_party/websockify/docs/websockify.1 +0 -110
  1275. data/modules/emscripten/third_party/websockify/include/VT100.js +0 -919
  1276. data/modules/emscripten/third_party/websockify/include/base64.js +0 -114
  1277. data/modules/emscripten/third_party/websockify/include/keysym.js +0 -99
  1278. data/modules/emscripten/third_party/websockify/include/util.js +0 -359
  1279. data/modules/emscripten/third_party/websockify/include/web-socket-js/README.txt +0 -109
  1280. data/modules/emscripten/third_party/websockify/include/web-socket-js/WebSocketMain.swf +0 -0
  1281. data/modules/emscripten/third_party/websockify/include/web-socket-js/swfobject.js +0 -4
  1282. data/modules/emscripten/third_party/websockify/include/web-socket-js/web_socket.js +0 -391
  1283. data/modules/emscripten/third_party/websockify/include/websock.js +0 -422
  1284. data/modules/emscripten/third_party/websockify/include/webutil.js +0 -216
  1285. data/modules/emscripten/third_party/websockify/include/wsirc.js +0 -235
  1286. data/modules/emscripten/third_party/websockify/include/wstelnet.js +0 -335
  1287. data/modules/emscripten/third_party/websockify/other/Makefile +0 -14
  1288. data/modules/emscripten/third_party/websockify/other/README.md +0 -51
  1289. data/modules/emscripten/third_party/websockify/other/launch.sh +0 -108
  1290. data/modules/emscripten/third_party/websockify/other/project.clj +0 -13
  1291. data/modules/emscripten/third_party/websockify/other/websocket.c +0 -802
  1292. data/modules/emscripten/third_party/websockify/other/websocket.h +0 -84
  1293. data/modules/emscripten/third_party/websockify/other/websocket.rb +0 -456
  1294. data/modules/emscripten/third_party/websockify/other/websockify.c +0 -385
  1295. data/modules/emscripten/third_party/websockify/other/websockify.clj +0 -233
  1296. data/modules/emscripten/third_party/websockify/other/websockify.js +0 -196
  1297. data/modules/emscripten/third_party/websockify/other/websockify.rb +0 -171
  1298. data/modules/emscripten/third_party/websockify/other/wswrap +0 -22
  1299. data/modules/emscripten/third_party/websockify/rebind +0 -18
  1300. data/modules/emscripten/third_party/websockify/rebind.c +0 -94
  1301. data/modules/emscripten/third_party/websockify/run +0 -5
  1302. data/modules/emscripten/third_party/websockify/setup.py +0 -30
  1303. data/modules/emscripten/third_party/websockify/tests/b64_vs_utf8.py +0 -29
  1304. data/modules/emscripten/third_party/websockify/tests/base64.html +0 -91
  1305. data/modules/emscripten/third_party/websockify/tests/base64.js +0 -12
  1306. data/modules/emscripten/third_party/websockify/tests/echo.html +0 -148
  1307. data/modules/emscripten/third_party/websockify/tests/echo.py +0 -75
  1308. data/modules/emscripten/third_party/websockify/tests/echo.rb +0 -62
  1309. data/modules/emscripten/third_party/websockify/tests/latency.html +0 -290
  1310. data/modules/emscripten/third_party/websockify/tests/latency.py +0 -75
  1311. data/modules/emscripten/third_party/websockify/tests/load.html +0 -250
  1312. data/modules/emscripten/third_party/websockify/tests/load.py +0 -167
  1313. data/modules/emscripten/third_party/websockify/tests/plain_echo.html +0 -168
  1314. data/modules/emscripten/third_party/websockify/tests/simple.html +0 -68
  1315. data/modules/emscripten/third_party/websockify/tests/utf8-list.py +0 -22
  1316. data/modules/emscripten/third_party/websockify/websockify/__init__.py +0 -2
  1317. data/modules/emscripten/third_party/websockify/websockify/websocket.py +0 -982
  1318. data/modules/emscripten/third_party/websockify/websockify/websocketproxy.py +0 -393
  1319. data/modules/emscripten/third_party/websockify/websockify.py +0 -5
  1320. data/modules/emscripten/third_party/websockify/wsirc.html +0 -99
  1321. data/modules/emscripten/third_party/websockify/wstelnet.html +0 -74
  1322. data/modules/emscripten/tools/__init__.py +0 -0
  1323. data/modules/emscripten/tools/asm_module.py +0 -275
  1324. data/modules/emscripten/tools/autodebugger.py +0 -291
  1325. data/modules/emscripten/tools/autodebugger_c.py +0 -37
  1326. data/modules/emscripten/tools/autodebugger_indenter.py +0 -18
  1327. data/modules/emscripten/tools/autodebugger_js.py +0 -47
  1328. data/modules/emscripten/tools/autodediffer.py +0 -60
  1329. data/modules/emscripten/tools/bindings_generator.py +0 -832
  1330. data/modules/emscripten/tools/bisect_pair.py +0 -88
  1331. data/modules/emscripten/tools/cache.py +0 -196
  1332. data/modules/emscripten/tools/clean_webconsole.py +0 -34
  1333. data/modules/emscripten/tools/crunch-worker.js +0 -124
  1334. data/modules/emscripten/tools/diff_autodebugger.py +0 -15
  1335. data/modules/emscripten/tools/eliminator/asm-eliminator-test-output.js +0 -307
  1336. data/modules/emscripten/tools/eliminator/asm-eliminator-test.js +0 -382
  1337. data/modules/emscripten/tools/eliminator/eliminator-test-output.js +0 -6136
  1338. data/modules/emscripten/tools/eliminator/eliminator-test.js +0 -8879
  1339. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/README.html +0 -888
  1340. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/README.org +0 -463
  1341. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/bin/uglifyjs +0 -317
  1342. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/docstyle.css +0 -75
  1343. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/lib/object-ast.js +0 -75
  1344. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/lib/parse-js.js +0 -1363
  1345. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/lib/process.js +0 -2005
  1346. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/lib/squeeze-more.js +0 -51
  1347. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/package.json +0 -22
  1348. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/beautify.js +0 -28
  1349. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/testparser.js +0 -402
  1350. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/array1.js +0 -1
  1351. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/array2.js +0 -1
  1352. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/array3.js +0 -1
  1353. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/array4.js +0 -1
  1354. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/assignment.js +0 -1
  1355. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/concatstring.js +0 -1
  1356. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/const.js +0 -1
  1357. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/empty-blocks.js +0 -1
  1358. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/forstatement.js +0 -1
  1359. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/if.js +0 -1
  1360. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/ifreturn.js +0 -1
  1361. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/ifreturn2.js +0 -1
  1362. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue10.js +0 -1
  1363. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue11.js +0 -1
  1364. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue13.js +0 -1
  1365. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue14.js +0 -1
  1366. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue16.js +0 -1
  1367. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue17.js +0 -1
  1368. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue20.js +0 -1
  1369. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue21.js +0 -1
  1370. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue25.js +0 -1
  1371. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue27.js +0 -1
  1372. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue28.js +0 -1
  1373. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue29.js +0 -1
  1374. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue30.js +0 -1
  1375. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue34.js +0 -1
  1376. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue4.js +0 -1
  1377. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue48.js +0 -1
  1378. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue50.js +0 -1
  1379. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue53.js +0 -1
  1380. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue54.1.js +0 -1
  1381. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue68.js +0 -1
  1382. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue69.js +0 -1
  1383. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue9.js +0 -1
  1384. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/mangle.js +0 -1
  1385. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/strict-equals.js +0 -1
  1386. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/var.js +0 -1
  1387. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/with.js +0 -1
  1388. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/array1.js +0 -3
  1389. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/array2.js +0 -4
  1390. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/array3.js +0 -4
  1391. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/array4.js +0 -6
  1392. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/assignment.js +0 -20
  1393. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/concatstring.js +0 -3
  1394. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/const.js +0 -5
  1395. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/empty-blocks.js +0 -4
  1396. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/forstatement.js +0 -10
  1397. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/if.js +0 -6
  1398. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/ifreturn.js +0 -9
  1399. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/ifreturn2.js +0 -16
  1400. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue10.js +0 -1
  1401. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue11.js +0 -3
  1402. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue13.js +0 -1
  1403. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue14.js +0 -1
  1404. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue16.js +0 -1
  1405. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue17.js +0 -4
  1406. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue20.js +0 -1
  1407. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue21.js +0 -6
  1408. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue25.js +0 -7
  1409. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue27.js +0 -1
  1410. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue28.js +0 -3
  1411. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue29.js +0 -1
  1412. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue30.js +0 -3
  1413. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue34.js +0 -3
  1414. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue4.js +0 -3
  1415. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue48.js +0 -1
  1416. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue50.js +0 -9
  1417. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue53.js +0 -1
  1418. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue54.1.js +0 -3
  1419. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue68.js +0 -5
  1420. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue69.js +0 -1
  1421. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue9.js +0 -4
  1422. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/mangle.js +0 -5
  1423. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/strict-equals.js +0 -3
  1424. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/var.js +0 -3
  1425. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/with.js +0 -2
  1426. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/scripts.js +0 -55
  1427. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/tmp/hoist.js +0 -33
  1428. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/tmp/instrument.js +0 -97
  1429. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/tmp/instrument2.js +0 -138
  1430. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/tmp/test.js +0 -16
  1431. data/modules/emscripten/tools/eliminator/node_modules/uglify-js/uglify-js.js +0 -17
  1432. data/modules/emscripten/tools/eliminator/safe-eliminator-test-output.js +0 -85
  1433. data/modules/emscripten/tools/eliminator/safe-eliminator-test.js +0 -103
  1434. data/modules/emscripten/tools/emconfiguren.py +0 -19
  1435. data/modules/emscripten/tools/emmaken.py +0 -230
  1436. data/modules/emscripten/tools/emmakenxx.py +0 -18
  1437. data/modules/emscripten/tools/exec_llvm.py +0 -50
  1438. data/modules/emscripten/tools/file2json.py +0 -49
  1439. data/modules/emscripten/tools/file_packager.py +0 -719
  1440. data/modules/emscripten/tools/find_bigfuncs.py +0 -23
  1441. data/modules/emscripten/tools/find_bigis.py +0 -18
  1442. data/modules/emscripten/tools/find_bigvars.py +0 -24
  1443. data/modules/emscripten/tools/fix_closure.py +0 -88
  1444. data/modules/emscripten/tools/gen_struct_info.py +0 -509
  1445. data/modules/emscripten/tools/ie7_fix.py +0 -14
  1446. data/modules/emscripten/tools/js-optimizer.js +0 -4023
  1447. data/modules/emscripten/tools/js_optimizer.py +0 -357
  1448. data/modules/emscripten/tools/jsrun.py +0 -37
  1449. data/modules/emscripten/tools/ll-strip.py +0 -56
  1450. data/modules/emscripten/tools/make_file.py +0 -19
  1451. data/modules/emscripten/tools/make_minigzip.py +0 -13
  1452. data/modules/emscripten/tools/merge_asm.py +0 -26
  1453. data/modules/emscripten/tools/namespacer.py +0 -95
  1454. data/modules/emscripten/tools/nativize_llvm.py +0 -34
  1455. data/modules/emscripten/tools/node_modules/source-map/CHANGELOG.md +0 -58
  1456. data/modules/emscripten/tools/node_modules/source-map/LICENSE +0 -28
  1457. data/modules/emscripten/tools/node_modules/source-map/Makefile.dryice.js +0 -166
  1458. data/modules/emscripten/tools/node_modules/source-map/README.md +0 -347
  1459. data/modules/emscripten/tools/node_modules/source-map/build/assert-shim.js +0 -56
  1460. data/modules/emscripten/tools/node_modules/source-map/build/mini-require.js +0 -152
  1461. data/modules/emscripten/tools/node_modules/source-map/build/prefix-source-map.jsm +0 -20
  1462. data/modules/emscripten/tools/node_modules/source-map/build/prefix-utils.jsm +0 -18
  1463. data/modules/emscripten/tools/node_modules/source-map/build/suffix-browser.js +0 -8
  1464. data/modules/emscripten/tools/node_modules/source-map/build/suffix-source-map.jsm +0 -6
  1465. data/modules/emscripten/tools/node_modules/source-map/build/suffix-utils.jsm +0 -21
  1466. data/modules/emscripten/tools/node_modules/source-map/build/test-prefix.js +0 -8
  1467. data/modules/emscripten/tools/node_modules/source-map/build/test-suffix.js +0 -3
  1468. data/modules/emscripten/tools/node_modules/source-map/lib/source-map/array-set.js +0 -96
  1469. data/modules/emscripten/tools/node_modules/source-map/lib/source-map/base64-vlq.js +0 -144
  1470. data/modules/emscripten/tools/node_modules/source-map/lib/source-map/base64.js +0 -42
  1471. data/modules/emscripten/tools/node_modules/source-map/lib/source-map/binary-search.js +0 -81
  1472. data/modules/emscripten/tools/node_modules/source-map/lib/source-map/source-map-consumer.js +0 -430
  1473. data/modules/emscripten/tools/node_modules/source-map/lib/source-map/source-map-generator.js +0 -381
  1474. data/modules/emscripten/tools/node_modules/source-map/lib/source-map/source-node.js +0 -353
  1475. data/modules/emscripten/tools/node_modules/source-map/lib/source-map/util.js +0 -117
  1476. data/modules/emscripten/tools/node_modules/source-map/lib/source-map.js +0 -8
  1477. data/modules/emscripten/tools/node_modules/source-map/node_modules/amdefine/LICENSE +0 -58
  1478. data/modules/emscripten/tools/node_modules/source-map/node_modules/amdefine/README.md +0 -119
  1479. data/modules/emscripten/tools/node_modules/source-map/node_modules/amdefine/amdefine.js +0 -299
  1480. data/modules/emscripten/tools/node_modules/source-map/node_modules/amdefine/package.json +0 -33
  1481. data/modules/emscripten/tools/node_modules/source-map/package.json +0 -74
  1482. data/modules/emscripten/tools/node_modules/source-map/test/run-tests.js +0 -73
  1483. data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-api.js +0 -26
  1484. data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-array-set.js +0 -71
  1485. data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-base64-vlq.js +0 -24
  1486. data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-base64.js +0 -35
  1487. data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-binary-search.js +0 -54
  1488. data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-dog-fooding.js +0 -72
  1489. data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-source-map-consumer.js +0 -306
  1490. data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-source-map-generator.js +0 -391
  1491. data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-source-node.js +0 -282
  1492. data/modules/emscripten/tools/node_modules/source-map/test/source-map/util.js +0 -152
  1493. data/modules/emscripten/tools/reproduceriter.js +0 -216
  1494. data/modules/emscripten/tools/reproduceriter.py +0 -160
  1495. data/modules/emscripten/tools/response_file.py +0 -34
  1496. data/modules/emscripten/tools/scan_js.py +0 -20
  1497. data/modules/emscripten/tools/scan_ll.py +0 -18
  1498. data/modules/emscripten/tools/scons/site_scons/site_tools/emscripten/__init__.py +0 -3
  1499. data/modules/emscripten/tools/scons/site_scons/site_tools/emscripten/emscripten.py +0 -46
  1500. data/modules/emscripten/tools/settings_template_readonly.py +0 -49
  1501. data/modules/emscripten/tools/shared.py +0 -1705
  1502. data/modules/emscripten/tools/source-maps/sourcemap2json.js +0 -15
  1503. data/modules/emscripten/tools/source-maps/sourcemapper.js +0 -208
  1504. data/modules/emscripten/tools/split.py +0 -105
  1505. data/modules/emscripten/tools/split_asm.py +0 -30
  1506. data/modules/emscripten/tools/tempfiles.py +0 -41
  1507. data/modules/emscripten/tools/test-js-optimizer-asm-last-output.js +0 -75
  1508. data/modules/emscripten/tools/test-js-optimizer-asm-last.js +0 -91
  1509. data/modules/emscripten/tools/test-js-optimizer-asm-minlast-output.js +0 -2
  1510. data/modules/emscripten/tools/test-js-optimizer-asm-minlast.js +0 -8
  1511. data/modules/emscripten/tools/test-js-optimizer-asm-outline1-output.js +0 -929
  1512. data/modules/emscripten/tools/test-js-optimizer-asm-outline1.js +0 -351
  1513. data/modules/emscripten/tools/test-js-optimizer-asm-outline2-output.js +0 -793
  1514. data/modules/emscripten/tools/test-js-optimizer-asm-outline2.js +0 -606
  1515. data/modules/emscripten/tools/test-js-optimizer-asm-outline3-output.js +0 -28
  1516. data/modules/emscripten/tools/test-js-optimizer-asm-outline3.js +0 -30
  1517. data/modules/emscripten/tools/test-js-optimizer-asm-pre-output.js +0 -522
  1518. data/modules/emscripten/tools/test-js-optimizer-asm-pre.js +0 -533
  1519. data/modules/emscripten/tools/test-js-optimizer-asm-regs-min-output.js +0 -36
  1520. data/modules/emscripten/tools/test-js-optimizer-asm-regs-min.js +0 -37
  1521. data/modules/emscripten/tools/test-js-optimizer-asm-regs-output.js +0 -106
  1522. data/modules/emscripten/tools/test-js-optimizer-asm-regs.js +0 -110
  1523. data/modules/emscripten/tools/test-js-optimizer-asm-relocate-output.js +0 -9
  1524. data/modules/emscripten/tools/test-js-optimizer-asm-relocate.js +0 -12
  1525. data/modules/emscripten/tools/test-js-optimizer-output.js +0 -291
  1526. data/modules/emscripten/tools/test-js-optimizer-regs-output.js +0 -232
  1527. data/modules/emscripten/tools/test-js-optimizer-regs.js +0 -237
  1528. data/modules/emscripten/tools/test-js-optimizer-t2-output.js +0 -91
  1529. data/modules/emscripten/tools/test-js-optimizer-t2.js +0 -92
  1530. data/modules/emscripten/tools/test-js-optimizer-t2c-output.js +0 -17
  1531. data/modules/emscripten/tools/test-js-optimizer-t2c.js +0 -18
  1532. data/modules/emscripten/tools/test-js-optimizer-t3-output.js +0 -49
  1533. data/modules/emscripten/tools/test-js-optimizer-t3.js +0 -50
  1534. data/modules/emscripten/tools/test-js-optimizer.js +0 -401
  1535. data/modules/emscripten/tools/validate_asmjs.py +0 -82
  1536. data/modules/mruby/mrblib/print.rb +0 -18
  1537. data/modules/mruby/src/re.h +0 -12
@@ -1,2615 +0,0 @@
1
- // -*- C++ -*-
2
- //===--------------------------- future -----------------------------------===//
3
- //
4
- // The LLVM Compiler Infrastructure
5
- //
6
- // This file is dual licensed under the MIT and the University of Illinois Open
7
- // Source Licenses. See LICENSE.TXT for details.
8
- //
9
- //===----------------------------------------------------------------------===//
10
-
11
- #ifndef _LIBCPP_FUTURE
12
- #define _LIBCPP_FUTURE
13
-
14
- /*
15
- future synopsis
16
-
17
- namespace std
18
- {
19
-
20
- enum class future_errc
21
- {
22
- future_already_retrieved = 1,
23
- promise_already_satisfied,
24
- no_state,
25
- broken_promise
26
- };
27
-
28
- enum class launch
29
- {
30
- async = 1,
31
- deferred = 2,
32
- any = async | deferred
33
- };
34
-
35
- enum class future_status
36
- {
37
- ready,
38
- timeout,
39
- deferred
40
- };
41
-
42
- template <> struct is_error_code_enum<future_errc> : public true_type { };
43
- error_code make_error_code(future_errc e) noexcept;
44
- error_condition make_error_condition(future_errc e) noexcept;
45
-
46
- const error_category& future_category() noexcept;
47
-
48
- class future_error
49
- : public logic_error
50
- {
51
- public:
52
- future_error(error_code ec); // exposition only
53
-
54
- const error_code& code() const noexcept;
55
- const char* what() const noexcept;
56
- };
57
-
58
- template <class R>
59
- class promise
60
- {
61
- public:
62
- promise();
63
- template <class Allocator>
64
- promise(allocator_arg_t, const Allocator& a);
65
- promise(promise&& rhs) noexcept;
66
- promise(const promise& rhs) = delete;
67
- ~promise();
68
-
69
- // assignment
70
- promise& operator=(promise&& rhs) noexcept;
71
- promise& operator=(const promise& rhs) = delete;
72
- void swap(promise& other) noexcept;
73
-
74
- // retrieving the result
75
- future<R> get_future();
76
-
77
- // setting the result
78
- void set_value(const R& r);
79
- void set_value(R&& r);
80
- void set_exception(exception_ptr p);
81
-
82
- // setting the result with deferred notification
83
- void set_value_at_thread_exit(const R& r);
84
- void set_value_at_thread_exit(R&& r);
85
- void set_exception_at_thread_exit(exception_ptr p);
86
- };
87
-
88
- template <class R>
89
- class promise<R&>
90
- {
91
- public:
92
- promise();
93
- template <class Allocator>
94
- promise(allocator_arg_t, const Allocator& a);
95
- promise(promise&& rhs) noexcept;
96
- promise(const promise& rhs) = delete;
97
- ~promise();
98
-
99
- // assignment
100
- promise& operator=(promise&& rhs) noexcept;
101
- promise& operator=(const promise& rhs) = delete;
102
- void swap(promise& other) noexcept;
103
-
104
- // retrieving the result
105
- future<R&> get_future();
106
-
107
- // setting the result
108
- void set_value(R& r);
109
- void set_exception(exception_ptr p);
110
-
111
- // setting the result with deferred notification
112
- void set_value_at_thread_exit(R&);
113
- void set_exception_at_thread_exit(exception_ptr p);
114
- };
115
-
116
- template <>
117
- class promise<void>
118
- {
119
- public:
120
- promise();
121
- template <class Allocator>
122
- promise(allocator_arg_t, const Allocator& a);
123
- promise(promise&& rhs) noexcept;
124
- promise(const promise& rhs) = delete;
125
- ~promise();
126
-
127
- // assignment
128
- promise& operator=(promise&& rhs) noexcept;
129
- promise& operator=(const promise& rhs) = delete;
130
- void swap(promise& other) noexcept;
131
-
132
- // retrieving the result
133
- future<void> get_future();
134
-
135
- // setting the result
136
- void set_value();
137
- void set_exception(exception_ptr p);
138
-
139
- // setting the result with deferred notification
140
- void set_value_at_thread_exit();
141
- void set_exception_at_thread_exit(exception_ptr p);
142
- };
143
-
144
- template <class R> void swap(promise<R>& x, promise<R>& y) noexcept;
145
-
146
- template <class R, class Alloc>
147
- struct uses_allocator<promise<R>, Alloc> : public true_type {};
148
-
149
- template <class R>
150
- class future
151
- {
152
- public:
153
- future() noexcept;
154
- future(future&&) noexcept;
155
- future(const future& rhs) = delete;
156
- ~future();
157
- future& operator=(const future& rhs) = delete;
158
- future& operator=(future&&) noexcept;
159
- shared_future<R> share();
160
-
161
- // retrieving the value
162
- R get();
163
-
164
- // functions to check state
165
- bool valid() const noexcept;
166
-
167
- void wait() const;
168
- template <class Rep, class Period>
169
- future_status
170
- wait_for(const chrono::duration<Rep, Period>& rel_time) const;
171
- template <class Clock, class Duration>
172
- future_status
173
- wait_until(const chrono::time_point<Clock, Duration>& abs_time) const;
174
- };
175
-
176
- template <class R>
177
- class future<R&>
178
- {
179
- public:
180
- future() noexcept;
181
- future(future&&) noexcept;
182
- future(const future& rhs) = delete;
183
- ~future();
184
- future& operator=(const future& rhs) = delete;
185
- future& operator=(future&&) noexcept;
186
- shared_future<R&> share();
187
-
188
- // retrieving the value
189
- R& get();
190
-
191
- // functions to check state
192
- bool valid() const noexcept;
193
-
194
- void wait() const;
195
- template <class Rep, class Period>
196
- future_status
197
- wait_for(const chrono::duration<Rep, Period>& rel_time) const;
198
- template <class Clock, class Duration>
199
- future_status
200
- wait_until(const chrono::time_point<Clock, Duration>& abs_time) const;
201
- };
202
-
203
- template <>
204
- class future<void>
205
- {
206
- public:
207
- future() noexcept;
208
- future(future&&) noexcept;
209
- future(const future& rhs) = delete;
210
- ~future();
211
- future& operator=(const future& rhs) = delete;
212
- future& operator=(future&&) noexcept;
213
- shared_future<void> share();
214
-
215
- // retrieving the value
216
- void get();
217
-
218
- // functions to check state
219
- bool valid() const noexcept;
220
-
221
- void wait() const;
222
- template <class Rep, class Period>
223
- future_status
224
- wait_for(const chrono::duration<Rep, Period>& rel_time) const;
225
- template <class Clock, class Duration>
226
- future_status
227
- wait_until(const chrono::time_point<Clock, Duration>& abs_time) const;
228
- };
229
-
230
- template <class R>
231
- class shared_future
232
- {
233
- public:
234
- shared_future() noexcept;
235
- shared_future(const shared_future& rhs);
236
- shared_future(future<R>&&) noexcept;
237
- shared_future(shared_future&& rhs) noexcept;
238
- ~shared_future();
239
- shared_future& operator=(const shared_future& rhs);
240
- shared_future& operator=(shared_future&& rhs) noexcept;
241
-
242
- // retrieving the value
243
- const R& get() const;
244
-
245
- // functions to check state
246
- bool valid() const noexcept;
247
-
248
- void wait() const;
249
- template <class Rep, class Period>
250
- future_status
251
- wait_for(const chrono::duration<Rep, Period>& rel_time) const;
252
- template <class Clock, class Duration>
253
- future_status
254
- wait_until(const chrono::time_point<Clock, Duration>& abs_time) const;
255
- };
256
-
257
- template <class R>
258
- class shared_future<R&>
259
- {
260
- public:
261
- shared_future() noexcept;
262
- shared_future(const shared_future& rhs);
263
- shared_future(future<R&>&&) noexcept;
264
- shared_future(shared_future&& rhs) noexcept;
265
- ~shared_future();
266
- shared_future& operator=(const shared_future& rhs);
267
- shared_future& operator=(shared_future&& rhs) noexcept;
268
-
269
- // retrieving the value
270
- R& get() const;
271
-
272
- // functions to check state
273
- bool valid() const noexcept;
274
-
275
- void wait() const;
276
- template <class Rep, class Period>
277
- future_status
278
- wait_for(const chrono::duration<Rep, Period>& rel_time) const;
279
- template <class Clock, class Duration>
280
- future_status
281
- wait_until(const chrono::time_point<Clock, Duration>& abs_time) const;
282
- };
283
-
284
- template <>
285
- class shared_future<void>
286
- {
287
- public:
288
- shared_future() noexcept;
289
- shared_future(const shared_future& rhs);
290
- shared_future(future<void>&&) noexcept;
291
- shared_future(shared_future&& rhs) noexcept;
292
- ~shared_future();
293
- shared_future& operator=(const shared_future& rhs);
294
- shared_future& operator=(shared_future&& rhs) noexcept;
295
-
296
- // retrieving the value
297
- void get() const;
298
-
299
- // functions to check state
300
- bool valid() const noexcept;
301
-
302
- void wait() const;
303
- template <class Rep, class Period>
304
- future_status
305
- wait_for(const chrono::duration<Rep, Period>& rel_time) const;
306
- template <class Clock, class Duration>
307
- future_status
308
- wait_until(const chrono::time_point<Clock, Duration>& abs_time) const;
309
- };
310
-
311
- template <class F, class... Args>
312
- future<typename result_of<typename decay<F>::type(typename decay<Args>::type...)>::type>
313
- async(F&& f, Args&&... args);
314
-
315
- template <class F, class... Args>
316
- future<typename result_of<typename decay<F>::type(typename decay<Args>::type...)>::type>
317
- async(launch policy, F&& f, Args&&... args);
318
-
319
- template <class> class packaged_task; // undefined
320
-
321
- template <class R, class... ArgTypes>
322
- class packaged_task<R(ArgTypes...)>
323
- {
324
- public:
325
- typedef R result_type;
326
-
327
- // construction and destruction
328
- packaged_task() noexcept;
329
- template <class F>
330
- explicit packaged_task(F&& f);
331
- template <class F, class Allocator>
332
- explicit packaged_task(allocator_arg_t, const Allocator& a, F&& f);
333
- ~packaged_task();
334
-
335
- // no copy
336
- packaged_task(const packaged_task&) = delete;
337
- packaged_task& operator=(const packaged_task&) = delete;
338
-
339
- // move support
340
- packaged_task(packaged_task&& other) noexcept;
341
- packaged_task& operator=(packaged_task&& other) noexcept;
342
- void swap(packaged_task& other) noexcept;
343
-
344
- bool valid() const noexcept;
345
-
346
- // result retrieval
347
- future<R> get_future();
348
-
349
- // execution
350
- void operator()(ArgTypes... );
351
- void make_ready_at_thread_exit(ArgTypes...);
352
-
353
- void reset();
354
- };
355
-
356
- template <class R>
357
- void swap(packaged_task<R(ArgTypes...)&, packaged_task<R(ArgTypes...)>&) noexcept;
358
-
359
- template <class R, class Alloc> struct uses_allocator<packaged_task<R>, Alloc>;
360
-
361
- } // std
362
-
363
- */
364
-
365
- #include <__config>
366
- #include <system_error>
367
- #include <memory>
368
- #include <chrono>
369
- #include <exception>
370
- #include <mutex>
371
- #include <thread>
372
-
373
- #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
374
- #pragma GCC system_header
375
- #endif
376
-
377
- _LIBCPP_BEGIN_NAMESPACE_STD
378
-
379
- //enum class future_errc
380
- _LIBCPP_DECLARE_STRONG_ENUM(future_errc)
381
- {
382
- future_already_retrieved = 1,
383
- promise_already_satisfied,
384
- no_state,
385
- broken_promise
386
- };
387
- _LIBCPP_DECLARE_STRONG_ENUM_EPILOG(future_errc)
388
-
389
- template <>
390
- struct _LIBCPP_TYPE_VIS_ONLY is_error_code_enum<future_errc> : public true_type {};
391
-
392
- #ifdef _LIBCPP_HAS_NO_STRONG_ENUMS
393
- template <>
394
- struct _LIBCPP_TYPE_VIS_ONLY is_error_code_enum<future_errc::__lx> : public true_type { };
395
- #endif
396
-
397
- //enum class launch
398
- _LIBCPP_DECLARE_STRONG_ENUM(launch)
399
- {
400
- async = 1,
401
- deferred = 2,
402
- any = async | deferred
403
- };
404
- _LIBCPP_DECLARE_STRONG_ENUM_EPILOG(launch)
405
-
406
- #ifndef _LIBCPP_HAS_NO_STRONG_ENUMS
407
-
408
- #ifdef _LIBCXX_UNDERLYING_TYPE
409
- typedef underlying_type<launch>::type __launch_underlying_type;
410
- #else
411
- typedef int __launch_underlying_type;
412
- #endif
413
-
414
- inline _LIBCPP_INLINE_VISIBILITY
415
- _LIBCPP_CONSTEXPR
416
- launch
417
- operator&(launch __x, launch __y)
418
- {
419
- return static_cast<launch>(static_cast<__launch_underlying_type>(__x) &
420
- static_cast<__launch_underlying_type>(__y));
421
- }
422
-
423
- inline _LIBCPP_INLINE_VISIBILITY
424
- _LIBCPP_CONSTEXPR
425
- launch
426
- operator|(launch __x, launch __y)
427
- {
428
- return static_cast<launch>(static_cast<__launch_underlying_type>(__x) |
429
- static_cast<__launch_underlying_type>(__y));
430
- }
431
-
432
- inline _LIBCPP_INLINE_VISIBILITY
433
- _LIBCPP_CONSTEXPR
434
- launch
435
- operator^(launch __x, launch __y)
436
- {
437
- return static_cast<launch>(static_cast<__launch_underlying_type>(__x) ^
438
- static_cast<__launch_underlying_type>(__y));
439
- }
440
-
441
- inline _LIBCPP_INLINE_VISIBILITY
442
- _LIBCPP_CONSTEXPR
443
- launch
444
- operator~(launch __x)
445
- {
446
- return static_cast<launch>(~static_cast<__launch_underlying_type>(__x) & 3);
447
- }
448
-
449
- inline _LIBCPP_INLINE_VISIBILITY
450
- launch&
451
- operator&=(launch& __x, launch __y)
452
- {
453
- __x = __x & __y; return __x;
454
- }
455
-
456
- inline _LIBCPP_INLINE_VISIBILITY
457
- launch&
458
- operator|=(launch& __x, launch __y)
459
- {
460
- __x = __x | __y; return __x;
461
- }
462
-
463
- inline _LIBCPP_INLINE_VISIBILITY
464
- launch&
465
- operator^=(launch& __x, launch __y)
466
- {
467
- __x = __x ^ __y; return __x;
468
- }
469
-
470
- #endif // !_LIBCPP_HAS_NO_STRONG_ENUMS
471
-
472
- //enum class future_status
473
- _LIBCPP_DECLARE_STRONG_ENUM(future_status)
474
- {
475
- ready,
476
- timeout,
477
- deferred
478
- };
479
- _LIBCPP_DECLARE_STRONG_ENUM_EPILOG(future_status)
480
-
481
- _LIBCPP_FUNC_VIS
482
- const error_category& future_category() _NOEXCEPT;
483
-
484
- inline _LIBCPP_INLINE_VISIBILITY
485
- error_code
486
- make_error_code(future_errc __e) _NOEXCEPT
487
- {
488
- return error_code(static_cast<int>(__e), future_category());
489
- }
490
-
491
- inline _LIBCPP_INLINE_VISIBILITY
492
- error_condition
493
- make_error_condition(future_errc __e) _NOEXCEPT
494
- {
495
- return error_condition(static_cast<int>(__e), future_category());
496
- }
497
-
498
- class _LIBCPP_EXCEPTION_ABI future_error
499
- : public logic_error
500
- {
501
- error_code __ec_;
502
- public:
503
- future_error(error_code __ec);
504
-
505
- _LIBCPP_INLINE_VISIBILITY
506
- const error_code& code() const _NOEXCEPT {return __ec_;}
507
-
508
- virtual ~future_error() _NOEXCEPT;
509
- };
510
-
511
- class _LIBCPP_TYPE_VIS __assoc_sub_state
512
- : public __shared_count
513
- {
514
- protected:
515
- exception_ptr __exception_;
516
- mutable mutex __mut_;
517
- mutable condition_variable __cv_;
518
- unsigned __state_;
519
-
520
- virtual void __on_zero_shared() _NOEXCEPT;
521
- void __sub_wait(unique_lock<mutex>& __lk);
522
- public:
523
- enum
524
- {
525
- __constructed = 1,
526
- __future_attached = 2,
527
- ready = 4,
528
- deferred = 8
529
- };
530
-
531
- _LIBCPP_INLINE_VISIBILITY
532
- __assoc_sub_state() : __state_(0) {}
533
-
534
- _LIBCPP_INLINE_VISIBILITY
535
- bool __has_value() const
536
- {return (__state_ & __constructed) || (__exception_ != nullptr);}
537
-
538
- _LIBCPP_INLINE_VISIBILITY
539
- void __set_future_attached()
540
- {
541
- lock_guard<mutex> __lk(__mut_);
542
- __state_ |= __future_attached;
543
- }
544
- _LIBCPP_INLINE_VISIBILITY
545
- bool __has_future_attached() const {return (__state_ & __future_attached) != 0;}
546
-
547
- _LIBCPP_INLINE_VISIBILITY
548
- void __set_deferred() {__state_ |= deferred;}
549
-
550
- void __make_ready();
551
- _LIBCPP_INLINE_VISIBILITY
552
- bool __is_ready() const {return (__state_ & ready) != 0;}
553
-
554
- void set_value();
555
- void set_value_at_thread_exit();
556
-
557
- void set_exception(exception_ptr __p);
558
- void set_exception_at_thread_exit(exception_ptr __p);
559
-
560
- void copy();
561
-
562
- void wait();
563
- template <class _Rep, class _Period>
564
- future_status
565
- wait_for(const chrono::duration<_Rep, _Period>& __rel_time) const;
566
- template <class _Clock, class _Duration>
567
- future_status
568
- wait_until(const chrono::time_point<_Clock, _Duration>& __abs_time) const;
569
-
570
- virtual void __execute();
571
- };
572
-
573
- template <class _Clock, class _Duration>
574
- future_status
575
- __assoc_sub_state::wait_until(const chrono::time_point<_Clock, _Duration>& __abs_time) const
576
- {
577
- unique_lock<mutex> __lk(__mut_);
578
- if (__state_ & deferred)
579
- return future_status::deferred;
580
- while (!(__state_ & ready) && _Clock::now() < __abs_time)
581
- __cv_.wait_until(__lk, __abs_time);
582
- if (__state_ & ready)
583
- return future_status::ready;
584
- return future_status::timeout;
585
- }
586
-
587
- template <class _Rep, class _Period>
588
- inline _LIBCPP_INLINE_VISIBILITY
589
- future_status
590
- __assoc_sub_state::wait_for(const chrono::duration<_Rep, _Period>& __rel_time) const
591
- {
592
- return wait_until(chrono::steady_clock::now() + __rel_time);
593
- }
594
-
595
- template <class _Rp>
596
- class __assoc_state
597
- : public __assoc_sub_state
598
- {
599
- typedef __assoc_sub_state base;
600
- typedef typename aligned_storage<sizeof(_Rp), alignment_of<_Rp>::value>::type _Up;
601
- protected:
602
- _Up __value_;
603
-
604
- virtual void __on_zero_shared() _NOEXCEPT;
605
- public:
606
-
607
- template <class _Arg>
608
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
609
- void set_value(_Arg&& __arg);
610
- #else
611
- void set_value(_Arg& __arg);
612
- #endif
613
-
614
- template <class _Arg>
615
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
616
- void set_value_at_thread_exit(_Arg&& __arg);
617
- #else
618
- void set_value_at_thread_exit(_Arg& __arg);
619
- #endif
620
-
621
- _Rp move();
622
- typename add_lvalue_reference<_Rp>::type copy();
623
- };
624
-
625
- template <class _Rp>
626
- void
627
- __assoc_state<_Rp>::__on_zero_shared() _NOEXCEPT
628
- {
629
- if (this->__state_ & base::__constructed)
630
- reinterpret_cast<_Rp*>(&__value_)->~_Rp();
631
- delete this;
632
- }
633
-
634
- template <class _Rp>
635
- template <class _Arg>
636
- void
637
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
638
- __assoc_state<_Rp>::set_value(_Arg&& __arg)
639
- #else
640
- __assoc_state<_Rp>::set_value(_Arg& __arg)
641
- #endif
642
- {
643
- unique_lock<mutex> __lk(this->__mut_);
644
- #ifndef _LIBCPP_NO_EXCEPTIONS
645
- if (this->__has_value())
646
- throw future_error(make_error_code(future_errc::promise_already_satisfied));
647
- #endif
648
- ::new(&__value_) _Rp(_VSTD::forward<_Arg>(__arg));
649
- this->__state_ |= base::__constructed | base::ready;
650
- __lk.unlock();
651
- __cv_.notify_all();
652
- }
653
-
654
- template <class _Rp>
655
- template <class _Arg>
656
- void
657
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
658
- __assoc_state<_Rp>::set_value_at_thread_exit(_Arg&& __arg)
659
- #else
660
- __assoc_state<_Rp>::set_value_at_thread_exit(_Arg& __arg)
661
- #endif
662
- {
663
- unique_lock<mutex> __lk(this->__mut_);
664
- #ifndef _LIBCPP_NO_EXCEPTIONS
665
- if (this->__has_value())
666
- throw future_error(make_error_code(future_errc::promise_already_satisfied));
667
- #endif
668
- ::new(&__value_) _Rp(_VSTD::forward<_Arg>(__arg));
669
- this->__state_ |= base::__constructed;
670
- __thread_local_data()->__make_ready_at_thread_exit(this);
671
- __lk.unlock();
672
- }
673
-
674
- template <class _Rp>
675
- _Rp
676
- __assoc_state<_Rp>::move()
677
- {
678
- unique_lock<mutex> __lk(this->__mut_);
679
- this->__sub_wait(__lk);
680
- if (this->__exception_ != nullptr)
681
- rethrow_exception(this->__exception_);
682
- return _VSTD::move(*reinterpret_cast<_Rp*>(&__value_));
683
- }
684
-
685
- template <class _Rp>
686
- typename add_lvalue_reference<_Rp>::type
687
- __assoc_state<_Rp>::copy()
688
- {
689
- unique_lock<mutex> __lk(this->__mut_);
690
- this->__sub_wait(__lk);
691
- if (this->__exception_ != nullptr)
692
- rethrow_exception(this->__exception_);
693
- return *reinterpret_cast<_Rp*>(&__value_);
694
- }
695
-
696
- template <class _Rp>
697
- class __assoc_state<_Rp&>
698
- : public __assoc_sub_state
699
- {
700
- typedef __assoc_sub_state base;
701
- typedef _Rp* _Up;
702
- protected:
703
- _Up __value_;
704
-
705
- virtual void __on_zero_shared() _NOEXCEPT;
706
- public:
707
-
708
- void set_value(_Rp& __arg);
709
- void set_value_at_thread_exit(_Rp& __arg);
710
-
711
- _Rp& copy();
712
- };
713
-
714
- template <class _Rp>
715
- void
716
- __assoc_state<_Rp&>::__on_zero_shared() _NOEXCEPT
717
- {
718
- delete this;
719
- }
720
-
721
- template <class _Rp>
722
- void
723
- __assoc_state<_Rp&>::set_value(_Rp& __arg)
724
- {
725
- unique_lock<mutex> __lk(this->__mut_);
726
- #ifndef _LIBCPP_NO_EXCEPTIONS
727
- if (this->__has_value())
728
- throw future_error(make_error_code(future_errc::promise_already_satisfied));
729
- #endif
730
- __value_ = _VSTD::addressof(__arg);
731
- this->__state_ |= base::__constructed | base::ready;
732
- __lk.unlock();
733
- __cv_.notify_all();
734
- }
735
-
736
- template <class _Rp>
737
- void
738
- __assoc_state<_Rp&>::set_value_at_thread_exit(_Rp& __arg)
739
- {
740
- unique_lock<mutex> __lk(this->__mut_);
741
- #ifndef _LIBCPP_NO_EXCEPTIONS
742
- if (this->__has_value())
743
- throw future_error(make_error_code(future_errc::promise_already_satisfied));
744
- #endif
745
- __value_ = _VSTD::addressof(__arg);
746
- this->__state_ |= base::__constructed;
747
- __thread_local_data()->__make_ready_at_thread_exit(this);
748
- __lk.unlock();
749
- }
750
-
751
- template <class _Rp>
752
- _Rp&
753
- __assoc_state<_Rp&>::copy()
754
- {
755
- unique_lock<mutex> __lk(this->__mut_);
756
- this->__sub_wait(__lk);
757
- if (this->__exception_ != nullptr)
758
- rethrow_exception(this->__exception_);
759
- return *__value_;
760
- }
761
-
762
- template <class _Rp, class _Alloc>
763
- class __assoc_state_alloc
764
- : public __assoc_state<_Rp>
765
- {
766
- typedef __assoc_state<_Rp> base;
767
- _Alloc __alloc_;
768
-
769
- virtual void __on_zero_shared() _NOEXCEPT;
770
- public:
771
- _LIBCPP_INLINE_VISIBILITY
772
- explicit __assoc_state_alloc(const _Alloc& __a)
773
- : __alloc_(__a) {}
774
- };
775
-
776
- template <class _Rp, class _Alloc>
777
- void
778
- __assoc_state_alloc<_Rp, _Alloc>::__on_zero_shared() _NOEXCEPT
779
- {
780
- if (this->__state_ & base::__constructed)
781
- reinterpret_cast<_Rp*>(_VSTD::addressof(this->__value_))->~_Rp();
782
- typename _Alloc::template rebind<__assoc_state_alloc>::other __a(__alloc_);
783
- this->~__assoc_state_alloc();
784
- __a.deallocate(this, 1);
785
- }
786
-
787
- template <class _Rp, class _Alloc>
788
- class __assoc_state_alloc<_Rp&, _Alloc>
789
- : public __assoc_state<_Rp&>
790
- {
791
- typedef __assoc_state<_Rp&> base;
792
- _Alloc __alloc_;
793
-
794
- virtual void __on_zero_shared() _NOEXCEPT;
795
- public:
796
- _LIBCPP_INLINE_VISIBILITY
797
- explicit __assoc_state_alloc(const _Alloc& __a)
798
- : __alloc_(__a) {}
799
- };
800
-
801
- template <class _Rp, class _Alloc>
802
- void
803
- __assoc_state_alloc<_Rp&, _Alloc>::__on_zero_shared() _NOEXCEPT
804
- {
805
- typename _Alloc::template rebind<__assoc_state_alloc>::other __a(__alloc_);
806
- this->~__assoc_state_alloc();
807
- __a.deallocate(this, 1);
808
- }
809
-
810
- template <class _Alloc>
811
- class __assoc_sub_state_alloc
812
- : public __assoc_sub_state
813
- {
814
- typedef __assoc_sub_state base;
815
- _Alloc __alloc_;
816
-
817
- virtual void __on_zero_shared() _NOEXCEPT;
818
- public:
819
- _LIBCPP_INLINE_VISIBILITY
820
- explicit __assoc_sub_state_alloc(const _Alloc& __a)
821
- : __alloc_(__a) {}
822
- };
823
-
824
- template <class _Alloc>
825
- void
826
- __assoc_sub_state_alloc<_Alloc>::__on_zero_shared() _NOEXCEPT
827
- {
828
- typename _Alloc::template rebind<__assoc_sub_state_alloc>::other __a(__alloc_);
829
- this->~__assoc_sub_state_alloc();
830
- __a.deallocate(this, 1);
831
- }
832
-
833
- template <class _Rp, class _Fp>
834
- class __deferred_assoc_state
835
- : public __assoc_state<_Rp>
836
- {
837
- typedef __assoc_state<_Rp> base;
838
-
839
- _Fp __func_;
840
-
841
- public:
842
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
843
- explicit __deferred_assoc_state(_Fp&& __f);
844
- #endif
845
-
846
- virtual void __execute();
847
- };
848
-
849
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
850
-
851
- template <class _Rp, class _Fp>
852
- inline _LIBCPP_INLINE_VISIBILITY
853
- __deferred_assoc_state<_Rp, _Fp>::__deferred_assoc_state(_Fp&& __f)
854
- : __func_(_VSTD::forward<_Fp>(__f))
855
- {
856
- this->__set_deferred();
857
- }
858
-
859
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
860
-
861
- template <class _Rp, class _Fp>
862
- void
863
- __deferred_assoc_state<_Rp, _Fp>::__execute()
864
- {
865
- #ifndef _LIBCPP_NO_EXCEPTIONS
866
- try
867
- {
868
- #endif // _LIBCPP_NO_EXCEPTIONS
869
- this->set_value(__func_());
870
- #ifndef _LIBCPP_NO_EXCEPTIONS
871
- }
872
- catch (...)
873
- {
874
- this->set_exception(current_exception());
875
- }
876
- #endif // _LIBCPP_NO_EXCEPTIONS
877
- }
878
-
879
- template <class _Fp>
880
- class __deferred_assoc_state<void, _Fp>
881
- : public __assoc_sub_state
882
- {
883
- typedef __assoc_sub_state base;
884
-
885
- _Fp __func_;
886
-
887
- public:
888
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
889
- explicit __deferred_assoc_state(_Fp&& __f);
890
- #endif
891
-
892
- virtual void __execute();
893
- };
894
-
895
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
896
-
897
- template <class _Fp>
898
- inline _LIBCPP_INLINE_VISIBILITY
899
- __deferred_assoc_state<void, _Fp>::__deferred_assoc_state(_Fp&& __f)
900
- : __func_(_VSTD::forward<_Fp>(__f))
901
- {
902
- this->__set_deferred();
903
- }
904
-
905
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
906
-
907
- template <class _Fp>
908
- void
909
- __deferred_assoc_state<void, _Fp>::__execute()
910
- {
911
- #ifndef _LIBCPP_NO_EXCEPTIONS
912
- try
913
- {
914
- #endif // _LIBCPP_NO_EXCEPTIONS
915
- __func_();
916
- this->set_value();
917
- #ifndef _LIBCPP_NO_EXCEPTIONS
918
- }
919
- catch (...)
920
- {
921
- this->set_exception(current_exception());
922
- }
923
- #endif // _LIBCPP_NO_EXCEPTIONS
924
- }
925
-
926
- template <class _Rp, class _Fp>
927
- class __async_assoc_state
928
- : public __assoc_state<_Rp>
929
- {
930
- typedef __assoc_state<_Rp> base;
931
-
932
- _Fp __func_;
933
-
934
- virtual void __on_zero_shared() _NOEXCEPT;
935
- public:
936
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
937
- explicit __async_assoc_state(_Fp&& __f);
938
- #endif
939
-
940
- virtual void __execute();
941
- };
942
-
943
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
944
-
945
- template <class _Rp, class _Fp>
946
- inline _LIBCPP_INLINE_VISIBILITY
947
- __async_assoc_state<_Rp, _Fp>::__async_assoc_state(_Fp&& __f)
948
- : __func_(_VSTD::forward<_Fp>(__f))
949
- {
950
- }
951
-
952
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
953
-
954
- template <class _Rp, class _Fp>
955
- void
956
- __async_assoc_state<_Rp, _Fp>::__execute()
957
- {
958
- #ifndef _LIBCPP_NO_EXCEPTIONS
959
- try
960
- {
961
- #endif // _LIBCPP_NO_EXCEPTIONS
962
- this->set_value(__func_());
963
- #ifndef _LIBCPP_NO_EXCEPTIONS
964
- }
965
- catch (...)
966
- {
967
- this->set_exception(current_exception());
968
- }
969
- #endif // _LIBCPP_NO_EXCEPTIONS
970
- }
971
-
972
- template <class _Rp, class _Fp>
973
- void
974
- __async_assoc_state<_Rp, _Fp>::__on_zero_shared() _NOEXCEPT
975
- {
976
- this->wait();
977
- base::__on_zero_shared();
978
- }
979
-
980
- template <class _Fp>
981
- class __async_assoc_state<void, _Fp>
982
- : public __assoc_sub_state
983
- {
984
- typedef __assoc_sub_state base;
985
-
986
- _Fp __func_;
987
-
988
- virtual void __on_zero_shared() _NOEXCEPT;
989
- public:
990
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
991
- explicit __async_assoc_state(_Fp&& __f);
992
- #endif
993
-
994
- virtual void __execute();
995
- };
996
-
997
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
998
-
999
- template <class _Fp>
1000
- inline _LIBCPP_INLINE_VISIBILITY
1001
- __async_assoc_state<void, _Fp>::__async_assoc_state(_Fp&& __f)
1002
- : __func_(_VSTD::forward<_Fp>(__f))
1003
- {
1004
- }
1005
-
1006
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1007
-
1008
- template <class _Fp>
1009
- void
1010
- __async_assoc_state<void, _Fp>::__execute()
1011
- {
1012
- #ifndef _LIBCPP_NO_EXCEPTIONS
1013
- try
1014
- {
1015
- #endif // _LIBCPP_NO_EXCEPTIONS
1016
- __func_();
1017
- this->set_value();
1018
- #ifndef _LIBCPP_NO_EXCEPTIONS
1019
- }
1020
- catch (...)
1021
- {
1022
- this->set_exception(current_exception());
1023
- }
1024
- #endif // _LIBCPP_NO_EXCEPTIONS
1025
- }
1026
-
1027
- template <class _Fp>
1028
- void
1029
- __async_assoc_state<void, _Fp>::__on_zero_shared() _NOEXCEPT
1030
- {
1031
- this->wait();
1032
- base::__on_zero_shared();
1033
- }
1034
-
1035
- template <class _Rp> class _LIBCPP_TYPE_VIS_ONLY promise;
1036
- template <class _Rp> class _LIBCPP_TYPE_VIS_ONLY shared_future;
1037
-
1038
- // future
1039
-
1040
- template <class _Rp> class _LIBCPP_TYPE_VIS_ONLY future;
1041
-
1042
- template <class _Rp, class _Fp>
1043
- future<_Rp>
1044
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1045
- __make_deferred_assoc_state(_Fp&& __f);
1046
- #else
1047
- __make_deferred_assoc_state(_Fp __f);
1048
- #endif
1049
-
1050
- template <class _Rp, class _Fp>
1051
- future<_Rp>
1052
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1053
- __make_async_assoc_state(_Fp&& __f);
1054
- #else
1055
- __make_async_assoc_state(_Fp __f);
1056
- #endif
1057
-
1058
- template <class _Rp>
1059
- class _LIBCPP_TYPE_VIS_ONLY future
1060
- {
1061
- __assoc_state<_Rp>* __state_;
1062
-
1063
- explicit future(__assoc_state<_Rp>* __state);
1064
-
1065
- template <class> friend class promise;
1066
- template <class> friend class shared_future;
1067
-
1068
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1069
- template <class _R1, class _Fp>
1070
- friend future<_R1> __make_deferred_assoc_state(_Fp&& __f);
1071
- template <class _R1, class _Fp>
1072
- friend future<_R1> __make_async_assoc_state(_Fp&& __f);
1073
- #else
1074
- template <class _R1, class _Fp>
1075
- friend future<_R1> __make_deferred_assoc_state(_Fp __f);
1076
- template <class _R1, class _Fp>
1077
- friend future<_R1> __make_async_assoc_state(_Fp __f);
1078
- #endif
1079
-
1080
- public:
1081
- _LIBCPP_INLINE_VISIBILITY
1082
- future() _NOEXCEPT : __state_(nullptr) {}
1083
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1084
- _LIBCPP_INLINE_VISIBILITY
1085
- future(future&& __rhs) _NOEXCEPT
1086
- : __state_(__rhs.__state_) {__rhs.__state_ = nullptr;}
1087
- future(const future&) = delete;
1088
- future& operator=(const future&) = delete;
1089
- _LIBCPP_INLINE_VISIBILITY
1090
- future& operator=(future&& __rhs) _NOEXCEPT
1091
- {
1092
- future(std::move(__rhs)).swap(*this);
1093
- return *this;
1094
- }
1095
- #else // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1096
- private:
1097
- future(const future&);
1098
- future& operator=(const future&);
1099
- public:
1100
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1101
- ~future();
1102
- shared_future<_Rp> share();
1103
-
1104
- // retrieving the value
1105
- _Rp get();
1106
-
1107
- _LIBCPP_INLINE_VISIBILITY
1108
- void swap(future& __rhs) _NOEXCEPT {_VSTD::swap(__state_, __rhs.__state_);}
1109
-
1110
- // functions to check state
1111
- _LIBCPP_INLINE_VISIBILITY
1112
- bool valid() const _NOEXCEPT {return __state_ != nullptr;}
1113
-
1114
- _LIBCPP_INLINE_VISIBILITY
1115
- void wait() const {__state_->wait();}
1116
- template <class _Rep, class _Period>
1117
- _LIBCPP_INLINE_VISIBILITY
1118
- future_status
1119
- wait_for(const chrono::duration<_Rep, _Period>& __rel_time) const
1120
- {return __state_->wait_for(__rel_time);}
1121
- template <class _Clock, class _Duration>
1122
- _LIBCPP_INLINE_VISIBILITY
1123
- future_status
1124
- wait_until(const chrono::time_point<_Clock, _Duration>& __abs_time) const
1125
- {return __state_->wait_until(__abs_time);}
1126
- };
1127
-
1128
- template <class _Rp>
1129
- future<_Rp>::future(__assoc_state<_Rp>* __state)
1130
- : __state_(__state)
1131
- {
1132
- #ifndef _LIBCPP_NO_EXCEPTIONS
1133
- if (__state_->__has_future_attached())
1134
- throw future_error(make_error_code(future_errc::future_already_retrieved));
1135
- #endif
1136
- __state_->__add_shared();
1137
- __state_->__set_future_attached();
1138
- }
1139
-
1140
- struct __release_shared_count
1141
- {
1142
- void operator()(__shared_count* p) {p->__release_shared();}
1143
- };
1144
-
1145
- template <class _Rp>
1146
- future<_Rp>::~future()
1147
- {
1148
- if (__state_)
1149
- __state_->__release_shared();
1150
- }
1151
-
1152
- template <class _Rp>
1153
- _Rp
1154
- future<_Rp>::get()
1155
- {
1156
- unique_ptr<__shared_count, __release_shared_count> __(__state_);
1157
- __assoc_state<_Rp>* __s = __state_;
1158
- __state_ = nullptr;
1159
- return __s->move();
1160
- }
1161
-
1162
- template <class _Rp>
1163
- class _LIBCPP_TYPE_VIS_ONLY future<_Rp&>
1164
- {
1165
- __assoc_state<_Rp&>* __state_;
1166
-
1167
- explicit future(__assoc_state<_Rp&>* __state);
1168
-
1169
- template <class> friend class promise;
1170
- template <class> friend class shared_future;
1171
-
1172
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1173
- template <class _R1, class _Fp>
1174
- friend future<_R1> __make_deferred_assoc_state(_Fp&& __f);
1175
- template <class _R1, class _Fp>
1176
- friend future<_R1> __make_async_assoc_state(_Fp&& __f);
1177
- #else
1178
- template <class _R1, class _Fp>
1179
- friend future<_R1> __make_deferred_assoc_state(_Fp __f);
1180
- template <class _R1, class _Fp>
1181
- friend future<_R1> __make_async_assoc_state(_Fp __f);
1182
- #endif
1183
-
1184
- public:
1185
- _LIBCPP_INLINE_VISIBILITY
1186
- future() _NOEXCEPT : __state_(nullptr) {}
1187
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1188
- _LIBCPP_INLINE_VISIBILITY
1189
- future(future&& __rhs) _NOEXCEPT
1190
- : __state_(__rhs.__state_) {__rhs.__state_ = nullptr;}
1191
- future(const future&) = delete;
1192
- future& operator=(const future&) = delete;
1193
- _LIBCPP_INLINE_VISIBILITY
1194
- future& operator=(future&& __rhs) _NOEXCEPT
1195
- {
1196
- future(std::move(__rhs)).swap(*this);
1197
- return *this;
1198
- }
1199
- #else // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1200
- private:
1201
- future(const future&);
1202
- future& operator=(const future&);
1203
- public:
1204
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1205
- ~future();
1206
- shared_future<_Rp&> share();
1207
-
1208
- // retrieving the value
1209
- _Rp& get();
1210
-
1211
- _LIBCPP_INLINE_VISIBILITY
1212
- void swap(future& __rhs) _NOEXCEPT {_VSTD::swap(__state_, __rhs.__state_);}
1213
-
1214
- // functions to check state
1215
- _LIBCPP_INLINE_VISIBILITY
1216
- bool valid() const _NOEXCEPT {return __state_ != nullptr;}
1217
-
1218
- _LIBCPP_INLINE_VISIBILITY
1219
- void wait() const {__state_->wait();}
1220
- template <class _Rep, class _Period>
1221
- _LIBCPP_INLINE_VISIBILITY
1222
- future_status
1223
- wait_for(const chrono::duration<_Rep, _Period>& __rel_time) const
1224
- {return __state_->wait_for(__rel_time);}
1225
- template <class _Clock, class _Duration>
1226
- _LIBCPP_INLINE_VISIBILITY
1227
- future_status
1228
- wait_until(const chrono::time_point<_Clock, _Duration>& __abs_time) const
1229
- {return __state_->wait_until(__abs_time);}
1230
- };
1231
-
1232
- template <class _Rp>
1233
- future<_Rp&>::future(__assoc_state<_Rp&>* __state)
1234
- : __state_(__state)
1235
- {
1236
- #ifndef _LIBCPP_NO_EXCEPTIONS
1237
- if (__state_->__has_future_attached())
1238
- throw future_error(make_error_code(future_errc::future_already_retrieved));
1239
- #endif
1240
- __state_->__add_shared();
1241
- __state_->__set_future_attached();
1242
- }
1243
-
1244
- template <class _Rp>
1245
- future<_Rp&>::~future()
1246
- {
1247
- if (__state_)
1248
- __state_->__release_shared();
1249
- }
1250
-
1251
- template <class _Rp>
1252
- _Rp&
1253
- future<_Rp&>::get()
1254
- {
1255
- unique_ptr<__shared_count, __release_shared_count> __(__state_);
1256
- __assoc_state<_Rp&>* __s = __state_;
1257
- __state_ = nullptr;
1258
- return __s->copy();
1259
- }
1260
-
1261
- template <>
1262
- class _LIBCPP_TYPE_VIS future<void>
1263
- {
1264
- __assoc_sub_state* __state_;
1265
-
1266
- explicit future(__assoc_sub_state* __state);
1267
-
1268
- template <class> friend class promise;
1269
- template <class> friend class shared_future;
1270
-
1271
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1272
- template <class _R1, class _Fp>
1273
- friend future<_R1> __make_deferred_assoc_state(_Fp&& __f);
1274
- template <class _R1, class _Fp>
1275
- friend future<_R1> __make_async_assoc_state(_Fp&& __f);
1276
- #else
1277
- template <class _R1, class _Fp>
1278
- friend future<_R1> __make_deferred_assoc_state(_Fp __f);
1279
- template <class _R1, class _Fp>
1280
- friend future<_R1> __make_async_assoc_state(_Fp __f);
1281
- #endif
1282
-
1283
- public:
1284
- _LIBCPP_INLINE_VISIBILITY
1285
- future() _NOEXCEPT : __state_(nullptr) {}
1286
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1287
- _LIBCPP_INLINE_VISIBILITY
1288
- future(future&& __rhs) _NOEXCEPT
1289
- : __state_(__rhs.__state_) {__rhs.__state_ = nullptr;}
1290
- future(const future&) = delete;
1291
- future& operator=(const future&) = delete;
1292
- _LIBCPP_INLINE_VISIBILITY
1293
- future& operator=(future&& __rhs) _NOEXCEPT
1294
- {
1295
- future(std::move(__rhs)).swap(*this);
1296
- return *this;
1297
- }
1298
- #else // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1299
- private:
1300
- future(const future&);
1301
- future& operator=(const future&);
1302
- public:
1303
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1304
- ~future();
1305
- shared_future<void> share();
1306
-
1307
- // retrieving the value
1308
- void get();
1309
-
1310
- _LIBCPP_INLINE_VISIBILITY
1311
- void swap(future& __rhs) _NOEXCEPT {_VSTD::swap(__state_, __rhs.__state_);}
1312
-
1313
- // functions to check state
1314
- _LIBCPP_INLINE_VISIBILITY
1315
- bool valid() const _NOEXCEPT {return __state_ != nullptr;}
1316
-
1317
- _LIBCPP_INLINE_VISIBILITY
1318
- void wait() const {__state_->wait();}
1319
- template <class _Rep, class _Period>
1320
- _LIBCPP_INLINE_VISIBILITY
1321
- future_status
1322
- wait_for(const chrono::duration<_Rep, _Period>& __rel_time) const
1323
- {return __state_->wait_for(__rel_time);}
1324
- template <class _Clock, class _Duration>
1325
- _LIBCPP_INLINE_VISIBILITY
1326
- future_status
1327
- wait_until(const chrono::time_point<_Clock, _Duration>& __abs_time) const
1328
- {return __state_->wait_until(__abs_time);}
1329
- };
1330
-
1331
- template <class _Rp>
1332
- inline _LIBCPP_INLINE_VISIBILITY
1333
- void
1334
- swap(future<_Rp>& __x, future<_Rp>& __y) _NOEXCEPT
1335
- {
1336
- __x.swap(__y);
1337
- }
1338
-
1339
- // promise<R>
1340
-
1341
- template <class _Callable> class packaged_task;
1342
-
1343
- template <class _Rp>
1344
- class _LIBCPP_TYPE_VIS_ONLY promise
1345
- {
1346
- __assoc_state<_Rp>* __state_;
1347
-
1348
- _LIBCPP_INLINE_VISIBILITY
1349
- explicit promise(nullptr_t) _NOEXCEPT : __state_(nullptr) {}
1350
-
1351
- template <class> friend class packaged_task;
1352
- public:
1353
- promise();
1354
- template <class _Alloc>
1355
- promise(allocator_arg_t, const _Alloc& __a);
1356
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1357
- _LIBCPP_INLINE_VISIBILITY
1358
- promise(promise&& __rhs) _NOEXCEPT
1359
- : __state_(__rhs.__state_) {__rhs.__state_ = nullptr;}
1360
- promise(const promise& __rhs) = delete;
1361
- #else // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1362
- private:
1363
- promise(const promise& __rhs);
1364
- public:
1365
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1366
- ~promise();
1367
-
1368
- // assignment
1369
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1370
- _LIBCPP_INLINE_VISIBILITY
1371
- promise& operator=(promise&& __rhs) _NOEXCEPT
1372
- {
1373
- promise(std::move(__rhs)).swap(*this);
1374
- return *this;
1375
- }
1376
- promise& operator=(const promise& __rhs) = delete;
1377
- #else // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1378
- private:
1379
- promise& operator=(const promise& __rhs);
1380
- public:
1381
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1382
- _LIBCPP_INLINE_VISIBILITY
1383
- void swap(promise& __rhs) _NOEXCEPT {_VSTD::swap(__state_, __rhs.__state_);}
1384
-
1385
- // retrieving the result
1386
- future<_Rp> get_future();
1387
-
1388
- // setting the result
1389
- void set_value(const _Rp& __r);
1390
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1391
- void set_value(_Rp&& __r);
1392
- #endif
1393
- void set_exception(exception_ptr __p);
1394
-
1395
- // setting the result with deferred notification
1396
- void set_value_at_thread_exit(const _Rp& __r);
1397
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1398
- void set_value_at_thread_exit(_Rp&& __r);
1399
- #endif
1400
- void set_exception_at_thread_exit(exception_ptr __p);
1401
- };
1402
-
1403
- template <class _Rp>
1404
- promise<_Rp>::promise()
1405
- : __state_(new __assoc_state<_Rp>)
1406
- {
1407
- }
1408
-
1409
- template <class _Rp>
1410
- template <class _Alloc>
1411
- promise<_Rp>::promise(allocator_arg_t, const _Alloc& __a0)
1412
- {
1413
- typedef typename _Alloc::template rebind<__assoc_state_alloc<_Rp, _Alloc> >::other _A2;
1414
- typedef __allocator_destructor<_A2> _D2;
1415
- _A2 __a(__a0);
1416
- unique_ptr<__assoc_state_alloc<_Rp, _Alloc>, _D2> __hold(__a.allocate(1), _D2(__a, 1));
1417
- ::new(__hold.get()) __assoc_state_alloc<_Rp, _Alloc>(__a0);
1418
- __state_ = __hold.release();
1419
- }
1420
-
1421
- template <class _Rp>
1422
- promise<_Rp>::~promise()
1423
- {
1424
- if (__state_)
1425
- {
1426
- if (!__state_->__has_value() && __state_->use_count() > 1)
1427
- __state_->set_exception(make_exception_ptr(
1428
- future_error(make_error_code(future_errc::broken_promise))
1429
- ));
1430
- __state_->__release_shared();
1431
- }
1432
- }
1433
-
1434
- template <class _Rp>
1435
- future<_Rp>
1436
- promise<_Rp>::get_future()
1437
- {
1438
- #ifndef _LIBCPP_NO_EXCEPTIONS
1439
- if (__state_ == nullptr)
1440
- throw future_error(make_error_code(future_errc::no_state));
1441
- #endif
1442
- return future<_Rp>(__state_);
1443
- }
1444
-
1445
- template <class _Rp>
1446
- void
1447
- promise<_Rp>::set_value(const _Rp& __r)
1448
- {
1449
- #ifndef _LIBCPP_NO_EXCEPTIONS
1450
- if (__state_ == nullptr)
1451
- throw future_error(make_error_code(future_errc::no_state));
1452
- #endif
1453
- __state_->set_value(__r);
1454
- }
1455
-
1456
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1457
-
1458
- template <class _Rp>
1459
- void
1460
- promise<_Rp>::set_value(_Rp&& __r)
1461
- {
1462
- #ifndef _LIBCPP_NO_EXCEPTIONS
1463
- if (__state_ == nullptr)
1464
- throw future_error(make_error_code(future_errc::no_state));
1465
- #endif
1466
- __state_->set_value(_VSTD::move(__r));
1467
- }
1468
-
1469
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1470
-
1471
- template <class _Rp>
1472
- void
1473
- promise<_Rp>::set_exception(exception_ptr __p)
1474
- {
1475
- #ifndef _LIBCPP_NO_EXCEPTIONS
1476
- if (__state_ == nullptr)
1477
- throw future_error(make_error_code(future_errc::no_state));
1478
- #endif
1479
- __state_->set_exception(__p);
1480
- }
1481
-
1482
- template <class _Rp>
1483
- void
1484
- promise<_Rp>::set_value_at_thread_exit(const _Rp& __r)
1485
- {
1486
- #ifndef _LIBCPP_NO_EXCEPTIONS
1487
- if (__state_ == nullptr)
1488
- throw future_error(make_error_code(future_errc::no_state));
1489
- #endif
1490
- __state_->set_value_at_thread_exit(__r);
1491
- }
1492
-
1493
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1494
-
1495
- template <class _Rp>
1496
- void
1497
- promise<_Rp>::set_value_at_thread_exit(_Rp&& __r)
1498
- {
1499
- #ifndef _LIBCPP_NO_EXCEPTIONS
1500
- if (__state_ == nullptr)
1501
- throw future_error(make_error_code(future_errc::no_state));
1502
- #endif
1503
- __state_->set_value_at_thread_exit(_VSTD::move(__r));
1504
- }
1505
-
1506
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1507
-
1508
- template <class _Rp>
1509
- void
1510
- promise<_Rp>::set_exception_at_thread_exit(exception_ptr __p)
1511
- {
1512
- #ifndef _LIBCPP_NO_EXCEPTIONS
1513
- if (__state_ == nullptr)
1514
- throw future_error(make_error_code(future_errc::no_state));
1515
- #endif
1516
- __state_->set_exception_at_thread_exit(__p);
1517
- }
1518
-
1519
- // promise<R&>
1520
-
1521
- template <class _Rp>
1522
- class _LIBCPP_TYPE_VIS_ONLY promise<_Rp&>
1523
- {
1524
- __assoc_state<_Rp&>* __state_;
1525
-
1526
- _LIBCPP_INLINE_VISIBILITY
1527
- explicit promise(nullptr_t) _NOEXCEPT : __state_(nullptr) {}
1528
-
1529
- template <class> friend class packaged_task;
1530
-
1531
- public:
1532
- promise();
1533
- template <class _Allocator>
1534
- promise(allocator_arg_t, const _Allocator& __a);
1535
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1536
- _LIBCPP_INLINE_VISIBILITY
1537
- promise(promise&& __rhs) _NOEXCEPT
1538
- : __state_(__rhs.__state_) {__rhs.__state_ = nullptr;}
1539
- promise(const promise& __rhs) = delete;
1540
- #else // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1541
- private:
1542
- promise(const promise& __rhs);
1543
- public:
1544
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1545
- ~promise();
1546
-
1547
- // assignment
1548
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1549
- _LIBCPP_INLINE_VISIBILITY
1550
- promise& operator=(promise&& __rhs) _NOEXCEPT
1551
- {
1552
- promise(std::move(__rhs)).swap(*this);
1553
- return *this;
1554
- }
1555
- promise& operator=(const promise& __rhs) = delete;
1556
- #else // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1557
- private:
1558
- promise& operator=(const promise& __rhs);
1559
- public:
1560
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1561
- _LIBCPP_INLINE_VISIBILITY
1562
- void swap(promise& __rhs) _NOEXCEPT {_VSTD::swap(__state_, __rhs.__state_);}
1563
-
1564
- // retrieving the result
1565
- future<_Rp&> get_future();
1566
-
1567
- // setting the result
1568
- void set_value(_Rp& __r);
1569
- void set_exception(exception_ptr __p);
1570
-
1571
- // setting the result with deferred notification
1572
- void set_value_at_thread_exit(_Rp&);
1573
- void set_exception_at_thread_exit(exception_ptr __p);
1574
- };
1575
-
1576
- template <class _Rp>
1577
- promise<_Rp&>::promise()
1578
- : __state_(new __assoc_state<_Rp&>)
1579
- {
1580
- }
1581
-
1582
- template <class _Rp>
1583
- template <class _Alloc>
1584
- promise<_Rp&>::promise(allocator_arg_t, const _Alloc& __a0)
1585
- {
1586
- typedef typename _Alloc::template rebind<__assoc_state_alloc<_Rp&, _Alloc> >::other _A2;
1587
- typedef __allocator_destructor<_A2> _D2;
1588
- _A2 __a(__a0);
1589
- unique_ptr<__assoc_state_alloc<_Rp&, _Alloc>, _D2> __hold(__a.allocate(1), _D2(__a, 1));
1590
- ::new(__hold.get()) __assoc_state_alloc<_Rp&, _Alloc>(__a0);
1591
- __state_ = __hold.release();
1592
- }
1593
-
1594
- template <class _Rp>
1595
- promise<_Rp&>::~promise()
1596
- {
1597
- if (__state_)
1598
- {
1599
- if (!__state_->__has_value() && __state_->use_count() > 1)
1600
- __state_->set_exception(make_exception_ptr(
1601
- future_error(make_error_code(future_errc::broken_promise))
1602
- ));
1603
- __state_->__release_shared();
1604
- }
1605
- }
1606
-
1607
- template <class _Rp>
1608
- future<_Rp&>
1609
- promise<_Rp&>::get_future()
1610
- {
1611
- #ifndef _LIBCPP_NO_EXCEPTIONS
1612
- if (__state_ == nullptr)
1613
- throw future_error(make_error_code(future_errc::no_state));
1614
- #endif
1615
- return future<_Rp&>(__state_);
1616
- }
1617
-
1618
- template <class _Rp>
1619
- void
1620
- promise<_Rp&>::set_value(_Rp& __r)
1621
- {
1622
- #ifndef _LIBCPP_NO_EXCEPTIONS
1623
- if (__state_ == nullptr)
1624
- throw future_error(make_error_code(future_errc::no_state));
1625
- #endif
1626
- __state_->set_value(__r);
1627
- }
1628
-
1629
- template <class _Rp>
1630
- void
1631
- promise<_Rp&>::set_exception(exception_ptr __p)
1632
- {
1633
- #ifndef _LIBCPP_NO_EXCEPTIONS
1634
- if (__state_ == nullptr)
1635
- throw future_error(make_error_code(future_errc::no_state));
1636
- #endif
1637
- __state_->set_exception(__p);
1638
- }
1639
-
1640
- template <class _Rp>
1641
- void
1642
- promise<_Rp&>::set_value_at_thread_exit(_Rp& __r)
1643
- {
1644
- #ifndef _LIBCPP_NO_EXCEPTIONS
1645
- if (__state_ == nullptr)
1646
- throw future_error(make_error_code(future_errc::no_state));
1647
- #endif
1648
- __state_->set_value_at_thread_exit(__r);
1649
- }
1650
-
1651
- template <class _Rp>
1652
- void
1653
- promise<_Rp&>::set_exception_at_thread_exit(exception_ptr __p)
1654
- {
1655
- #ifndef _LIBCPP_NO_EXCEPTIONS
1656
- if (__state_ == nullptr)
1657
- throw future_error(make_error_code(future_errc::no_state));
1658
- #endif
1659
- __state_->set_exception_at_thread_exit(__p);
1660
- }
1661
-
1662
- // promise<void>
1663
-
1664
- template <>
1665
- class _LIBCPP_TYPE_VIS promise<void>
1666
- {
1667
- __assoc_sub_state* __state_;
1668
-
1669
- _LIBCPP_INLINE_VISIBILITY
1670
- explicit promise(nullptr_t) _NOEXCEPT : __state_(nullptr) {}
1671
-
1672
- template <class> friend class packaged_task;
1673
-
1674
- public:
1675
- promise();
1676
- template <class _Allocator>
1677
- promise(allocator_arg_t, const _Allocator& __a);
1678
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1679
- _LIBCPP_INLINE_VISIBILITY
1680
- promise(promise&& __rhs) _NOEXCEPT
1681
- : __state_(__rhs.__state_) {__rhs.__state_ = nullptr;}
1682
- promise(const promise& __rhs) = delete;
1683
- #else // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1684
- private:
1685
- promise(const promise& __rhs);
1686
- public:
1687
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1688
- ~promise();
1689
-
1690
- // assignment
1691
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
1692
- _LIBCPP_INLINE_VISIBILITY
1693
- promise& operator=(promise&& __rhs) _NOEXCEPT
1694
- {
1695
- promise(std::move(__rhs)).swap(*this);
1696
- return *this;
1697
- }
1698
- promise& operator=(const promise& __rhs) = delete;
1699
- #else // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1700
- private:
1701
- promise& operator=(const promise& __rhs);
1702
- public:
1703
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
1704
- _LIBCPP_INLINE_VISIBILITY
1705
- void swap(promise& __rhs) _NOEXCEPT {_VSTD::swap(__state_, __rhs.__state_);}
1706
-
1707
- // retrieving the result
1708
- future<void> get_future();
1709
-
1710
- // setting the result
1711
- void set_value();
1712
- void set_exception(exception_ptr __p);
1713
-
1714
- // setting the result with deferred notification
1715
- void set_value_at_thread_exit();
1716
- void set_exception_at_thread_exit(exception_ptr __p);
1717
- };
1718
-
1719
- template <class _Alloc>
1720
- promise<void>::promise(allocator_arg_t, const _Alloc& __a0)
1721
- {
1722
- typedef typename _Alloc::template rebind<__assoc_sub_state_alloc<_Alloc> >::other _A2;
1723
- typedef __allocator_destructor<_A2> _D2;
1724
- _A2 __a(__a0);
1725
- unique_ptr<__assoc_sub_state_alloc<_Alloc>, _D2> __hold(__a.allocate(1), _D2(__a, 1));
1726
- ::new(__hold.get()) __assoc_sub_state_alloc<_Alloc>(__a0);
1727
- __state_ = __hold.release();
1728
- }
1729
-
1730
- template <class _Rp>
1731
- inline _LIBCPP_INLINE_VISIBILITY
1732
- void
1733
- swap(promise<_Rp>& __x, promise<_Rp>& __y) _NOEXCEPT
1734
- {
1735
- __x.swap(__y);
1736
- }
1737
-
1738
- template <class _Rp, class _Alloc>
1739
- struct _LIBCPP_TYPE_VIS_ONLY uses_allocator<promise<_Rp>, _Alloc>
1740
- : public true_type {};
1741
-
1742
- #ifndef _LIBCPP_HAS_NO_VARIADICS
1743
-
1744
- // packaged_task
1745
-
1746
- template<class _Fp> class __packaged_task_base;
1747
-
1748
- template<class _Rp, class ..._ArgTypes>
1749
- class __packaged_task_base<_Rp(_ArgTypes...)>
1750
- {
1751
- __packaged_task_base(const __packaged_task_base&);
1752
- __packaged_task_base& operator=(const __packaged_task_base&);
1753
- public:
1754
- _LIBCPP_INLINE_VISIBILITY
1755
- __packaged_task_base() {}
1756
- _LIBCPP_INLINE_VISIBILITY
1757
- virtual ~__packaged_task_base() {}
1758
- virtual void __move_to(__packaged_task_base*) _NOEXCEPT = 0;
1759
- virtual void destroy() = 0;
1760
- virtual void destroy_deallocate() = 0;
1761
- virtual _Rp operator()(_ArgTypes&& ...) = 0;
1762
- };
1763
-
1764
- template<class _FD, class _Alloc, class _FB> class __packaged_task_func;
1765
-
1766
- template<class _Fp, class _Alloc, class _Rp, class ..._ArgTypes>
1767
- class __packaged_task_func<_Fp, _Alloc, _Rp(_ArgTypes...)>
1768
- : public __packaged_task_base<_Rp(_ArgTypes...)>
1769
- {
1770
- __compressed_pair<_Fp, _Alloc> __f_;
1771
- public:
1772
- _LIBCPP_INLINE_VISIBILITY
1773
- explicit __packaged_task_func(const _Fp& __f) : __f_(__f) {}
1774
- _LIBCPP_INLINE_VISIBILITY
1775
- explicit __packaged_task_func(_Fp&& __f) : __f_(_VSTD::move(__f)) {}
1776
- _LIBCPP_INLINE_VISIBILITY
1777
- __packaged_task_func(const _Fp& __f, const _Alloc& __a)
1778
- : __f_(__f, __a) {}
1779
- _LIBCPP_INLINE_VISIBILITY
1780
- __packaged_task_func(_Fp&& __f, const _Alloc& __a)
1781
- : __f_(_VSTD::move(__f), __a) {}
1782
- virtual void __move_to(__packaged_task_base<_Rp(_ArgTypes...)>*) _NOEXCEPT;
1783
- virtual void destroy();
1784
- virtual void destroy_deallocate();
1785
- virtual _Rp operator()(_ArgTypes&& ... __args);
1786
- };
1787
-
1788
- template<class _Fp, class _Alloc, class _Rp, class ..._ArgTypes>
1789
- void
1790
- __packaged_task_func<_Fp, _Alloc, _Rp(_ArgTypes...)>::__move_to(
1791
- __packaged_task_base<_Rp(_ArgTypes...)>* __p) _NOEXCEPT
1792
- {
1793
- ::new (__p) __packaged_task_func(_VSTD::move(__f_.first()), _VSTD::move(__f_.second()));
1794
- }
1795
-
1796
- template<class _Fp, class _Alloc, class _Rp, class ..._ArgTypes>
1797
- void
1798
- __packaged_task_func<_Fp, _Alloc, _Rp(_ArgTypes...)>::destroy()
1799
- {
1800
- __f_.~__compressed_pair<_Fp, _Alloc>();
1801
- }
1802
-
1803
- template<class _Fp, class _Alloc, class _Rp, class ..._ArgTypes>
1804
- void
1805
- __packaged_task_func<_Fp, _Alloc, _Rp(_ArgTypes...)>::destroy_deallocate()
1806
- {
1807
- typedef typename _Alloc::template rebind<__packaged_task_func>::other _Ap;
1808
- _Ap __a(__f_.second());
1809
- __f_.~__compressed_pair<_Fp, _Alloc>();
1810
- __a.deallocate(this, 1);
1811
- }
1812
-
1813
- template<class _Fp, class _Alloc, class _Rp, class ..._ArgTypes>
1814
- _Rp
1815
- __packaged_task_func<_Fp, _Alloc, _Rp(_ArgTypes...)>::operator()(_ArgTypes&& ... __arg)
1816
- {
1817
- return __invoke(__f_.first(), _VSTD::forward<_ArgTypes>(__arg)...);
1818
- }
1819
-
1820
- template <class _Callable> class __packaged_task_function;
1821
-
1822
- template<class _Rp, class ..._ArgTypes>
1823
- class __packaged_task_function<_Rp(_ArgTypes...)>
1824
- {
1825
- typedef __packaged_task_base<_Rp(_ArgTypes...)> __base;
1826
- typename aligned_storage<3*sizeof(void*)>::type __buf_;
1827
- __base* __f_;
1828
-
1829
- public:
1830
- typedef _Rp result_type;
1831
-
1832
- // construct/copy/destroy:
1833
- _LIBCPP_INLINE_VISIBILITY
1834
- __packaged_task_function() _NOEXCEPT : __f_(nullptr) {}
1835
- template<class _Fp>
1836
- __packaged_task_function(_Fp&& __f);
1837
- template<class _Fp, class _Alloc>
1838
- __packaged_task_function(allocator_arg_t, const _Alloc& __a, _Fp&& __f);
1839
-
1840
- __packaged_task_function(__packaged_task_function&&) _NOEXCEPT;
1841
- __packaged_task_function& operator=(__packaged_task_function&&) _NOEXCEPT;
1842
-
1843
- __packaged_task_function(const __packaged_task_function&) = delete;
1844
- __packaged_task_function& operator=(const __packaged_task_function&) = delete;
1845
-
1846
- ~__packaged_task_function();
1847
-
1848
- void swap(__packaged_task_function&) _NOEXCEPT;
1849
-
1850
- _Rp operator()(_ArgTypes...) const;
1851
- };
1852
-
1853
- template<class _Rp, class ..._ArgTypes>
1854
- __packaged_task_function<_Rp(_ArgTypes...)>::__packaged_task_function(__packaged_task_function&& __f) _NOEXCEPT
1855
- {
1856
- if (__f.__f_ == nullptr)
1857
- __f_ = nullptr;
1858
- else if (__f.__f_ == (__base*)&__f.__buf_)
1859
- {
1860
- __f_ = (__base*)&__buf_;
1861
- __f.__f_->__move_to(__f_);
1862
- }
1863
- else
1864
- {
1865
- __f_ = __f.__f_;
1866
- __f.__f_ = nullptr;
1867
- }
1868
- }
1869
-
1870
- template<class _Rp, class ..._ArgTypes>
1871
- template <class _Fp>
1872
- __packaged_task_function<_Rp(_ArgTypes...)>::__packaged_task_function(_Fp&& __f)
1873
- : __f_(nullptr)
1874
- {
1875
- typedef typename remove_reference<_Fp>::type _FR;
1876
- typedef __packaged_task_func<_FR, allocator<_FR>, _Rp(_ArgTypes...)> _FF;
1877
- if (sizeof(_FF) <= sizeof(__buf_))
1878
- {
1879
- __f_ = (__base*)&__buf_;
1880
- ::new (__f_) _FF(_VSTD::forward<_Fp>(__f));
1881
- }
1882
- else
1883
- {
1884
- typedef allocator<_FF> _Ap;
1885
- _Ap __a;
1886
- typedef __allocator_destructor<_Ap> _Dp;
1887
- unique_ptr<__base, _Dp> __hold(__a.allocate(1), _Dp(__a, 1));
1888
- ::new (__hold.get()) _FF(_VSTD::forward<_Fp>(__f), allocator<_FR>(__a));
1889
- __f_ = __hold.release();
1890
- }
1891
- }
1892
-
1893
- template<class _Rp, class ..._ArgTypes>
1894
- template <class _Fp, class _Alloc>
1895
- __packaged_task_function<_Rp(_ArgTypes...)>::__packaged_task_function(
1896
- allocator_arg_t, const _Alloc& __a0, _Fp&& __f)
1897
- : __f_(nullptr)
1898
- {
1899
- typedef allocator_traits<_Alloc> __alloc_traits;
1900
- typedef typename remove_reference<_Fp>::type _FR;
1901
- typedef __packaged_task_func<_FR, _Alloc, _Rp(_ArgTypes...)> _FF;
1902
- if (sizeof(_FF) <= sizeof(__buf_))
1903
- {
1904
- __f_ = (__base*)&__buf_;
1905
- ::new (__f_) _FF(_VSTD::forward<_Fp>(__f));
1906
- }
1907
- else
1908
- {
1909
- typedef typename __alloc_traits::template
1910
- #ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES
1911
- rebind_alloc<_FF>
1912
- #else
1913
- rebind_alloc<_FF>::other
1914
- #endif
1915
- _Ap;
1916
- _Ap __a(__a0);
1917
- typedef __allocator_destructor<_Ap> _Dp;
1918
- unique_ptr<__base, _Dp> __hold(__a.allocate(1), _Dp(__a, 1));
1919
- ::new (__hold.get()) _FF(_VSTD::forward<_Fp>(__f), _Alloc(__a));
1920
- __f_ = __hold.release();
1921
- }
1922
- }
1923
-
1924
- template<class _Rp, class ..._ArgTypes>
1925
- __packaged_task_function<_Rp(_ArgTypes...)>&
1926
- __packaged_task_function<_Rp(_ArgTypes...)>::operator=(__packaged_task_function&& __f) _NOEXCEPT
1927
- {
1928
- if (__f_ == (__base*)&__buf_)
1929
- __f_->destroy();
1930
- else if (__f_)
1931
- __f_->destroy_deallocate();
1932
- __f_ = nullptr;
1933
- if (__f.__f_ == nullptr)
1934
- __f_ = nullptr;
1935
- else if (__f.__f_ == (__base*)&__f.__buf_)
1936
- {
1937
- __f_ = (__base*)&__buf_;
1938
- __f.__f_->__move_to(__f_);
1939
- }
1940
- else
1941
- {
1942
- __f_ = __f.__f_;
1943
- __f.__f_ = nullptr;
1944
- }
1945
- return *this;
1946
- }
1947
-
1948
- template<class _Rp, class ..._ArgTypes>
1949
- __packaged_task_function<_Rp(_ArgTypes...)>::~__packaged_task_function()
1950
- {
1951
- if (__f_ == (__base*)&__buf_)
1952
- __f_->destroy();
1953
- else if (__f_)
1954
- __f_->destroy_deallocate();
1955
- }
1956
-
1957
- template<class _Rp, class ..._ArgTypes>
1958
- void
1959
- __packaged_task_function<_Rp(_ArgTypes...)>::swap(__packaged_task_function& __f) _NOEXCEPT
1960
- {
1961
- if (__f_ == (__base*)&__buf_ && __f.__f_ == (__base*)&__f.__buf_)
1962
- {
1963
- typename aligned_storage<sizeof(__buf_)>::type __tempbuf;
1964
- __base* __t = (__base*)&__tempbuf;
1965
- __f_->__move_to(__t);
1966
- __f_->destroy();
1967
- __f_ = nullptr;
1968
- __f.__f_->__move_to((__base*)&__buf_);
1969
- __f.__f_->destroy();
1970
- __f.__f_ = nullptr;
1971
- __f_ = (__base*)&__buf_;
1972
- __t->__move_to((__base*)&__f.__buf_);
1973
- __t->destroy();
1974
- __f.__f_ = (__base*)&__f.__buf_;
1975
- }
1976
- else if (__f_ == (__base*)&__buf_)
1977
- {
1978
- __f_->__move_to((__base*)&__f.__buf_);
1979
- __f_->destroy();
1980
- __f_ = __f.__f_;
1981
- __f.__f_ = (__base*)&__f.__buf_;
1982
- }
1983
- else if (__f.__f_ == (__base*)&__f.__buf_)
1984
- {
1985
- __f.__f_->__move_to((__base*)&__buf_);
1986
- __f.__f_->destroy();
1987
- __f.__f_ = __f_;
1988
- __f_ = (__base*)&__buf_;
1989
- }
1990
- else
1991
- _VSTD::swap(__f_, __f.__f_);
1992
- }
1993
-
1994
- template<class _Rp, class ..._ArgTypes>
1995
- inline _LIBCPP_INLINE_VISIBILITY
1996
- _Rp
1997
- __packaged_task_function<_Rp(_ArgTypes...)>::operator()(_ArgTypes... __arg) const
1998
- {
1999
- return (*__f_)(_VSTD::forward<_ArgTypes>(__arg)...);
2000
- }
2001
-
2002
- template<class _Rp, class ..._ArgTypes>
2003
- class _LIBCPP_TYPE_VIS_ONLY packaged_task<_Rp(_ArgTypes...)>
2004
- {
2005
- public:
2006
- typedef _Rp result_type;
2007
-
2008
- private:
2009
- __packaged_task_function<result_type(_ArgTypes...)> __f_;
2010
- promise<result_type> __p_;
2011
-
2012
- public:
2013
- // construction and destruction
2014
- _LIBCPP_INLINE_VISIBILITY
2015
- packaged_task() _NOEXCEPT : __p_(nullptr) {}
2016
- template <class _Fp,
2017
- class = typename enable_if
2018
- <
2019
- !is_same<
2020
- typename decay<_Fp>::type,
2021
- packaged_task
2022
- >::value
2023
- >::type
2024
- >
2025
- _LIBCPP_INLINE_VISIBILITY
2026
- explicit packaged_task(_Fp&& __f) : __f_(_VSTD::forward<_Fp>(__f)) {}
2027
- template <class _Fp, class _Allocator,
2028
- class = typename enable_if
2029
- <
2030
- !is_same<
2031
- typename decay<_Fp>::type,
2032
- packaged_task
2033
- >::value
2034
- >::type
2035
- >
2036
- _LIBCPP_INLINE_VISIBILITY
2037
- explicit packaged_task(allocator_arg_t, const _Allocator& __a, _Fp&& __f)
2038
- : __f_(allocator_arg, __a, _VSTD::forward<_Fp>(__f)),
2039
- __p_(allocator_arg, __a) {}
2040
- // ~packaged_task() = default;
2041
-
2042
- // no copy
2043
- packaged_task(const packaged_task&) = delete;
2044
- packaged_task& operator=(const packaged_task&) = delete;
2045
-
2046
- // move support
2047
- _LIBCPP_INLINE_VISIBILITY
2048
- packaged_task(packaged_task&& __other) _NOEXCEPT
2049
- : __f_(_VSTD::move(__other.__f_)), __p_(_VSTD::move(__other.__p_)) {}
2050
- _LIBCPP_INLINE_VISIBILITY
2051
- packaged_task& operator=(packaged_task&& __other) _NOEXCEPT
2052
- {
2053
- __f_ = _VSTD::move(__other.__f_);
2054
- __p_ = _VSTD::move(__other.__p_);
2055
- return *this;
2056
- }
2057
- _LIBCPP_INLINE_VISIBILITY
2058
- void swap(packaged_task& __other) _NOEXCEPT
2059
- {
2060
- __f_.swap(__other.__f_);
2061
- __p_.swap(__other.__p_);
2062
- }
2063
-
2064
- _LIBCPP_INLINE_VISIBILITY
2065
- bool valid() const _NOEXCEPT {return __p_.__state_ != nullptr;}
2066
-
2067
- // result retrieval
2068
- _LIBCPP_INLINE_VISIBILITY
2069
- future<result_type> get_future() {return __p_.get_future();}
2070
-
2071
- // execution
2072
- void operator()(_ArgTypes... __args);
2073
- void make_ready_at_thread_exit(_ArgTypes... __args);
2074
-
2075
- void reset();
2076
- };
2077
-
2078
- template<class _Rp, class ..._ArgTypes>
2079
- void
2080
- packaged_task<_Rp(_ArgTypes...)>::operator()(_ArgTypes... __args)
2081
- {
2082
- #ifndef _LIBCPP_NO_EXCEPTIONS
2083
- if (__p_.__state_ == nullptr)
2084
- throw future_error(make_error_code(future_errc::no_state));
2085
- if (__p_.__state_->__has_value())
2086
- throw future_error(make_error_code(future_errc::promise_already_satisfied));
2087
- try
2088
- {
2089
- #endif // _LIBCPP_NO_EXCEPTIONS
2090
- __p_.set_value(__f_(_VSTD::forward<_ArgTypes>(__args)...));
2091
- #ifndef _LIBCPP_NO_EXCEPTIONS
2092
- }
2093
- catch (...)
2094
- {
2095
- __p_.set_exception(current_exception());
2096
- }
2097
- #endif // _LIBCPP_NO_EXCEPTIONS
2098
- }
2099
-
2100
- template<class _Rp, class ..._ArgTypes>
2101
- void
2102
- packaged_task<_Rp(_ArgTypes...)>::make_ready_at_thread_exit(_ArgTypes... __args)
2103
- {
2104
- #ifndef _LIBCPP_NO_EXCEPTIONS
2105
- if (__p_.__state_ == nullptr)
2106
- throw future_error(make_error_code(future_errc::no_state));
2107
- if (__p_.__state_->__has_value())
2108
- throw future_error(make_error_code(future_errc::promise_already_satisfied));
2109
- try
2110
- {
2111
- #endif // _LIBCPP_NO_EXCEPTIONS
2112
- __p_.set_value_at_thread_exit(__f_(_VSTD::forward<_ArgTypes>(__args)...));
2113
- #ifndef _LIBCPP_NO_EXCEPTIONS
2114
- }
2115
- catch (...)
2116
- {
2117
- __p_.set_exception_at_thread_exit(current_exception());
2118
- }
2119
- #endif // _LIBCPP_NO_EXCEPTIONS
2120
- }
2121
-
2122
- template<class _Rp, class ..._ArgTypes>
2123
- void
2124
- packaged_task<_Rp(_ArgTypes...)>::reset()
2125
- {
2126
- #ifndef _LIBCPP_NO_EXCEPTIONS
2127
- if (!valid())
2128
- throw future_error(make_error_code(future_errc::no_state));
2129
- #endif // _LIBCPP_NO_EXCEPTIONS
2130
- __p_ = promise<result_type>();
2131
- }
2132
-
2133
- template<class ..._ArgTypes>
2134
- class _LIBCPP_TYPE_VIS_ONLY packaged_task<void(_ArgTypes...)>
2135
- {
2136
- public:
2137
- typedef void result_type;
2138
-
2139
- private:
2140
- __packaged_task_function<result_type(_ArgTypes...)> __f_;
2141
- promise<result_type> __p_;
2142
-
2143
- public:
2144
- // construction and destruction
2145
- _LIBCPP_INLINE_VISIBILITY
2146
- packaged_task() _NOEXCEPT : __p_(nullptr) {}
2147
- template <class _Fp,
2148
- class = typename enable_if
2149
- <
2150
- !is_same<
2151
- typename decay<_Fp>::type,
2152
- packaged_task
2153
- >::value
2154
- >::type
2155
- >
2156
- _LIBCPP_INLINE_VISIBILITY
2157
- explicit packaged_task(_Fp&& __f) : __f_(_VSTD::forward<_Fp>(__f)) {}
2158
- template <class _Fp, class _Allocator,
2159
- class = typename enable_if
2160
- <
2161
- !is_same<
2162
- typename decay<_Fp>::type,
2163
- packaged_task
2164
- >::value
2165
- >::type
2166
- >
2167
- _LIBCPP_INLINE_VISIBILITY
2168
- explicit packaged_task(allocator_arg_t, const _Allocator& __a, _Fp&& __f)
2169
- : __f_(allocator_arg, __a, _VSTD::forward<_Fp>(__f)),
2170
- __p_(allocator_arg, __a) {}
2171
- // ~packaged_task() = default;
2172
-
2173
- // no copy
2174
- packaged_task(const packaged_task&) = delete;
2175
- packaged_task& operator=(const packaged_task&) = delete;
2176
-
2177
- // move support
2178
- _LIBCPP_INLINE_VISIBILITY
2179
- packaged_task(packaged_task&& __other) _NOEXCEPT
2180
- : __f_(_VSTD::move(__other.__f_)), __p_(_VSTD::move(__other.__p_)) {}
2181
- _LIBCPP_INLINE_VISIBILITY
2182
- packaged_task& operator=(packaged_task&& __other) _NOEXCEPT
2183
- {
2184
- __f_ = _VSTD::move(__other.__f_);
2185
- __p_ = _VSTD::move(__other.__p_);
2186
- return *this;
2187
- }
2188
- _LIBCPP_INLINE_VISIBILITY
2189
- void swap(packaged_task& __other) _NOEXCEPT
2190
- {
2191
- __f_.swap(__other.__f_);
2192
- __p_.swap(__other.__p_);
2193
- }
2194
-
2195
- _LIBCPP_INLINE_VISIBILITY
2196
- bool valid() const _NOEXCEPT {return __p_.__state_ != nullptr;}
2197
-
2198
- // result retrieval
2199
- _LIBCPP_INLINE_VISIBILITY
2200
- future<result_type> get_future() {return __p_.get_future();}
2201
-
2202
- // execution
2203
- void operator()(_ArgTypes... __args);
2204
- void make_ready_at_thread_exit(_ArgTypes... __args);
2205
-
2206
- void reset();
2207
- };
2208
-
2209
- template<class ..._ArgTypes>
2210
- void
2211
- packaged_task<void(_ArgTypes...)>::operator()(_ArgTypes... __args)
2212
- {
2213
- #ifndef _LIBCPP_NO_EXCEPTIONS
2214
- if (__p_.__state_ == nullptr)
2215
- throw future_error(make_error_code(future_errc::no_state));
2216
- if (__p_.__state_->__has_value())
2217
- throw future_error(make_error_code(future_errc::promise_already_satisfied));
2218
- try
2219
- {
2220
- #endif // _LIBCPP_NO_EXCEPTIONS
2221
- __f_(_VSTD::forward<_ArgTypes>(__args)...);
2222
- __p_.set_value();
2223
- #ifndef _LIBCPP_NO_EXCEPTIONS
2224
- }
2225
- catch (...)
2226
- {
2227
- __p_.set_exception(current_exception());
2228
- }
2229
- #endif // _LIBCPP_NO_EXCEPTIONS
2230
- }
2231
-
2232
- template<class ..._ArgTypes>
2233
- void
2234
- packaged_task<void(_ArgTypes...)>::make_ready_at_thread_exit(_ArgTypes... __args)
2235
- {
2236
- #ifndef _LIBCPP_NO_EXCEPTIONS
2237
- if (__p_.__state_ == nullptr)
2238
- throw future_error(make_error_code(future_errc::no_state));
2239
- if (__p_.__state_->__has_value())
2240
- throw future_error(make_error_code(future_errc::promise_already_satisfied));
2241
- try
2242
- {
2243
- #endif // _LIBCPP_NO_EXCEPTIONS
2244
- __f_(_VSTD::forward<_ArgTypes>(__args)...);
2245
- __p_.set_value_at_thread_exit();
2246
- #ifndef _LIBCPP_NO_EXCEPTIONS
2247
- }
2248
- catch (...)
2249
- {
2250
- __p_.set_exception_at_thread_exit(current_exception());
2251
- }
2252
- #endif // _LIBCPP_NO_EXCEPTIONS
2253
- }
2254
-
2255
- template<class ..._ArgTypes>
2256
- void
2257
- packaged_task<void(_ArgTypes...)>::reset()
2258
- {
2259
- #ifndef _LIBCPP_NO_EXCEPTIONS
2260
- if (!valid())
2261
- throw future_error(make_error_code(future_errc::no_state));
2262
- #endif // _LIBCPP_NO_EXCEPTIONS
2263
- __p_ = promise<result_type>();
2264
- }
2265
-
2266
- template <class _Callable>
2267
- inline _LIBCPP_INLINE_VISIBILITY
2268
- void
2269
- swap(packaged_task<_Callable>& __x, packaged_task<_Callable>& __y) _NOEXCEPT
2270
- {
2271
- __x.swap(__y);
2272
- }
2273
-
2274
- template <class _Callable, class _Alloc>
2275
- struct _LIBCPP_TYPE_VIS_ONLY uses_allocator<packaged_task<_Callable>, _Alloc>
2276
- : public true_type {};
2277
-
2278
- template <class _Rp, class _Fp>
2279
- future<_Rp>
2280
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
2281
- __make_deferred_assoc_state(_Fp&& __f)
2282
- #else
2283
- __make_deferred_assoc_state(_Fp __f)
2284
- #endif
2285
- {
2286
- unique_ptr<__deferred_assoc_state<_Rp, _Fp>, __release_shared_count>
2287
- __h(new __deferred_assoc_state<_Rp, _Fp>(_VSTD::forward<_Fp>(__f)));
2288
- return future<_Rp>(__h.get());
2289
- }
2290
-
2291
- template <class _Rp, class _Fp>
2292
- future<_Rp>
2293
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
2294
- __make_async_assoc_state(_Fp&& __f)
2295
- #else
2296
- __make_async_assoc_state(_Fp __f)
2297
- #endif
2298
- {
2299
- unique_ptr<__async_assoc_state<_Rp, _Fp>, __release_shared_count>
2300
- __h(new __async_assoc_state<_Rp, _Fp>(_VSTD::forward<_Fp>(__f)));
2301
- _VSTD::thread(&__async_assoc_state<_Rp, _Fp>::__execute, __h.get()).detach();
2302
- return future<_Rp>(__h.get());
2303
- }
2304
-
2305
- template <class _Fp, class... _Args>
2306
- class __async_func
2307
- {
2308
- tuple<_Fp, _Args...> __f_;
2309
-
2310
- public:
2311
- typedef typename __invoke_of<_Fp, _Args...>::type _Rp;
2312
-
2313
- _LIBCPP_INLINE_VISIBILITY
2314
- explicit __async_func(_Fp&& __f, _Args&&... __args)
2315
- : __f_(_VSTD::move(__f), _VSTD::move(__args)...) {}
2316
-
2317
- _LIBCPP_INLINE_VISIBILITY
2318
- __async_func(__async_func&& __f) : __f_(_VSTD::move(__f.__f_)) {}
2319
-
2320
- _Rp operator()()
2321
- {
2322
- typedef typename __make_tuple_indices<1+sizeof...(_Args), 1>::type _Index;
2323
- return __execute(_Index());
2324
- }
2325
- private:
2326
- template <size_t ..._Indices>
2327
- _Rp
2328
- __execute(__tuple_indices<_Indices...>)
2329
- {
2330
- return __invoke(_VSTD::move(_VSTD::get<0>(__f_)), _VSTD::move(_VSTD::get<_Indices>(__f_))...);
2331
- }
2332
- };
2333
-
2334
- inline _LIBCPP_INLINE_VISIBILITY bool __does_policy_contain(launch __policy, launch __value )
2335
- { return (int(__policy) & int(__value)) != 0; }
2336
-
2337
- template <class _Fp, class... _Args>
2338
- future<typename __invoke_of<typename decay<_Fp>::type, typename decay<_Args>::type...>::type>
2339
- async(launch __policy, _Fp&& __f, _Args&&... __args)
2340
- {
2341
- typedef __async_func<typename decay<_Fp>::type, typename decay<_Args>::type...> _BF;
2342
- typedef typename _BF::_Rp _Rp;
2343
-
2344
- #ifndef _LIBCPP_NO_EXCEPTIONS
2345
- try
2346
- {
2347
- #endif
2348
- if (__does_policy_contain(__policy, launch::async))
2349
- return _VSTD::__make_async_assoc_state<_Rp>(_BF(__decay_copy(_VSTD::forward<_Fp>(__f)),
2350
- __decay_copy(_VSTD::forward<_Args>(__args))...));
2351
- #ifndef _LIBCPP_NO_EXCEPTIONS
2352
- }
2353
- catch ( ... ) { if (__policy == launch::async) throw ; }
2354
- #endif
2355
-
2356
- if (__does_policy_contain(__policy, launch::deferred))
2357
- return _VSTD::__make_deferred_assoc_state<_Rp>(_BF(__decay_copy(_VSTD::forward<_Fp>(__f)),
2358
- __decay_copy(_VSTD::forward<_Args>(__args))...));
2359
- return future<_Rp>{};
2360
- }
2361
-
2362
- template <class _Fp, class... _Args>
2363
- inline _LIBCPP_INLINE_VISIBILITY
2364
- future<typename __invoke_of<typename decay<_Fp>::type, typename decay<_Args>::type...>::type>
2365
- async(_Fp&& __f, _Args&&... __args)
2366
- {
2367
- return _VSTD::async(launch::any, _VSTD::forward<_Fp>(__f),
2368
- _VSTD::forward<_Args>(__args)...);
2369
- }
2370
-
2371
- #endif // _LIBCPP_HAS_NO_VARIADICS
2372
-
2373
- // shared_future
2374
-
2375
- template <class _Rp>
2376
- class _LIBCPP_TYPE_VIS_ONLY shared_future
2377
- {
2378
- __assoc_state<_Rp>* __state_;
2379
-
2380
- public:
2381
- _LIBCPP_INLINE_VISIBILITY
2382
- shared_future() _NOEXCEPT : __state_(nullptr) {}
2383
- _LIBCPP_INLINE_VISIBILITY
2384
- shared_future(const shared_future& __rhs) : __state_(__rhs.__state_)
2385
- {if (__state_) __state_->__add_shared();}
2386
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
2387
- _LIBCPP_INLINE_VISIBILITY
2388
- shared_future(future<_Rp>&& __f) _NOEXCEPT : __state_(__f.__state_)
2389
- {__f.__state_ = nullptr;}
2390
- _LIBCPP_INLINE_VISIBILITY
2391
- shared_future(shared_future&& __rhs) _NOEXCEPT : __state_(__rhs.__state_)
2392
- {__rhs.__state_ = nullptr;}
2393
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
2394
- ~shared_future();
2395
- shared_future& operator=(const shared_future& __rhs);
2396
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
2397
- _LIBCPP_INLINE_VISIBILITY
2398
- shared_future& operator=(shared_future&& __rhs) _NOEXCEPT
2399
- {
2400
- shared_future(std::move(__rhs)).swap(*this);
2401
- return *this;
2402
- }
2403
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
2404
-
2405
- // retrieving the value
2406
- _LIBCPP_INLINE_VISIBILITY
2407
- const _Rp& get() const {return __state_->copy();}
2408
-
2409
- _LIBCPP_INLINE_VISIBILITY
2410
- void swap(shared_future& __rhs) _NOEXCEPT {_VSTD::swap(__state_, __rhs.__state_);}
2411
-
2412
- // functions to check state
2413
- _LIBCPP_INLINE_VISIBILITY
2414
- bool valid() const _NOEXCEPT {return __state_ != nullptr;}
2415
-
2416
- _LIBCPP_INLINE_VISIBILITY
2417
- void wait() const {__state_->wait();}
2418
- template <class _Rep, class _Period>
2419
- _LIBCPP_INLINE_VISIBILITY
2420
- future_status
2421
- wait_for(const chrono::duration<_Rep, _Period>& __rel_time) const
2422
- {return __state_->wait_for(__rel_time);}
2423
- template <class _Clock, class _Duration>
2424
- _LIBCPP_INLINE_VISIBILITY
2425
- future_status
2426
- wait_until(const chrono::time_point<_Clock, _Duration>& __abs_time) const
2427
- {return __state_->wait_until(__abs_time);}
2428
- };
2429
-
2430
- template <class _Rp>
2431
- shared_future<_Rp>::~shared_future()
2432
- {
2433
- if (__state_)
2434
- __state_->__release_shared();
2435
- }
2436
-
2437
- template <class _Rp>
2438
- shared_future<_Rp>&
2439
- shared_future<_Rp>::operator=(const shared_future& __rhs)
2440
- {
2441
- if (__rhs.__state_)
2442
- __rhs.__state_->__add_shared();
2443
- if (__state_)
2444
- __state_->__release_shared();
2445
- __state_ = __rhs.__state_;
2446
- return *this;
2447
- }
2448
-
2449
- template <class _Rp>
2450
- class _LIBCPP_TYPE_VIS_ONLY shared_future<_Rp&>
2451
- {
2452
- __assoc_state<_Rp&>* __state_;
2453
-
2454
- public:
2455
- _LIBCPP_INLINE_VISIBILITY
2456
- shared_future() _NOEXCEPT : __state_(nullptr) {}
2457
- _LIBCPP_INLINE_VISIBILITY
2458
- shared_future(const shared_future& __rhs) : __state_(__rhs.__state_)
2459
- {if (__state_) __state_->__add_shared();}
2460
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
2461
- _LIBCPP_INLINE_VISIBILITY
2462
- shared_future(future<_Rp&>&& __f) _NOEXCEPT : __state_(__f.__state_)
2463
- {__f.__state_ = nullptr;}
2464
- _LIBCPP_INLINE_VISIBILITY
2465
- shared_future(shared_future&& __rhs) _NOEXCEPT : __state_(__rhs.__state_)
2466
- {__rhs.__state_ = nullptr;}
2467
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
2468
- ~shared_future();
2469
- shared_future& operator=(const shared_future& __rhs);
2470
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
2471
- _LIBCPP_INLINE_VISIBILITY
2472
- shared_future& operator=(shared_future&& __rhs) _NOEXCEPT
2473
- {
2474
- shared_future(std::move(__rhs)).swap(*this);
2475
- return *this;
2476
- }
2477
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
2478
-
2479
- // retrieving the value
2480
- _LIBCPP_INLINE_VISIBILITY
2481
- _Rp& get() const {return __state_->copy();}
2482
-
2483
- _LIBCPP_INLINE_VISIBILITY
2484
- void swap(shared_future& __rhs) _NOEXCEPT {_VSTD::swap(__state_, __rhs.__state_);}
2485
-
2486
- // functions to check state
2487
- _LIBCPP_INLINE_VISIBILITY
2488
- bool valid() const _NOEXCEPT {return __state_ != nullptr;}
2489
-
2490
- _LIBCPP_INLINE_VISIBILITY
2491
- void wait() const {__state_->wait();}
2492
- template <class _Rep, class _Period>
2493
- _LIBCPP_INLINE_VISIBILITY
2494
- future_status
2495
- wait_for(const chrono::duration<_Rep, _Period>& __rel_time) const
2496
- {return __state_->wait_for(__rel_time);}
2497
- template <class _Clock, class _Duration>
2498
- _LIBCPP_INLINE_VISIBILITY
2499
- future_status
2500
- wait_until(const chrono::time_point<_Clock, _Duration>& __abs_time) const
2501
- {return __state_->wait_until(__abs_time);}
2502
- };
2503
-
2504
- template <class _Rp>
2505
- shared_future<_Rp&>::~shared_future()
2506
- {
2507
- if (__state_)
2508
- __state_->__release_shared();
2509
- }
2510
-
2511
- template <class _Rp>
2512
- shared_future<_Rp&>&
2513
- shared_future<_Rp&>::operator=(const shared_future& __rhs)
2514
- {
2515
- if (__rhs.__state_)
2516
- __rhs.__state_->__add_shared();
2517
- if (__state_)
2518
- __state_->__release_shared();
2519
- __state_ = __rhs.__state_;
2520
- return *this;
2521
- }
2522
-
2523
- template <>
2524
- class _LIBCPP_TYPE_VIS shared_future<void>
2525
- {
2526
- __assoc_sub_state* __state_;
2527
-
2528
- public:
2529
- _LIBCPP_INLINE_VISIBILITY
2530
- shared_future() _NOEXCEPT : __state_(nullptr) {}
2531
- _LIBCPP_INLINE_VISIBILITY
2532
- shared_future(const shared_future& __rhs) : __state_(__rhs.__state_)
2533
- {if (__state_) __state_->__add_shared();}
2534
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
2535
- _LIBCPP_INLINE_VISIBILITY
2536
- shared_future(future<void>&& __f) _NOEXCEPT : __state_(__f.__state_)
2537
- {__f.__state_ = nullptr;}
2538
- _LIBCPP_INLINE_VISIBILITY
2539
- shared_future(shared_future&& __rhs) _NOEXCEPT : __state_(__rhs.__state_)
2540
- {__rhs.__state_ = nullptr;}
2541
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
2542
- ~shared_future();
2543
- shared_future& operator=(const shared_future& __rhs);
2544
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
2545
- _LIBCPP_INLINE_VISIBILITY
2546
- shared_future& operator=(shared_future&& __rhs) _NOEXCEPT
2547
- {
2548
- shared_future(std::move(__rhs)).swap(*this);
2549
- return *this;
2550
- }
2551
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
2552
-
2553
- // retrieving the value
2554
- _LIBCPP_INLINE_VISIBILITY
2555
- void get() const {__state_->copy();}
2556
-
2557
- _LIBCPP_INLINE_VISIBILITY
2558
- void swap(shared_future& __rhs) _NOEXCEPT {_VSTD::swap(__state_, __rhs.__state_);}
2559
-
2560
- // functions to check state
2561
- _LIBCPP_INLINE_VISIBILITY
2562
- bool valid() const _NOEXCEPT {return __state_ != nullptr;}
2563
-
2564
- _LIBCPP_INLINE_VISIBILITY
2565
- void wait() const {__state_->wait();}
2566
- template <class _Rep, class _Period>
2567
- _LIBCPP_INLINE_VISIBILITY
2568
- future_status
2569
- wait_for(const chrono::duration<_Rep, _Period>& __rel_time) const
2570
- {return __state_->wait_for(__rel_time);}
2571
- template <class _Clock, class _Duration>
2572
- _LIBCPP_INLINE_VISIBILITY
2573
- future_status
2574
- wait_until(const chrono::time_point<_Clock, _Duration>& __abs_time) const
2575
- {return __state_->wait_until(__abs_time);}
2576
- };
2577
-
2578
- template <class _Rp>
2579
- inline _LIBCPP_INLINE_VISIBILITY
2580
- void
2581
- swap(shared_future<_Rp>& __x, shared_future<_Rp>& __y) _NOEXCEPT
2582
- {
2583
- __x.swap(__y);
2584
- }
2585
-
2586
- template <class _Rp>
2587
- inline _LIBCPP_INLINE_VISIBILITY
2588
- shared_future<_Rp>
2589
- future<_Rp>::share()
2590
- {
2591
- return shared_future<_Rp>(_VSTD::move(*this));
2592
- }
2593
-
2594
- template <class _Rp>
2595
- inline _LIBCPP_INLINE_VISIBILITY
2596
- shared_future<_Rp&>
2597
- future<_Rp&>::share()
2598
- {
2599
- return shared_future<_Rp&>(_VSTD::move(*this));
2600
- }
2601
-
2602
- #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
2603
-
2604
- inline _LIBCPP_INLINE_VISIBILITY
2605
- shared_future<void>
2606
- future<void>::share()
2607
- {
2608
- return shared_future<void>(_VSTD::move(*this));
2609
- }
2610
-
2611
- #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
2612
-
2613
- _LIBCPP_END_NAMESPACE_STD
2614
-
2615
- #endif // _LIBCPP_FUTURE