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