webruby 0.2.2 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/webruby/config.rb +4 -9
- data/lib/webruby/rake/files.rake +2 -2
- data/modules/emscripten/AUTHORS +9 -1
- data/modules/emscripten/CONTRIBUTING.markdown +5 -0
- data/modules/emscripten/ChangeLog +435 -0
- data/modules/emscripten/cmake/Modules/FindOpenAL.cmake +26 -0
- data/modules/emscripten/cmake/Platform/Emscripten.cmake +9 -2
- data/modules/emscripten/em++ +0 -2
- data/modules/emscripten/emcc +92 -32
- data/modules/emscripten/emlink.py +16 -13
- data/modules/emscripten/emmake +1 -1
- data/modules/emscripten/emrun +918 -0
- data/modules/emscripten/emrun.bat +2 -0
- data/modules/emscripten/emscripten.py +545 -20
- data/modules/emscripten/src/analyzer.js +6 -1
- data/modules/emscripten/src/compiler.js +25 -16
- data/modules/emscripten/src/emrun_postjs.js +20 -0
- data/modules/emscripten/{tests → src}/hello_world.js +0 -0
- data/modules/emscripten/src/intertyper.js +45 -16
- data/modules/emscripten/src/jsifier.js +78 -48
- data/modules/emscripten/src/library.js +381 -96
- data/modules/emscripten/src/library_browser.js +50 -53
- data/modules/emscripten/src/library_egl.js +66 -24
- data/modules/emscripten/src/library_fs.js +122 -90
- data/modules/emscripten/src/library_gl.js +739 -353
- data/modules/emscripten/src/library_glfw.js +9 -3
- data/modules/emscripten/src/library_glut.js +10 -5
- data/modules/emscripten/src/library_idbfs.js +14 -14
- data/modules/emscripten/src/library_memfs.js +65 -41
- data/modules/emscripten/src/library_nodefs.js +61 -9
- data/modules/emscripten/src/library_openal.js +4 -4
- data/modules/emscripten/src/library_path.js +9 -13
- data/modules/emscripten/src/library_sdl.js +301 -64
- data/modules/emscripten/src/library_sockfs.js +7 -5
- data/modules/emscripten/src/modules.js +62 -22
- data/modules/emscripten/src/parseTools.js +135 -102
- data/modules/emscripten/src/postamble.js +3 -4
- data/modules/emscripten/src/preamble.js +49 -29
- data/modules/emscripten/src/proxyClient.js +1 -1
- data/modules/emscripten/src/proxyWorker.js +10 -10
- data/modules/emscripten/src/relooper/Relooper.cpp +15 -4
- data/modules/emscripten/src/runtime.js +32 -8
- data/modules/emscripten/src/settings.js +25 -8
- data/modules/emscripten/src/shell.html +6 -3
- data/modules/emscripten/src/shell.js +13 -11
- data/modules/emscripten/src/simd.js +602 -432
- data/modules/emscripten/src/struct_info.json +22 -2
- data/modules/emscripten/src/utility.js +32 -17
- data/modules/emscripten/system/include/SDL/SDL_events.h +1 -0
- data/modules/emscripten/system/include/compat/ctype.h +17 -0
- data/modules/emscripten/system/include/compat/wchar.h +23 -0
- data/modules/emscripten/system/include/compat/wctype.h +23 -0
- data/modules/emscripten/system/include/emscripten/emmintrin.h +87 -0
- data/modules/emscripten/system/include/emscripten/emscripten.h +30 -4
- data/modules/emscripten/system/include/emscripten/vector.h +29 -1
- data/modules/emscripten/system/include/emscripten/xmmintrin.h +131 -0
- data/modules/emscripten/system/include/libcxx/CREDITS.TXT +9 -1
- data/modules/emscripten/system/include/libcxx/__bit_reference +8 -8
- data/modules/emscripten/system/include/libcxx/__config +95 -17
- data/modules/emscripten/system/include/libcxx/__debug +25 -4
- data/modules/emscripten/system/include/libcxx/__functional_03 +7 -7
- data/modules/emscripten/system/include/libcxx/__functional_base +169 -9
- data/modules/emscripten/system/include/libcxx/__functional_base_03 +1 -1
- data/modules/emscripten/system/include/libcxx/__hash_table +25 -25
- data/modules/emscripten/system/include/libcxx/__locale +21 -19
- data/modules/emscripten/system/include/libcxx/__mutex_base +2 -33
- data/modules/emscripten/system/include/libcxx/__split_buffer +9 -9
- data/modules/emscripten/system/include/libcxx/__std_stream +14 -0
- data/modules/emscripten/system/include/libcxx/__tree +35 -26
- data/modules/emscripten/system/include/libcxx/__tuple +15 -15
- data/modules/emscripten/system/include/libcxx/__tuple_03 +2 -2
- data/modules/emscripten/system/include/libcxx/__undef_min_max +8 -0
- data/modules/emscripten/system/include/libcxx/algorithm +121 -110
- data/modules/emscripten/system/include/libcxx/array +15 -15
- data/modules/emscripten/system/include/libcxx/bitset +4 -4
- data/modules/emscripten/system/include/libcxx/chrono +51 -17
- data/modules/emscripten/system/include/libcxx/cmath +25 -23
- data/modules/emscripten/system/include/libcxx/codecvt +21 -18
- data/modules/emscripten/system/include/libcxx/complex +48 -7
- data/modules/emscripten/system/include/libcxx/cstddef +1 -1
- data/modules/emscripten/system/include/libcxx/cstdio +8 -1
- data/modules/emscripten/system/include/libcxx/cstdlib +1 -1
- data/modules/emscripten/system/include/libcxx/cwchar +1 -1
- data/modules/emscripten/system/include/libcxx/deque +26 -12
- data/modules/emscripten/system/include/libcxx/dynarray +311 -0
- data/modules/emscripten/system/include/libcxx/exception +4 -4
- data/modules/emscripten/system/include/libcxx/ext/__hash +3 -3
- data/modules/emscripten/system/include/libcxx/ext/hash_map +19 -15
- data/modules/emscripten/system/include/libcxx/ext/hash_set +7 -3
- data/modules/emscripten/system/include/libcxx/forward_list +33 -7
- data/modules/emscripten/system/include/libcxx/fstream +4 -4
- data/modules/emscripten/system/include/libcxx/functional +200 -170
- data/modules/emscripten/system/include/libcxx/future +83 -39
- data/modules/emscripten/system/include/libcxx/initializer_list +24 -11
- data/modules/emscripten/system/include/libcxx/iomanip +147 -0
- data/modules/emscripten/system/include/libcxx/ios +24 -16
- data/modules/emscripten/system/include/libcxx/iosfwd +19 -19
- data/modules/emscripten/system/include/libcxx/istream +13 -8
- data/modules/emscripten/system/include/libcxx/iterator +108 -417
- data/modules/emscripten/system/include/libcxx/limits +8 -4
- data/modules/emscripten/system/include/libcxx/list +28 -8
- data/modules/emscripten/system/include/libcxx/locale +153 -390
- data/modules/emscripten/system/include/libcxx/map +280 -100
- data/modules/emscripten/system/include/libcxx/memory +49 -97
- data/modules/emscripten/system/include/libcxx/mutex +2 -2
- data/modules/emscripten/system/include/libcxx/new +43 -14
- data/modules/emscripten/system/include/libcxx/numeric +2 -2
- data/modules/emscripten/system/include/libcxx/optional +697 -0
- data/modules/emscripten/system/include/libcxx/ostream +17 -8
- data/modules/emscripten/system/include/libcxx/queue +5 -5
- data/modules/emscripten/system/include/libcxx/random +53 -51
- data/modules/emscripten/system/include/libcxx/ratio +11 -11
- data/modules/emscripten/system/include/libcxx/readme.txt +1 -1
- data/modules/emscripten/system/include/libcxx/regex +23 -20
- data/modules/emscripten/system/include/libcxx/scoped_allocator +1 -1
- data/modules/emscripten/system/include/libcxx/set +166 -2
- data/modules/emscripten/system/include/libcxx/shared_mutex +419 -0
- data/modules/emscripten/system/include/libcxx/sstream +4 -4
- data/modules/emscripten/system/include/libcxx/stack +3 -3
- data/modules/emscripten/system/include/libcxx/streambuf +5 -5
- data/modules/emscripten/system/include/libcxx/string +372 -324
- data/modules/emscripten/system/include/libcxx/support/ibm/limits.h +99 -0
- data/modules/emscripten/system/include/libcxx/support/ibm/support.h +54 -0
- data/modules/emscripten/system/include/libcxx/support/ibm/xlocale.h +326 -0
- data/modules/emscripten/system/include/libcxx/support/win32/limits_win32.h +6 -6
- data/modules/emscripten/system/include/libcxx/support/win32/locale_win32.h +15 -15
- data/modules/emscripten/system/include/libcxx/support/win32/math_win32.h +2 -0
- data/modules/emscripten/system/include/libcxx/support/win32/support.h +6 -1
- data/modules/emscripten/system/include/libcxx/system_error +14 -8
- data/modules/emscripten/system/include/libcxx/thread +7 -8
- data/modules/emscripten/system/include/libcxx/tuple +29 -88
- data/modules/emscripten/system/include/libcxx/type_traits +253 -209
- data/modules/emscripten/system/include/libcxx/typeindex +3 -3
- data/modules/emscripten/system/include/libcxx/unordered_map +162 -101
- data/modules/emscripten/system/include/libcxx/unordered_set +79 -2
- data/modules/emscripten/system/include/libcxx/utility +20 -20
- data/modules/emscripten/system/include/libcxx/valarray +23 -23
- data/modules/emscripten/system/include/libcxx/vector +114 -91
- data/modules/emscripten/system/lib/libc/musl/src/regex/regcomp.c +3352 -0
- data/modules/emscripten/system/lib/libc/musl/src/regex/regerror.c +35 -0
- data/modules/emscripten/system/lib/libc/musl/src/regex/regexec.c +1011 -0
- data/modules/emscripten/system/lib/libc/musl/src/regex/tre-mem.c +158 -0
- data/modules/emscripten/system/lib/libc/musl/src/regex/tre.h +231 -0
- data/modules/emscripten/system/lib/libcextra.symbols +7 -0
- data/modules/emscripten/system/lib/libcxx/CREDITS.TXT +9 -1
- data/modules/emscripten/system/lib/libcxx/algorithm.cpp +1 -0
- data/modules/emscripten/system/lib/libcxx/debug.cpp +66 -42
- data/modules/emscripten/system/lib/libcxx/exception.cpp +88 -16
- data/modules/emscripten/system/lib/libcxx/future.cpp +6 -0
- data/modules/emscripten/system/lib/libcxx/ios.cpp +7 -2
- data/modules/emscripten/system/lib/libcxx/iostream.cpp +8 -8
- data/modules/emscripten/system/lib/libcxx/locale.cpp +38 -11
- data/modules/emscripten/system/lib/libcxx/mutex.cpp +3 -0
- data/modules/emscripten/system/lib/libcxx/new.cpp +44 -10
- data/modules/emscripten/system/lib/libcxx/optional.cpp +25 -0
- data/modules/emscripten/system/lib/libcxx/random.cpp +26 -0
- data/modules/emscripten/system/lib/libcxx/readme.txt +1 -1
- data/modules/emscripten/system/lib/libcxx/shared_mutex.cpp +101 -0
- data/modules/emscripten/system/lib/libcxx/stdexcept.cpp +11 -7
- data/modules/emscripten/system/lib/libcxx/string.cpp +3 -1
- data/modules/emscripten/system/lib/libcxx/strstream.cpp +7 -7
- data/modules/emscripten/system/lib/libcxx/support/win32/locale_win32.cpp +12 -13
- data/modules/emscripten/system/lib/libcxx/support/win32/support.cpp +33 -36
- data/modules/emscripten/system/lib/libcxx/symbols +187 -168
- data/modules/emscripten/system/lib/libcxx/system_error.cpp +1 -0
- data/modules/emscripten/system/lib/libcxx/thread.cpp +7 -3
- data/modules/emscripten/system/lib/libcxx/typeinfo.cpp +9 -6
- data/modules/emscripten/system/lib/libcxx/valarray.cpp +2 -0
- data/modules/emscripten/third_party/lzma.js/doit.bat +4 -0
- data/modules/emscripten/third_party/lzma.js/doit.sh +9 -2
- data/modules/emscripten/tools/cache.py +5 -7
- data/modules/emscripten/tools/cache.pyc +0 -0
- data/modules/emscripten/tools/eliminator/asm-eliminator-test-output.js +7 -0
- data/modules/emscripten/tools/eliminator/asm-eliminator-test.js +9 -1
- data/modules/emscripten/tools/eliminator/eliminator-test-output.js +3 -0
- data/modules/emscripten/tools/eliminator/eliminator-test.js +9 -1
- data/modules/emscripten/tools/file_packager.py +93 -50
- data/modules/emscripten/tools/js-optimizer.js +98 -48
- data/modules/emscripten/tools/js_optimizer.py +4 -4
- data/modules/emscripten/tools/js_optimizer.pyc +0 -0
- data/modules/emscripten/tools/jsrun.py +1 -1
- data/modules/emscripten/tools/jsrun.pyc +0 -0
- data/modules/emscripten/tools/response_file.py +6 -0
- data/modules/emscripten/tools/response_file.pyc +0 -0
- data/modules/emscripten/tools/settings_template_readonly.py +2 -0
- data/modules/emscripten/tools/shared.py +88 -34
- data/modules/emscripten/tools/shared.pyc +0 -0
- data/modules/emscripten/tools/split.py +21 -13
- data/modules/mruby/build_config.rb +7 -1
- data/modules/mruby/doc/compile/README.md +5 -9
- data/modules/mruby/include/mrbconf.h +5 -2
- data/modules/mruby/include/mruby/array.h +1 -0
- data/modules/mruby/include/mruby/compile.h +2 -4
- data/modules/mruby/include/mruby/dump.h +7 -16
- data/modules/mruby/include/mruby/hash.h +1 -1
- data/modules/mruby/include/mruby/irep.h +14 -2
- data/modules/mruby/include/mruby/khash.h +8 -7
- data/modules/mruby/include/mruby/string.h +1 -0
- data/modules/mruby/include/mruby/value.h +5 -2
- data/modules/mruby/include/mruby.h +12 -13
- data/modules/mruby/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +16 -6
- data/modules/mruby/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c +18 -30
- data/modules/mruby/mrbgems/mruby-fiber/src/fiber.c +21 -0
- data/modules/mruby/mrbgems/mruby-math/src/math.c +1 -1
- data/modules/mruby/mrbgems/mruby-random/src/random.c +144 -47
- data/modules/mruby/mrbgems/mruby-random/test/random.rb +44 -0
- data/modules/mruby/mrbgems/mruby-struct/src/struct.c +5 -5
- data/modules/mruby/mrblib/numeric.rb +99 -33
- data/modules/mruby/src/array.c +11 -4
- data/modules/mruby/src/backtrace.c +2 -2
- data/modules/mruby/src/class.c +49 -30
- data/modules/mruby/src/codegen.c +131 -79
- data/modules/mruby/src/debug.c +1 -1
- data/modules/mruby/src/dump.c +213 -163
- data/modules/mruby/src/error.c +17 -17
- data/modules/mruby/src/error.h +1 -1
- data/modules/mruby/src/etc.c +10 -0
- data/modules/mruby/src/gc.c +35 -17
- data/modules/mruby/src/hash.c +5 -5
- data/modules/mruby/src/kernel.c +36 -14
- data/modules/mruby/src/load.c +238 -296
- data/modules/mruby/src/numeric.c +18 -98
- data/modules/mruby/src/object.c +3 -5
- data/modules/mruby/src/parse.y +63 -56
- data/modules/mruby/src/proc.c +8 -5
- data/modules/mruby/src/re.h +0 -1
- data/modules/mruby/src/state.c +65 -27
- data/modules/mruby/src/string.c +3 -31
- data/modules/mruby/src/symbol.c +3 -3
- data/modules/mruby/src/variable.c +12 -5
- data/modules/mruby/src/vm.c +90 -72
- data/modules/mruby/tasks/mruby_build.rake +10 -1
- data/modules/mruby/tasks/toolchains/gcc.rake +12 -2
- data/modules/mruby/tasks/toolchains/{vs2012.rake → visualcpp.rake} +1 -1
- data/modules/mruby/test/driver.c +3 -3
- data/modules/mruby/test/t/array.rb +5 -5
- data/modules/mruby/test/t/class.rb +14 -1
- data/modules/mruby/test/t/kernel.rb +4 -0
- data/modules/mruby/test/t/module.rb +4 -4
- data/modules/mruby/test/t/nameerror.rb +1 -1
- data/modules/mruby/tools/mrbc/mrbc.c +23 -17
- data/modules/mruby/travis_config.rb +10 -1
- metadata +28 -5
- data/modules/mruby/tasks/toolchains/vs2010.rake +0 -3
@@ -19,11 +19,13 @@
|
|
19
19
|
#include <cstdint>
|
20
20
|
#include <cctype>
|
21
21
|
#include <locale.h>
|
22
|
-
#
|
22
|
+
#if defined(_LIBCPP_MSVCRT) || defined(__MINGW32__)
|
23
23
|
# include <support/win32/locale_win32.h>
|
24
|
-
#elif
|
24
|
+
#elif _AIX
|
25
|
+
# include <support/ibm/xlocale.h>
|
26
|
+
#elif (defined(__GLIBC__) || defined(__APPLE__) || defined(__FreeBSD__) || defined(__sun__)) || defined(__EMSCRIPTEN__) || defined(__IBMCPP__)
|
25
27
|
# include <xlocale.h>
|
26
|
-
#endif // _WIN32 || __GLIBC__ || __APPLE__ || __FreeBSD__ || __sun__ || __EMSCRIPTEN__
|
28
|
+
#endif // _WIN32 || __GLIBC__ || __APPLE__ || __FreeBSD__ || __sun__ || __EMSCRIPTEN__ || __IBMCPP__
|
27
29
|
|
28
30
|
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
29
31
|
#pragma GCC system_header
|
@@ -175,7 +177,7 @@ use_facet(const locale& __l)
|
|
175
177
|
// template <class _CharT> class collate;
|
176
178
|
|
177
179
|
template <class _CharT>
|
178
|
-
class
|
180
|
+
class _LIBCPP_TYPE_VIS_ONLY collate
|
179
181
|
: public locale::facet
|
180
182
|
{
|
181
183
|
public:
|
@@ -254,12 +256,12 @@ collate<_CharT>::do_hash(const char_type* __lo, const char_type* __hi) const
|
|
254
256
|
return static_cast<long>(__h);
|
255
257
|
}
|
256
258
|
|
257
|
-
|
258
|
-
|
259
|
+
_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_TYPE_VIS collate<char>)
|
260
|
+
_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_TYPE_VIS collate<wchar_t>)
|
259
261
|
|
260
262
|
// template <class CharT> class collate_byname;
|
261
263
|
|
262
|
-
template <class _CharT> class
|
264
|
+
template <class _CharT> class _LIBCPP_TYPE_VIS_ONLY collate_byname;
|
263
265
|
|
264
266
|
template <>
|
265
267
|
class _LIBCPP_TYPE_VIS collate_byname<char>
|
@@ -361,7 +363,7 @@ public:
|
|
361
363
|
# else
|
362
364
|
static const mask blank = _CTYPE_B;
|
363
365
|
# endif
|
364
|
-
#elif defined(__sun__)
|
366
|
+
#elif defined(__sun__) || defined(_AIX)
|
365
367
|
typedef unsigned int mask;
|
366
368
|
static const mask space = _ISSPACE;
|
367
369
|
static const mask print = _ISPRINT;
|
@@ -392,7 +394,7 @@ public:
|
|
392
394
|
_LIBCPP_ALWAYS_INLINE ctype_base() {}
|
393
395
|
};
|
394
396
|
|
395
|
-
template <class _CharT> class
|
397
|
+
template <class _CharT> class _LIBCPP_TYPE_VIS_ONLY ctype;
|
396
398
|
|
397
399
|
template <>
|
398
400
|
class _LIBCPP_TYPE_VIS ctype<wchar_t>
|
@@ -510,7 +512,7 @@ public:
|
|
510
512
|
_LIBCPP_ALWAYS_INLINE
|
511
513
|
bool is(mask __m, char_type __c) const
|
512
514
|
{
|
513
|
-
return isascii(__c) ? __tab_[static_cast<int>(__c)] & __m : false;
|
515
|
+
return isascii(__c) ? (__tab_[static_cast<int>(__c)] & __m) !=0 : false;
|
514
516
|
}
|
515
517
|
|
516
518
|
_LIBCPP_ALWAYS_INLINE
|
@@ -619,7 +621,7 @@ protected:
|
|
619
621
|
|
620
622
|
// template <class CharT> class ctype_byname;
|
621
623
|
|
622
|
-
template <class _CharT> class
|
624
|
+
template <class _CharT> class _LIBCPP_TYPE_VIS_ONLY ctype_byname;
|
623
625
|
|
624
626
|
template <>
|
625
627
|
class _LIBCPP_TYPE_VIS ctype_byname<char>
|
@@ -780,7 +782,7 @@ public:
|
|
780
782
|
|
781
783
|
// template <class internT, class externT, class stateT> class codecvt;
|
782
784
|
|
783
|
-
template <class _InternT, class _ExternT, class _StateT> class
|
785
|
+
template <class _InternT, class _ExternT, class _StateT> class _LIBCPP_TYPE_VIS_ONLY codecvt;
|
784
786
|
|
785
787
|
// template <> class codecvt<char, char, mbstate_t>
|
786
788
|
|
@@ -1126,7 +1128,7 @@ protected:
|
|
1126
1128
|
// template <class _InternT, class _ExternT, class _StateT> class codecvt_byname
|
1127
1129
|
|
1128
1130
|
template <class _InternT, class _ExternT, class _StateT>
|
1129
|
-
class
|
1131
|
+
class _LIBCPP_TYPE_VIS_ONLY codecvt_byname
|
1130
1132
|
: public codecvt<_InternT, _ExternT, _StateT>
|
1131
1133
|
{
|
1132
1134
|
public:
|
@@ -1145,10 +1147,10 @@ codecvt_byname<_InternT, _ExternT, _StateT>::~codecvt_byname()
|
|
1145
1147
|
{
|
1146
1148
|
}
|
1147
1149
|
|
1148
|
-
|
1149
|
-
|
1150
|
-
|
1151
|
-
|
1150
|
+
_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_TYPE_VIS codecvt_byname<char, char, mbstate_t>)
|
1151
|
+
_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_TYPE_VIS codecvt_byname<wchar_t, char, mbstate_t>)
|
1152
|
+
_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_TYPE_VIS codecvt_byname<char16_t, char, mbstate_t>)
|
1153
|
+
_LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_TYPE_VIS codecvt_byname<char32_t, char, mbstate_t>)
|
1152
1154
|
|
1153
1155
|
_LIBCPP_FUNC_VIS void __throw_runtime_error(const char*);
|
1154
1156
|
|
@@ -1334,7 +1336,7 @@ struct __widen_from_utf8<32>
|
|
1334
1336
|
|
1335
1337
|
// template <class charT> class numpunct
|
1336
1338
|
|
1337
|
-
template <class _CharT> class
|
1339
|
+
template <class _CharT> class _LIBCPP_TYPE_VIS_ONLY numpunct;
|
1338
1340
|
|
1339
1341
|
template <>
|
1340
1342
|
class _LIBCPP_TYPE_VIS numpunct<char>
|
@@ -1400,7 +1402,7 @@ protected:
|
|
1400
1402
|
|
1401
1403
|
// template <class charT> class numpunct_byname
|
1402
1404
|
|
1403
|
-
template <class charT> class
|
1405
|
+
template <class charT> class _LIBCPP_TYPE_VIS_ONLY numpunct_byname;
|
1404
1406
|
|
1405
1407
|
template <>
|
1406
1408
|
class _LIBCPP_TYPE_VIS numpunct_byname<char>
|
@@ -20,16 +20,6 @@
|
|
20
20
|
#pragma GCC system_header
|
21
21
|
#endif
|
22
22
|
|
23
|
-
#ifdef _LIBCPP_SHARED_LOCK
|
24
|
-
|
25
|
-
namespace ting {
|
26
|
-
template <class _Mutex> class shared_lock;
|
27
|
-
template <class _Mutex> class upgrade_lock;
|
28
|
-
}
|
29
|
-
|
30
|
-
#endif // _LIBCPP_SHARED_LOCK
|
31
|
-
|
32
|
-
|
33
23
|
_LIBCPP_BEGIN_NAMESPACE_STD
|
34
24
|
|
35
25
|
class _LIBCPP_TYPE_VIS mutex
|
@@ -77,7 +67,7 @@ constexpr adopt_lock_t adopt_lock = adopt_lock_t();
|
|
77
67
|
#endif
|
78
68
|
|
79
69
|
template <class _Mutex>
|
80
|
-
class
|
70
|
+
class _LIBCPP_TYPE_VIS_ONLY lock_guard
|
81
71
|
{
|
82
72
|
public:
|
83
73
|
typedef _Mutex mutex_type;
|
@@ -101,7 +91,7 @@ private:
|
|
101
91
|
};
|
102
92
|
|
103
93
|
template <class _Mutex>
|
104
|
-
class
|
94
|
+
class _LIBCPP_TYPE_VIS_ONLY unique_lock
|
105
95
|
{
|
106
96
|
public:
|
107
97
|
typedef _Mutex mutex_type;
|
@@ -162,27 +152,6 @@ public:
|
|
162
152
|
return *this;
|
163
153
|
}
|
164
154
|
|
165
|
-
#ifdef _LIBCPP_SHARED_LOCK
|
166
|
-
|
167
|
-
unique_lock(ting::shared_lock<mutex_type>&&, try_to_lock_t);
|
168
|
-
template <class _Clock, class _Duration>
|
169
|
-
unique_lock(ting::shared_lock<mutex_type>&&,
|
170
|
-
const chrono::time_point<_Clock, _Duration>&);
|
171
|
-
template <class _Rep, class _Period>
|
172
|
-
unique_lock(ting::shared_lock<mutex_type>&&,
|
173
|
-
const chrono::duration<_Rep, _Period>&);
|
174
|
-
|
175
|
-
explicit unique_lock(ting::upgrade_lock<mutex_type>&&);
|
176
|
-
unique_lock(ting::upgrade_lock<mutex_type>&&, try_to_lock_t);
|
177
|
-
template <class _Clock, class _Duration>
|
178
|
-
unique_lock(ting::upgrade_lock<mutex_type>&&,
|
179
|
-
const chrono::time_point<_Clock, _Duration>&);
|
180
|
-
template <class _Rep, class _Period>
|
181
|
-
unique_lock(ting::upgrade_lock<mutex_type>&&,
|
182
|
-
const chrono::duration<_Rep, _Period>&);
|
183
|
-
|
184
|
-
#endif // _LIBCPP_SHARED_LOCK
|
185
|
-
|
186
155
|
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
|
187
156
|
|
188
157
|
void lock();
|
@@ -285,7 +285,7 @@ __split_buffer<_Tp, _Allocator>::__construct_at_end(_ForwardIterator __first, _F
|
|
285
285
|
}
|
286
286
|
|
287
287
|
template <class _Tp, class _Allocator>
|
288
|
-
_LIBCPP_INLINE_VISIBILITY
|
288
|
+
inline _LIBCPP_INLINE_VISIBILITY
|
289
289
|
void
|
290
290
|
__split_buffer<_Tp, _Allocator>::__destruct_at_begin(pointer __new_begin, false_type)
|
291
291
|
{
|
@@ -294,7 +294,7 @@ __split_buffer<_Tp, _Allocator>::__destruct_at_begin(pointer __new_begin, false_
|
|
294
294
|
}
|
295
295
|
|
296
296
|
template <class _Tp, class _Allocator>
|
297
|
-
_LIBCPP_INLINE_VISIBILITY
|
297
|
+
inline _LIBCPP_INLINE_VISIBILITY
|
298
298
|
void
|
299
299
|
__split_buffer<_Tp, _Allocator>::__destruct_at_begin(pointer __new_begin, true_type)
|
300
300
|
{
|
@@ -302,7 +302,7 @@ __split_buffer<_Tp, _Allocator>::__destruct_at_begin(pointer __new_begin, true_t
|
|
302
302
|
}
|
303
303
|
|
304
304
|
template <class _Tp, class _Allocator>
|
305
|
-
_LIBCPP_INLINE_VISIBILITY
|
305
|
+
inline _LIBCPP_INLINE_VISIBILITY
|
306
306
|
void
|
307
307
|
__split_buffer<_Tp, _Allocator>::__destruct_at_end(pointer __new_last, false_type) _NOEXCEPT
|
308
308
|
{
|
@@ -311,7 +311,7 @@ __split_buffer<_Tp, _Allocator>::__destruct_at_end(pointer __new_last, false_typ
|
|
311
311
|
}
|
312
312
|
|
313
313
|
template <class _Tp, class _Allocator>
|
314
|
-
_LIBCPP_INLINE_VISIBILITY
|
314
|
+
inline _LIBCPP_INLINE_VISIBILITY
|
315
315
|
void
|
316
316
|
__split_buffer<_Tp, _Allocator>::__destruct_at_end(pointer __new_last, true_type) _NOEXCEPT
|
317
317
|
{
|
@@ -328,7 +328,7 @@ __split_buffer<_Tp, _Allocator>::__split_buffer(size_type __cap, size_type __sta
|
|
328
328
|
}
|
329
329
|
|
330
330
|
template <class _Tp, class _Allocator>
|
331
|
-
_LIBCPP_INLINE_VISIBILITY
|
331
|
+
inline _LIBCPP_INLINE_VISIBILITY
|
332
332
|
__split_buffer<_Tp, _Allocator>::__split_buffer()
|
333
333
|
_NOEXCEPT_(is_nothrow_default_constructible<allocator_type>::value)
|
334
334
|
: __first_(nullptr), __begin_(nullptr), __end_(nullptr), __end_cap_(nullptr)
|
@@ -336,14 +336,14 @@ __split_buffer<_Tp, _Allocator>::__split_buffer()
|
|
336
336
|
}
|
337
337
|
|
338
338
|
template <class _Tp, class _Allocator>
|
339
|
-
_LIBCPP_INLINE_VISIBILITY
|
339
|
+
inline _LIBCPP_INLINE_VISIBILITY
|
340
340
|
__split_buffer<_Tp, _Allocator>::__split_buffer(__alloc_rr& __a)
|
341
341
|
: __first_(nullptr), __begin_(nullptr), __end_(nullptr), __end_cap_(nullptr, __a)
|
342
342
|
{
|
343
343
|
}
|
344
344
|
|
345
345
|
template <class _Tp, class _Allocator>
|
346
|
-
_LIBCPP_INLINE_VISIBILITY
|
346
|
+
inline _LIBCPP_INLINE_VISIBILITY
|
347
347
|
__split_buffer<_Tp, _Allocator>::__split_buffer(const __alloc_rr& __a)
|
348
348
|
: __first_(nullptr), __begin_(nullptr), __end_(nullptr), __end_cap_(nullptr, __a)
|
349
349
|
{
|
@@ -541,7 +541,7 @@ __split_buffer<_Tp, _Allocator>::push_front(value_type&& __x)
|
|
541
541
|
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
|
542
542
|
|
543
543
|
template <class _Tp, class _Allocator>
|
544
|
-
_LIBCPP_INLINE_VISIBILITY
|
544
|
+
inline _LIBCPP_INLINE_VISIBILITY
|
545
545
|
void
|
546
546
|
__split_buffer<_Tp, _Allocator>::push_back(const_reference __x)
|
547
547
|
{
|
@@ -640,7 +640,7 @@ __split_buffer<_Tp, _Allocator>::emplace_back(_Args&&... __args)
|
|
640
640
|
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
|
641
641
|
|
642
642
|
template <class _Tp, class _Allocator>
|
643
|
-
_LIBCPP_INLINE_VISIBILITY
|
643
|
+
inline _LIBCPP_INLINE_VISIBILITY
|
644
644
|
void
|
645
645
|
swap(__split_buffer<_Tp, _Allocator>& __x, __split_buffer<_Tp, _Allocator>& __y)
|
646
646
|
_NOEXCEPT_(_NOEXCEPT_(__x.swap(__y)))
|
@@ -233,6 +233,7 @@ public:
|
|
233
233
|
|
234
234
|
protected:
|
235
235
|
virtual int_type overflow (int_type __c = traits_type::eof());
|
236
|
+
virtual streamsize xsputn(const char_type* __s, streamsize __n);
|
236
237
|
virtual int sync();
|
237
238
|
virtual void imbue(const locale& __loc);
|
238
239
|
|
@@ -308,6 +309,19 @@ __stdoutbuf<_CharT>::overflow(int_type __c)
|
|
308
309
|
return traits_type::not_eof(__c);
|
309
310
|
}
|
310
311
|
|
312
|
+
template <class _CharT>
|
313
|
+
streamsize
|
314
|
+
__stdoutbuf<_CharT>::xsputn(const char_type* __s, streamsize __n)
|
315
|
+
{
|
316
|
+
if (__always_noconv_)
|
317
|
+
return fwrite(__s, sizeof(char_type), __n, __file_);
|
318
|
+
streamsize __i = 0;
|
319
|
+
for (; __i < __n; ++__i, ++__s)
|
320
|
+
if (overflow(traits_type::to_int_type(*__s)) == traits_type::eof())
|
321
|
+
break;
|
322
|
+
return __i;
|
323
|
+
}
|
324
|
+
|
311
325
|
template <class _CharT>
|
312
326
|
int
|
313
327
|
__stdoutbuf<_CharT>::sync()
|
@@ -25,17 +25,17 @@ _LIBCPP_BEGIN_NAMESPACE_STD
|
|
25
25
|
|
26
26
|
template <class _Tp, class _Compare, class _Allocator> class __tree;
|
27
27
|
template <class _Tp, class _NodePtr, class _DiffType>
|
28
|
-
class
|
28
|
+
class _LIBCPP_TYPE_VIS_ONLY __tree_iterator;
|
29
29
|
template <class _Tp, class _ConstNodePtr, class _DiffType>
|
30
|
-
class
|
30
|
+
class _LIBCPP_TYPE_VIS_ONLY __tree_const_iterator;
|
31
31
|
template <class _Key, class _Tp, class _Compare, class _Allocator>
|
32
|
-
class
|
32
|
+
class _LIBCPP_TYPE_VIS_ONLY map;
|
33
33
|
template <class _Key, class _Tp, class _Compare, class _Allocator>
|
34
|
-
class
|
34
|
+
class _LIBCPP_TYPE_VIS_ONLY multimap;
|
35
35
|
template <class _Key, class _Compare, class _Allocator>
|
36
|
-
class
|
36
|
+
class _LIBCPP_TYPE_VIS_ONLY set;
|
37
37
|
template <class _Key, class _Compare, class _Allocator>
|
38
|
-
class
|
38
|
+
class _LIBCPP_TYPE_VIS_ONLY multiset;
|
39
39
|
|
40
40
|
/*
|
41
41
|
|
@@ -614,11 +614,11 @@ public:
|
|
614
614
|
#endif // !defined(_LIBCPP_HAS_NO_RVALUE_REFERENCES) && !defined(_LIBCPP_HAS_NO_VARIADICS)
|
615
615
|
};
|
616
616
|
|
617
|
-
template <class _TreeIterator> class
|
618
|
-
template <class _TreeIterator> class
|
617
|
+
template <class _TreeIterator> class _LIBCPP_TYPE_VIS_ONLY __map_iterator;
|
618
|
+
template <class _TreeIterator> class _LIBCPP_TYPE_VIS_ONLY __map_const_iterator;
|
619
619
|
|
620
620
|
template <class _Tp, class _NodePtr, class _DiffType>
|
621
|
-
class
|
621
|
+
class _LIBCPP_TYPE_VIS_ONLY __tree_iterator
|
622
622
|
{
|
623
623
|
typedef _NodePtr __node_pointer;
|
624
624
|
typedef typename pointer_traits<__node_pointer>::element_type __node;
|
@@ -641,7 +641,11 @@ public:
|
|
641
641
|
#endif
|
642
642
|
pointer;
|
643
643
|
|
644
|
-
_LIBCPP_INLINE_VISIBILITY __tree_iterator() _NOEXCEPT
|
644
|
+
_LIBCPP_INLINE_VISIBILITY __tree_iterator() _NOEXCEPT
|
645
|
+
#if _LIBCPP_STD_VER > 11
|
646
|
+
: __ptr_(nullptr)
|
647
|
+
#endif
|
648
|
+
{}
|
645
649
|
|
646
650
|
_LIBCPP_INLINE_VISIBILITY reference operator*() const {return __ptr_->__value_;}
|
647
651
|
_LIBCPP_INLINE_VISIBILITY pointer operator->() const
|
@@ -674,16 +678,16 @@ private:
|
|
674
678
|
_LIBCPP_INLINE_VISIBILITY
|
675
679
|
explicit __tree_iterator(__node_pointer __p) _NOEXCEPT : __ptr_(__p) {}
|
676
680
|
template <class, class, class> friend class __tree;
|
677
|
-
template <class, class, class> friend class
|
678
|
-
template <class> friend class
|
679
|
-
template <class, class, class, class> friend class
|
680
|
-
template <class, class, class, class> friend class
|
681
|
-
template <class, class, class> friend class
|
682
|
-
template <class, class, class> friend class
|
681
|
+
template <class, class, class> friend class _LIBCPP_TYPE_VIS_ONLY __tree_const_iterator;
|
682
|
+
template <class> friend class _LIBCPP_TYPE_VIS_ONLY __map_iterator;
|
683
|
+
template <class, class, class, class> friend class _LIBCPP_TYPE_VIS_ONLY map;
|
684
|
+
template <class, class, class, class> friend class _LIBCPP_TYPE_VIS_ONLY multimap;
|
685
|
+
template <class, class, class> friend class _LIBCPP_TYPE_VIS_ONLY set;
|
686
|
+
template <class, class, class> friend class _LIBCPP_TYPE_VIS_ONLY multiset;
|
683
687
|
};
|
684
688
|
|
685
689
|
template <class _Tp, class _ConstNodePtr, class _DiffType>
|
686
|
-
class
|
690
|
+
class _LIBCPP_TYPE_VIS_ONLY __tree_const_iterator
|
687
691
|
{
|
688
692
|
typedef _ConstNodePtr __node_pointer;
|
689
693
|
typedef typename pointer_traits<__node_pointer>::element_type __node;
|
@@ -712,7 +716,12 @@ public:
|
|
712
716
|
#endif
|
713
717
|
pointer;
|
714
718
|
|
715
|
-
_LIBCPP_INLINE_VISIBILITY __tree_const_iterator()
|
719
|
+
_LIBCPP_INLINE_VISIBILITY __tree_const_iterator() _NOEXCEPT
|
720
|
+
#if _LIBCPP_STD_VER > 11
|
721
|
+
: __ptr_(nullptr)
|
722
|
+
#endif
|
723
|
+
{}
|
724
|
+
|
716
725
|
private:
|
717
726
|
typedef typename remove_const<__node>::type __non_const_node;
|
718
727
|
typedef typename pointer_traits<__node_pointer>::template
|
@@ -761,11 +770,11 @@ private:
|
|
761
770
|
explicit __tree_const_iterator(__node_pointer __p) _NOEXCEPT
|
762
771
|
: __ptr_(__p) {}
|
763
772
|
template <class, class, class> friend class __tree;
|
764
|
-
template <class, class, class, class> friend class
|
765
|
-
template <class, class, class, class> friend class
|
766
|
-
template <class, class, class> friend class
|
767
|
-
template <class, class, class> friend class
|
768
|
-
template <class> friend class
|
773
|
+
template <class, class, class, class> friend class _LIBCPP_TYPE_VIS_ONLY map;
|
774
|
+
template <class, class, class, class> friend class _LIBCPP_TYPE_VIS_ONLY multimap;
|
775
|
+
template <class, class, class> friend class _LIBCPP_TYPE_VIS_ONLY set;
|
776
|
+
template <class, class, class> friend class _LIBCPP_TYPE_VIS_ONLY multiset;
|
777
|
+
template <class> friend class _LIBCPP_TYPE_VIS_ONLY __map_const_iterator;
|
769
778
|
};
|
770
779
|
|
771
780
|
template <class _Tp, class _Compare, class _Allocator>
|
@@ -1107,8 +1116,8 @@ private:
|
|
1107
1116
|
__node_pointer __detach();
|
1108
1117
|
static __node_pointer __detach(__node_pointer);
|
1109
1118
|
|
1110
|
-
template <class, class, class, class> friend class
|
1111
|
-
template <class, class, class, class> friend class
|
1119
|
+
template <class, class, class, class> friend class _LIBCPP_TYPE_VIS_ONLY map;
|
1120
|
+
template <class, class, class, class> friend class _LIBCPP_TYPE_VIS_ONLY multimap;
|
1112
1121
|
};
|
1113
1122
|
|
1114
1123
|
template <class _Tp, class _Compare, class _Allocator>
|
@@ -1845,7 +1854,7 @@ __tree<_Tp, _Compare, _Allocator>::__construct_node(const value_type& __v)
|
|
1845
1854
|
__node_holder __h(__node_traits::allocate(__na, 1), _Dp(__na));
|
1846
1855
|
__node_traits::construct(__na, _VSTD::addressof(__h->__value_), __v);
|
1847
1856
|
__h.get_deleter().__value_constructed = true;
|
1848
|
-
return _VSTD::move(__h);
|
1857
|
+
return _VSTD::move(__h); // explicitly moved for C++03
|
1849
1858
|
}
|
1850
1859
|
|
1851
1860
|
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
|
@@ -27,46 +27,46 @@
|
|
27
27
|
|
28
28
|
_LIBCPP_BEGIN_NAMESPACE_STD
|
29
29
|
|
30
|
-
template <class _Tp> class
|
30
|
+
template <class _Tp> class _LIBCPP_TYPE_VIS_ONLY tuple_size;
|
31
31
|
|
32
32
|
template <class _Tp>
|
33
|
-
class
|
33
|
+
class _LIBCPP_TYPE_VIS_ONLY tuple_size<const _Tp>
|
34
34
|
: public tuple_size<_Tp> {};
|
35
35
|
|
36
36
|
template <class _Tp>
|
37
|
-
class
|
37
|
+
class _LIBCPP_TYPE_VIS_ONLY tuple_size<volatile _Tp>
|
38
38
|
: public tuple_size<_Tp> {};
|
39
39
|
|
40
40
|
template <class _Tp>
|
41
|
-
class
|
41
|
+
class _LIBCPP_TYPE_VIS_ONLY tuple_size<const volatile _Tp>
|
42
42
|
: public tuple_size<_Tp> {};
|
43
43
|
|
44
|
-
template <size_t _Ip, class _Tp> class
|
44
|
+
template <size_t _Ip, class _Tp> class _LIBCPP_TYPE_VIS_ONLY tuple_element;
|
45
45
|
|
46
46
|
template <size_t _Ip, class _Tp>
|
47
|
-
class
|
47
|
+
class _LIBCPP_TYPE_VIS_ONLY tuple_element<_Ip, const _Tp>
|
48
48
|
{
|
49
49
|
public:
|
50
50
|
typedef typename add_const<typename tuple_element<_Ip, _Tp>::type>::type type;
|
51
51
|
};
|
52
52
|
|
53
53
|
template <size_t _Ip, class _Tp>
|
54
|
-
class
|
54
|
+
class _LIBCPP_TYPE_VIS_ONLY tuple_element<_Ip, volatile _Tp>
|
55
55
|
{
|
56
56
|
public:
|
57
57
|
typedef typename add_volatile<typename tuple_element<_Ip, _Tp>::type>::type type;
|
58
58
|
};
|
59
59
|
|
60
60
|
template <size_t _Ip, class _Tp>
|
61
|
-
class
|
61
|
+
class _LIBCPP_TYPE_VIS_ONLY tuple_element<_Ip, const volatile _Tp>
|
62
62
|
{
|
63
63
|
public:
|
64
64
|
typedef typename add_cv<typename tuple_element<_Ip, _Tp>::type>::type type;
|
65
65
|
};
|
66
66
|
|
67
|
-
template <class ..._Tp> class
|
68
|
-
template <class _T1, class _T2> struct
|
69
|
-
template <class _Tp, size_t _Size> struct
|
67
|
+
template <class ..._Tp> class _LIBCPP_TYPE_VIS_ONLY tuple;
|
68
|
+
template <class _T1, class _T2> struct _LIBCPP_TYPE_VIS_ONLY pair;
|
69
|
+
template <class _Tp, size_t _Size> struct _LIBCPP_TYPE_VIS_ONLY array;
|
70
70
|
|
71
71
|
template <class _Tp> struct __tuple_like : false_type {};
|
72
72
|
|
@@ -154,7 +154,7 @@ struct __make_tuple_indices
|
|
154
154
|
template <class ..._Tp> struct __tuple_types {};
|
155
155
|
|
156
156
|
template <size_t _Ip>
|
157
|
-
class
|
157
|
+
class _LIBCPP_TYPE_VIS_ONLY tuple_element<_Ip, __tuple_types<> >
|
158
158
|
{
|
159
159
|
public:
|
160
160
|
static_assert(_Ip == 0, "tuple_element index out of range");
|
@@ -162,21 +162,21 @@ public:
|
|
162
162
|
};
|
163
163
|
|
164
164
|
template <class _Hp, class ..._Tp>
|
165
|
-
class
|
165
|
+
class _LIBCPP_TYPE_VIS_ONLY tuple_element<0, __tuple_types<_Hp, _Tp...> >
|
166
166
|
{
|
167
167
|
public:
|
168
168
|
typedef _Hp type;
|
169
169
|
};
|
170
170
|
|
171
171
|
template <size_t _Ip, class _Hp, class ..._Tp>
|
172
|
-
class
|
172
|
+
class _LIBCPP_TYPE_VIS_ONLY tuple_element<_Ip, __tuple_types<_Hp, _Tp...> >
|
173
173
|
{
|
174
174
|
public:
|
175
175
|
typedef typename tuple_element<_Ip-1, __tuple_types<_Tp...> >::type type;
|
176
176
|
};
|
177
177
|
|
178
178
|
template <class ..._Tp>
|
179
|
-
class
|
179
|
+
class _LIBCPP_TYPE_VIS_ONLY tuple_size<__tuple_types<_Tp...> >
|
180
180
|
: public integral_constant<size_t, sizeof...(_Tp)>
|
181
181
|
{
|
182
182
|
};
|
@@ -19,8 +19,8 @@
|
|
19
19
|
|
20
20
|
_LIBCPP_BEGIN_NAMESPACE_STD
|
21
21
|
|
22
|
-
template <class _Tp> class
|
23
|
-
template <size_t _Ip, class _Tp> class
|
22
|
+
template <class _Tp> class _LIBCPP_TYPE_VIS_ONLY tuple_size;
|
23
|
+
template <size_t _Ip, class _Tp> class _LIBCPP_TYPE_VIS_ONLY tuple_element;
|
24
24
|
|
25
25
|
_LIBCPP_END_NAMESPACE_STD
|
26
26
|
|
@@ -9,11 +9,19 @@
|
|
9
9
|
//===----------------------------------------------------------------------===//
|
10
10
|
|
11
11
|
#ifdef min
|
12
|
+
#if defined(_MSC_VER) && ! defined(__clang__)
|
13
|
+
_LIBCPP_WARNING("macro min is incompatible with C++. #undefing min")
|
14
|
+
#else
|
12
15
|
#warning: macro min is incompatible with C++. #undefing min
|
16
|
+
#endif
|
13
17
|
#undef min
|
14
18
|
#endif
|
15
19
|
|
16
20
|
#ifdef max
|
21
|
+
#if defined(_MSC_VER) && ! defined(__clang__)
|
22
|
+
_LIBCPP_WARNING("macro max is incompatible with C++. #undefing max")
|
23
|
+
#else
|
17
24
|
#warning: macro max is incompatible with C++. #undefing max
|
25
|
+
#endif
|
18
26
|
#undef max
|
19
27
|
#endif
|