webruby 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/webruby/rake/mruby.rake +1 -0
- data/modules/emscripten/AUTHORS +7 -0
- data/modules/emscripten/LICENSE +26 -0
- data/modules/emscripten/emcc +58 -20
- data/modules/emscripten/emlink.py +2 -265
- data/modules/emscripten/emscripten.py +38 -18
- data/modules/emscripten/scons-tools/emscripten.py +11 -6
- data/modules/emscripten/scons-tools/llvm.py +4 -3
- data/modules/emscripten/src/analyzer.js +32 -13
- data/modules/emscripten/src/embind/embind.js +13 -13
- data/modules/emscripten/src/embind/emval.js +8 -7
- data/modules/emscripten/src/intertyper.js +10 -0
- data/modules/emscripten/src/jsifier.js +28 -6
- data/modules/emscripten/src/library.js +2949 -1322
- data/modules/emscripten/src/library_browser.js +27 -23
- data/modules/emscripten/src/library_egl.js +7 -2
- data/modules/emscripten/src/library_gl.js +15 -2
- data/modules/emscripten/src/library_glut.js +1 -1
- data/modules/emscripten/src/library_jansson.js +1 -1
- data/modules/emscripten/src/library_openal.js +464 -132
- data/modules/emscripten/src/library_path.js +134 -0
- data/modules/emscripten/src/library_sdl.js +222 -50
- data/modules/emscripten/src/modules.js +22 -5
- data/modules/emscripten/src/parseTools.js +13 -2
- data/modules/emscripten/src/postamble.js +60 -34
- data/modules/emscripten/src/preamble.js +67 -18
- data/modules/emscripten/src/relooper/Relooper.cpp +1 -1
- data/modules/emscripten/src/runtime.js +12 -2
- data/modules/emscripten/src/settings.js +869 -826
- data/modules/emscripten/src/shell.js +63 -51
- data/modules/emscripten/src/utility.js +6 -0
- data/modules/emscripten/system/include/bsd/sys/mman.h +1 -1
- data/modules/emscripten/system/include/emscripten/bind.h +28 -28
- data/modules/emscripten/system/include/libc/math.h +8 -0
- data/modules/emscripten/system/include/libc/sys/signal.h +3 -1
- data/modules/emscripten/system/include/libc/sys/stat.h +2 -1
- data/modules/emscripten/system/include/libc/sys/types.h +4 -0
- data/modules/emscripten/system/include/libcxx/CREDITS.TXT +24 -0
- data/modules/emscripten/system/include/libcxx/__bit_reference +27 -8
- data/modules/emscripten/system/include/libcxx/__config +62 -15
- data/modules/emscripten/system/include/libcxx/__debug +5 -1
- data/modules/emscripten/system/include/libcxx/__functional_03 +24 -24
- data/modules/emscripten/system/include/libcxx/__functional_base +22 -4
- data/modules/emscripten/system/include/libcxx/__hash_table +566 -54
- data/modules/emscripten/system/include/libcxx/__locale +11 -3
- data/modules/emscripten/system/include/libcxx/__split_buffer +6 -6
- data/modules/emscripten/system/include/libcxx/__std_stream +58 -30
- data/modules/emscripten/system/include/libcxx/__tree +58 -51
- data/modules/emscripten/system/include/libcxx/__tuple +9 -9
- data/modules/emscripten/system/include/libcxx/algorithm +223 -13
- data/modules/emscripten/system/include/libcxx/array +18 -17
- data/modules/emscripten/system/include/libcxx/atomic +15 -5
- data/modules/emscripten/system/include/libcxx/cctype +2 -2
- data/modules/emscripten/system/include/libcxx/chrono +131 -36
- data/modules/emscripten/system/include/libcxx/cmath +41 -36
- data/modules/emscripten/system/include/libcxx/complex +49 -49
- data/modules/emscripten/system/include/libcxx/cstdio +2 -2
- data/modules/emscripten/system/include/libcxx/cstdlib +5 -5
- data/modules/emscripten/system/include/libcxx/cstring +2 -2
- data/modules/emscripten/system/include/libcxx/cwchar +22 -13
- data/modules/emscripten/system/include/libcxx/deque +27 -14
- data/modules/emscripten/system/include/libcxx/forward_list +36 -35
- data/modules/emscripten/system/include/libcxx/fstream +16 -0
- data/modules/emscripten/system/include/libcxx/functional +348 -23
- data/modules/emscripten/system/include/libcxx/future +66 -0
- data/modules/emscripten/system/include/libcxx/ios +27 -0
- data/modules/emscripten/system/include/libcxx/istream +2 -4
- data/modules/emscripten/system/include/libcxx/iterator +17 -9
- data/modules/emscripten/system/include/libcxx/limits +2 -2
- data/modules/emscripten/system/include/libcxx/list +165 -105
- data/modules/emscripten/system/include/libcxx/locale +154 -43
- data/modules/emscripten/system/include/libcxx/map +165 -224
- data/modules/emscripten/system/include/libcxx/memory +113 -54
- data/modules/emscripten/system/include/libcxx/random +2 -29
- data/modules/emscripten/system/include/libcxx/readme.txt +1 -1
- data/modules/emscripten/system/include/libcxx/regex +60 -15
- data/modules/emscripten/system/include/libcxx/sstream +124 -40
- data/modules/emscripten/system/include/libcxx/string +345 -182
- data/modules/emscripten/system/include/libcxx/support/win32/limits_win32.h +3 -3
- data/modules/emscripten/system/include/libcxx/support/win32/locale_win32.h +15 -2
- data/modules/emscripten/system/include/libcxx/support/win32/math_win32.h +3 -3
- data/modules/emscripten/system/include/libcxx/support/win32/support.h +10 -11
- data/modules/emscripten/system/include/libcxx/thread +2 -2
- data/modules/emscripten/system/include/libcxx/tuple +134 -65
- data/modules/emscripten/system/include/libcxx/type_traits +232 -24
- data/modules/emscripten/system/include/libcxx/unordered_map +314 -161
- data/modules/emscripten/system/include/libcxx/unordered_set +160 -2
- data/modules/emscripten/system/include/libcxx/utility +225 -40
- data/modules/emscripten/system/include/libcxx/vector +52 -57
- data/modules/emscripten/system/include/net/if.h +20 -1
- data/modules/emscripten/system/include/net/netinet/in.h +69 -5
- data/modules/emscripten/system/include/netdb.h +36 -0
- data/modules/emscripten/system/include/sys/ioctl.h +55 -3
- data/modules/emscripten/system/include/sys/select.h +2 -0
- data/modules/emscripten/system/include/sys/sendfile.h +16 -0
- data/modules/emscripten/system/include/sys/socket.h +181 -35
- data/modules/emscripten/system/lib/dlmalloc.c +10 -12
- data/modules/emscripten/system/lib/libc/musl/src/stdlib/ecvt.c +19 -0
- data/modules/emscripten/system/lib/libc/musl/src/stdlib/fcvt.c +25 -0
- data/modules/emscripten/system/lib/libc/musl/src/stdlib/gcvt.c +8 -0
- data/modules/emscripten/system/lib/libcextra.symbols +3 -0
- data/modules/emscripten/system/lib/libcxx/CREDITS.TXT +24 -0
- data/modules/emscripten/system/lib/libcxx/debug.cpp +11 -9
- data/modules/emscripten/system/lib/libcxx/exception.cpp +9 -0
- data/modules/emscripten/system/lib/libcxx/hash.cpp +6 -0
- data/modules/emscripten/system/lib/libcxx/iostream.cpp +4 -4
- data/modules/emscripten/system/lib/libcxx/locale.cpp +91 -42
- data/modules/emscripten/system/lib/libcxx/readme.txt +1 -1
- data/modules/emscripten/system/lib/libcxx/stdexcept.cpp +1 -1
- data/modules/emscripten/system/lib/libcxx/string.cpp +332 -491
- data/modules/emscripten/system/lib/libcxx/support/win32/locale_win32.cpp +4 -2
- data/modules/emscripten/system/lib/libcxx/support/win32/support.cpp +140 -41
- data/modules/emscripten/system/lib/libcxx/symbols +9 -256
- data/modules/emscripten/system/lib/libcxx/system_error.cpp +3 -0
- data/modules/emscripten/system/lib/libcxx/thread.cpp +16 -3
- data/modules/emscripten/system/lib/libcxx/typeinfo.cpp +12 -2
- data/modules/emscripten/third_party/stb_image.c +4673 -0
- data/modules/emscripten/tools/asm_module.py +273 -0
- data/modules/emscripten/tools/exec_llvm.py +2 -2
- data/modules/emscripten/tools/file_packager.py +36 -16
- data/modules/emscripten/tools/find_bigfuncs.py +9 -9
- data/modules/emscripten/tools/js-optimizer.js +485 -131
- data/modules/emscripten/tools/js_optimizer.py +22 -15
- data/modules/emscripten/tools/merge_asm.py +26 -0
- data/modules/emscripten/tools/nativize_llvm.py +2 -2
- data/modules/emscripten/tools/settings_template_readonly.py +1 -1
- data/modules/emscripten/tools/shared.py +63 -20
- data/modules/emscripten/tools/split_asm.py +30 -0
- data/modules/emscripten/tools/test-js-optimizer-asm-outline1-output.js +686 -0
- data/modules/emscripten/tools/test-js-optimizer-asm-outline1.js +263 -0
- data/modules/emscripten/tools/test-js-optimizer-asm-outline2-output.js +747 -0
- data/modules/emscripten/tools/{test-js-optimizer-asm-outline.js → test-js-optimizer-asm-outline2.js} +1 -1
- data/modules/emscripten/tools/test-js-optimizer-asm-outline3-output.js +28 -0
- data/modules/emscripten/tools/test-js-optimizer-asm-outline3.js +30 -0
- data/modules/emscripten/tools/test-js-optimizer-asm-pre-output.js +4 -4
- data/modules/mruby/AUTHORS +1 -0
- data/modules/mruby/README.md +4 -2
- data/modules/mruby/build_config.rb +6 -6
- data/modules/mruby/doc/mrbgems/README.md +4 -4
- data/modules/mruby/examples/mrbgems/c_and_ruby_extension_example/mrbgem.rake +1 -1
- data/modules/mruby/examples/mrbgems/c_extension_example/mrbgem.rake +1 -1
- data/modules/mruby/examples/mrbgems/ruby_extension_example/mrbgem.rake +1 -1
- data/modules/mruby/include/mrbconf.h +3 -0
- data/modules/mruby/include/mruby/array.h +2 -2
- data/modules/mruby/include/mruby/class.h +4 -4
- data/modules/mruby/include/mruby/compile.h +1 -0
- data/modules/mruby/include/mruby/data.h +1 -1
- data/modules/mruby/include/mruby/hash.h +2 -2
- data/modules/mruby/include/mruby/irep.h +3 -2
- data/modules/mruby/include/mruby/proc.h +1 -1
- data/modules/mruby/include/mruby/range.h +1 -1
- data/modules/mruby/include/mruby/string.h +2 -2
- data/modules/mruby/include/mruby/value.h +43 -26
- data/modules/mruby/include/mruby.h +10 -2
- data/modules/mruby/minirake +2 -2
- data/modules/mruby/mrbgems/mruby-array-ext/mrbgem.rake +1 -1
- data/modules/mruby/mrbgems/mruby-bin-mirb/mrbgem.rake +4 -1
- data/modules/mruby/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +32 -0
- data/modules/mruby/mrbgems/mruby-bin-mruby/mrbgem.rake +1 -1
- data/modules/mruby/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c +13 -5
- data/modules/mruby/mrbgems/mruby-enum-ext/mrbgem.rake +1 -1
- data/modules/mruby/mrbgems/mruby-enum-ext/test/enum.rb +10 -11
- data/modules/mruby/mrbgems/mruby-eval/mrbgem.rake +1 -1
- data/modules/mruby/mrbgems/mruby-exit/mrbgem.rake +4 -0
- data/modules/mruby/mrbgems/mruby-exit/src/mruby-exit.c +24 -0
- data/modules/mruby/mrbgems/mruby-fiber/mrbgem.rake +1 -1
- data/modules/mruby/mrbgems/mruby-fiber/src/fiber.c +4 -2
- data/modules/mruby/mrbgems/mruby-hash-ext/mrbgem.rake +1 -1
- data/modules/mruby/mrbgems/mruby-hash-ext/test/hash.rb +5 -7
- data/modules/mruby/mrbgems/mruby-math/mrbgem.rake +1 -1
- data/modules/mruby/mrbgems/mruby-numeric-ext/mrbgem.rake +1 -1
- data/modules/mruby/mrbgems/mruby-numeric-ext/test/numeric.rb +2 -2
- data/modules/mruby/mrbgems/mruby-object-ext/mrbgem.rake +1 -1
- data/modules/mruby/mrbgems/mruby-object-ext/src/object.c +3 -3
- data/modules/mruby/mrbgems/mruby-object-ext/test/nil.rb +3 -3
- data/modules/mruby/mrbgems/mruby-object-ext/test/object.rb +1 -1
- data/modules/mruby/mrbgems/mruby-objectspace/mrbgem.rake +1 -1
- data/modules/mruby/mrbgems/mruby-objectspace/test/objectspace.rb +36 -37
- data/modules/mruby/mrbgems/mruby-print/mrbgem.rake +1 -1
- data/modules/mruby/mrbgems/mruby-proc-ext/mrbgem.rake +1 -1
- data/modules/mruby/mrbgems/mruby-proc-ext/test/proc.rb +8 -8
- data/modules/mruby/mrbgems/mruby-random/mrbgem.rake +1 -1
- data/modules/mruby/mrbgems/mruby-range-ext/mrbgem.rake +1 -1
- data/modules/mruby/mrbgems/mruby-range-ext/test/range.rb +6 -6
- data/modules/mruby/mrbgems/mruby-sprintf/mrbgem.rake +1 -1
- data/modules/mruby/mrbgems/mruby-string-ext/mrbgem.rake +1 -1
- data/modules/mruby/mrbgems/mruby-string-ext/test/string.rb +6 -6
- data/modules/mruby/mrbgems/mruby-struct/mrbgem.rake +1 -1
- data/modules/mruby/mrbgems/mruby-symbol-ext/mrbgem.rake +1 -1
- data/modules/mruby/mrbgems/mruby-symbol-ext/test/symbol.rb +2 -2
- data/modules/mruby/mrbgems/mruby-time/mrbgem.rake +1 -1
- data/modules/mruby/mrbgems/mruby-time/src/time.c +2 -8
- data/modules/mruby/mrbgems/mruby-toplevel-ext/mrbgem.rake +1 -1
- data/modules/mruby/mrbgems/mruby-toplevel-ext/test/toplevel.rb +10 -10
- data/modules/mruby/mrblib/class.rb +15 -9
- data/modules/mruby/mrblib/string.rb +12 -0
- data/modules/mruby/src/array.c +4 -3
- data/modules/mruby/src/class.c +13 -8
- data/modules/mruby/src/codegen.c +9 -8
- data/modules/mruby/src/error.c +7 -5
- data/modules/mruby/src/error.h +1 -0
- data/modules/mruby/src/etc.c +1 -1
- data/modules/mruby/src/gc.c +163 -128
- data/modules/mruby/src/kernel.c +43 -15
- data/modules/mruby/src/numeric.c +9 -7
- data/modules/mruby/src/object.c +1 -1
- data/modules/mruby/src/parse.y +37 -19
- data/modules/mruby/src/range.c +10 -24
- data/modules/mruby/src/state.c +2 -6
- data/modules/mruby/src/string.c +0 -9
- data/modules/mruby/src/variable.c +2 -2
- data/modules/mruby/src/vm.c +12 -6
- data/modules/mruby/tasks/mrbgem_spec.rake +7 -0
- data/modules/mruby/tasks/mrbgems.rake +2 -1
- data/modules/mruby/tasks/mrbgems_test.rake +1 -1
- data/modules/mruby/tasks/mruby_build.rake +4 -3
- data/modules/mruby/tasks/mruby_build_commands.rake +6 -1
- data/modules/mruby/tasks/mruby_build_gem.rake +2 -2
- data/modules/mruby/tasks/toolchains/androideabi.rake +2 -0
- data/modules/mruby/test/assert.rb +2 -2
- data/modules/mruby/test/t/argumenterror.rb +3 -3
- data/modules/mruby/test/t/array.rb +55 -55
- data/modules/mruby/test/t/basicobject.rb +1 -1
- data/modules/mruby/test/t/bs_block.rb +12 -12
- data/modules/mruby/test/t/class.rb +21 -21
- data/modules/mruby/test/t/enumerable.rb +18 -18
- data/modules/mruby/test/t/exception.rb +20 -20
- data/modules/mruby/test/t/false.rb +3 -3
- data/modules/mruby/test/t/float.rb +40 -40
- data/modules/mruby/test/t/gc.rb +10 -10
- data/modules/mruby/test/t/hash.rb +41 -41
- data/modules/mruby/test/t/indexerror.rb +2 -2
- data/modules/mruby/test/t/integer.rb +41 -41
- data/modules/mruby/test/t/kernel.rb +33 -33
- data/modules/mruby/test/t/literals.rb +82 -82
- data/modules/mruby/test/t/localjumperror.rb +1 -1
- data/modules/mruby/test/t/module.rb +170 -31
- data/modules/mruby/test/t/nameerror.rb +5 -5
- data/modules/mruby/test/t/nil.rb +2 -2
- data/modules/mruby/test/t/nomethoderror.rb +1 -1
- data/modules/mruby/test/t/numeric.rb +5 -5
- data/modules/mruby/test/t/object.rb +2 -2
- data/modules/mruby/test/t/proc.rb +8 -8
- data/modules/mruby/test/t/range.rb +9 -9
- data/modules/mruby/test/t/rangeerror.rb +2 -2
- data/modules/mruby/test/t/runtimeerror.rb +1 -1
- data/modules/mruby/test/t/standarderror.rb +2 -2
- data/modules/mruby/test/t/string.rb +100 -100
- data/modules/mruby/test/t/symbol.rb +5 -5
- data/modules/mruby/test/t/syntax.rb +15 -6
- data/modules/mruby/test/t/true.rb +3 -3
- data/modules/mruby/test/t/typeerror.rb +2 -2
- data/modules/mruby/tools/mrbc/mrbc.c +10 -4
- data/modules/mruby/travis_config.rb +1 -0
- data/scripts/gen_gems_config.rb +5 -1
- metadata +19 -4
- data/modules/emscripten/tools/test-js-optimizer-asm-outline-output.js +0 -570
@@ -186,11 +186,11 @@ template <class charT> class messages_byname;
|
|
186
186
|
#endif
|
187
187
|
#include <cstdlib>
|
188
188
|
#include <ctime>
|
189
|
-
#ifdef
|
189
|
+
#ifdef _LIBCPP_MSVCRT
|
190
190
|
#include <support/win32/locale_win32.h>
|
191
|
-
#else //
|
191
|
+
#else // _LIBCPP_MSVCRT
|
192
192
|
#include <nl_types.h>
|
193
|
-
#endif // !
|
193
|
+
#endif // !_LIBCPP_MSVCRT
|
194
194
|
|
195
195
|
#ifdef __APPLE__
|
196
196
|
#include <Availability.h>
|
@@ -206,6 +206,8 @@ _LIBCPP_BEGIN_NAMESPACE_STD
|
|
206
206
|
|
207
207
|
#if defined(__APPLE__) || defined(__FreeBSD__)
|
208
208
|
# define _LIBCPP_GET_C_LOCALE 0
|
209
|
+
#elif defined(__NetBSD__)
|
210
|
+
# define _LIBCPP_GET_C_LOCALE LC_C_LOCALE
|
209
211
|
#else
|
210
212
|
# define _LIBCPP_GET_C_LOCALE __cloc()
|
211
213
|
// Get the C locale object
|
@@ -354,20 +356,6 @@ size_t __mbsrtowcs_l(wchar_t *__dest, const char **__src, size_t __len,
|
|
354
356
|
#endif
|
355
357
|
}
|
356
358
|
|
357
|
-
inline
|
358
|
-
int __sprintf_l(char *__s, locale_t __l, const char *__format, ...) {
|
359
|
-
va_list __va;
|
360
|
-
va_start(__va, __format);
|
361
|
-
#ifdef _LIBCPP_LOCALE__L_EXTENSIONS
|
362
|
-
int __res = vsprintf_l(__s, __l, __format, __va);
|
363
|
-
#else
|
364
|
-
__locale_raii __current(uselocale(__l), uselocale);
|
365
|
-
int __res = vsprintf(__s, __format, __va);
|
366
|
-
#endif
|
367
|
-
va_end(__va);
|
368
|
-
return __res;
|
369
|
-
}
|
370
|
-
|
371
359
|
inline
|
372
360
|
int __snprintf_l(char *__s, size_t __n, locale_t __l, const char *__format, ...) {
|
373
361
|
va_list __va;
|
@@ -634,8 +622,7 @@ __num_get<_CharT>::__stage2_int_loop(_CharT __ct, int __base, char* __a, char*&
|
|
634
622
|
}
|
635
623
|
return -1;
|
636
624
|
}
|
637
|
-
|
638
|
-
*__a_end++ = __src[__f];
|
625
|
+
*__a_end++ = __src[__f];
|
639
626
|
++__dc;
|
640
627
|
return 0;
|
641
628
|
}
|
@@ -646,8 +633,6 @@ __num_get<_CharT>::__stage2_float_loop(_CharT __ct, bool& __in_units, char& __ex
|
|
646
633
|
_CharT __decimal_point, _CharT __thousands_sep, const string& __grouping,
|
647
634
|
unsigned* __g, unsigned*& __g_end, unsigned& __dc, _CharT* __atoms)
|
648
635
|
{
|
649
|
-
if (__a_end-__a >= __num_get_buf_sz - 1)
|
650
|
-
return -1;
|
651
636
|
if (__ct == __decimal_point)
|
652
637
|
{
|
653
638
|
if (!__in_units)
|
@@ -694,8 +679,7 @@ __num_get<_CharT>::__stage2_float_loop(_CharT __ct, bool& __in_units, char& __ex
|
|
694
679
|
*__g_end++ = __dc;
|
695
680
|
}
|
696
681
|
}
|
697
|
-
|
698
|
-
*__a_end++ = __x;
|
682
|
+
*__a_end++ = __x;
|
699
683
|
if (__f >= 22)
|
700
684
|
return 0;
|
701
685
|
++__dc;
|
@@ -906,13 +890,20 @@ __num_get_float(const char* __a, const char* __a_end, ios_base::iostate& __err)
|
|
906
890
|
{
|
907
891
|
if (__a != __a_end)
|
908
892
|
{
|
893
|
+
typename remove_reference<decltype(errno)>::type __save_errno = errno;
|
894
|
+
errno = 0;
|
909
895
|
char *__p2;
|
910
896
|
long double __ld = strtold_l(__a, &__p2, _LIBCPP_GET_C_LOCALE);
|
897
|
+
typename remove_reference<decltype(errno)>::type __current_errno = errno;
|
898
|
+
if (__current_errno == 0)
|
899
|
+
errno = __save_errno;
|
911
900
|
if (__p2 != __a_end)
|
912
901
|
{
|
913
902
|
__err = ios_base::failbit;
|
914
903
|
return 0;
|
915
904
|
}
|
905
|
+
else if (__current_errno == ERANGE)
|
906
|
+
__err = ios_base::failbit;
|
916
907
|
return static_cast<_Tp>(__ld);
|
917
908
|
}
|
918
909
|
__err = ios_base::failbit;
|
@@ -968,16 +959,28 @@ num_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
|
|
968
959
|
char_type __atoms[26];
|
969
960
|
char_type __thousands_sep;
|
970
961
|
string __grouping = this->__stage2_int_prep(__iob, __atoms, __thousands_sep);
|
971
|
-
|
962
|
+
string __buf;
|
963
|
+
__buf.resize(__buf.capacity());
|
964
|
+
char* __a = &__buf[0];
|
972
965
|
char* __a_end = __a;
|
973
966
|
unsigned __g[__num_get_base::__num_get_buf_sz];
|
974
967
|
unsigned* __g_end = __g;
|
975
968
|
unsigned __dc = 0;
|
976
969
|
for (; __b != __e; ++__b)
|
970
|
+
{
|
971
|
+
if (__a_end - __a == __buf.size())
|
972
|
+
{
|
973
|
+
size_t __tmp = __buf.size();
|
974
|
+
__buf.resize(2*__buf.size());
|
975
|
+
__buf.resize(__buf.capacity());
|
976
|
+
__a = &__buf[0];
|
977
|
+
__a_end = __a + __tmp;
|
978
|
+
}
|
977
979
|
if (this->__stage2_int_loop(*__b, __base, __a, __a_end, __dc,
|
978
980
|
__thousands_sep, __grouping, __g, __g_end,
|
979
981
|
__atoms))
|
980
982
|
break;
|
983
|
+
}
|
981
984
|
if (__grouping.size() != 0 && __g_end-__g < __num_get_base::__num_get_buf_sz)
|
982
985
|
*__g_end++ = __dc;
|
983
986
|
// Stage 3
|
@@ -1003,16 +1006,28 @@ num_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
|
|
1003
1006
|
char_type __atoms[26];
|
1004
1007
|
char_type __thousands_sep;
|
1005
1008
|
string __grouping = this->__stage2_int_prep(__iob, __atoms, __thousands_sep);
|
1006
|
-
|
1009
|
+
string __buf;
|
1010
|
+
__buf.resize(__buf.capacity());
|
1011
|
+
char* __a = &__buf[0];
|
1007
1012
|
char* __a_end = __a;
|
1008
1013
|
unsigned __g[__num_get_base::__num_get_buf_sz];
|
1009
1014
|
unsigned* __g_end = __g;
|
1010
1015
|
unsigned __dc = 0;
|
1011
1016
|
for (; __b != __e; ++__b)
|
1017
|
+
{
|
1018
|
+
if (__a_end - __a == __buf.size())
|
1019
|
+
{
|
1020
|
+
size_t __tmp = __buf.size();
|
1021
|
+
__buf.resize(2*__buf.size());
|
1022
|
+
__buf.resize(__buf.capacity());
|
1023
|
+
__a = &__buf[0];
|
1024
|
+
__a_end = __a + __tmp;
|
1025
|
+
}
|
1012
1026
|
if (this->__stage2_int_loop(*__b, __base, __a, __a_end, __dc,
|
1013
1027
|
__thousands_sep, __grouping, __g, __g_end,
|
1014
1028
|
__atoms))
|
1015
1029
|
break;
|
1030
|
+
}
|
1016
1031
|
if (__grouping.size() != 0 && __g_end-__g < __num_get_base::__num_get_buf_sz)
|
1017
1032
|
*__g_end++ = __dc;
|
1018
1033
|
// Stage 3
|
@@ -1038,16 +1053,28 @@ num_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
|
|
1038
1053
|
char_type __atoms[26];
|
1039
1054
|
char_type __thousands_sep;
|
1040
1055
|
string __grouping = this->__stage2_int_prep(__iob, __atoms, __thousands_sep);
|
1041
|
-
|
1056
|
+
string __buf;
|
1057
|
+
__buf.resize(__buf.capacity());
|
1058
|
+
char* __a = &__buf[0];
|
1042
1059
|
char* __a_end = __a;
|
1043
1060
|
unsigned __g[__num_get_base::__num_get_buf_sz];
|
1044
1061
|
unsigned* __g_end = __g;
|
1045
1062
|
unsigned __dc = 0;
|
1046
1063
|
for (; __b != __e; ++__b)
|
1064
|
+
{
|
1065
|
+
if (__a_end - __a == __buf.size())
|
1066
|
+
{
|
1067
|
+
size_t __tmp = __buf.size();
|
1068
|
+
__buf.resize(2*__buf.size());
|
1069
|
+
__buf.resize(__buf.capacity());
|
1070
|
+
__a = &__buf[0];
|
1071
|
+
__a_end = __a + __tmp;
|
1072
|
+
}
|
1047
1073
|
if (this->__stage2_int_loop(*__b, __base, __a, __a_end, __dc,
|
1048
1074
|
__thousands_sep, __grouping, __g, __g_end,
|
1049
1075
|
__atoms))
|
1050
1076
|
break;
|
1077
|
+
}
|
1051
1078
|
if (__grouping.size() != 0 && __g_end-__g < __num_get_base::__num_get_buf_sz)
|
1052
1079
|
*__g_end++ = __dc;
|
1053
1080
|
// Stage 3
|
@@ -1073,16 +1100,28 @@ num_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
|
|
1073
1100
|
char_type __atoms[26];
|
1074
1101
|
char_type __thousands_sep;
|
1075
1102
|
string __grouping = this->__stage2_int_prep(__iob, __atoms, __thousands_sep);
|
1076
|
-
|
1103
|
+
string __buf;
|
1104
|
+
__buf.resize(__buf.capacity());
|
1105
|
+
char* __a = &__buf[0];
|
1077
1106
|
char* __a_end = __a;
|
1078
1107
|
unsigned __g[__num_get_base::__num_get_buf_sz];
|
1079
1108
|
unsigned* __g_end = __g;
|
1080
1109
|
unsigned __dc = 0;
|
1081
1110
|
for (; __b != __e; ++__b)
|
1111
|
+
{
|
1112
|
+
if (__a_end - __a == __buf.size())
|
1113
|
+
{
|
1114
|
+
size_t __tmp = __buf.size();
|
1115
|
+
__buf.resize(2*__buf.size());
|
1116
|
+
__buf.resize(__buf.capacity());
|
1117
|
+
__a = &__buf[0];
|
1118
|
+
__a_end = __a + __tmp;
|
1119
|
+
}
|
1082
1120
|
if (this->__stage2_int_loop(*__b, __base, __a, __a_end, __dc,
|
1083
1121
|
__thousands_sep, __grouping, __g, __g_end,
|
1084
1122
|
__atoms))
|
1085
1123
|
break;
|
1124
|
+
}
|
1086
1125
|
if (__grouping.size() != 0 && __g_end-__g < __num_get_base::__num_get_buf_sz)
|
1087
1126
|
*__g_end++ = __dc;
|
1088
1127
|
// Stage 3
|
@@ -1108,16 +1147,28 @@ num_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
|
|
1108
1147
|
char_type __atoms[26];
|
1109
1148
|
char_type __thousands_sep;
|
1110
1149
|
string __grouping = this->__stage2_int_prep(__iob, __atoms, __thousands_sep);
|
1111
|
-
|
1150
|
+
string __buf;
|
1151
|
+
__buf.resize(__buf.capacity());
|
1152
|
+
char* __a = &__buf[0];
|
1112
1153
|
char* __a_end = __a;
|
1113
1154
|
unsigned __g[__num_get_base::__num_get_buf_sz];
|
1114
1155
|
unsigned* __g_end = __g;
|
1115
1156
|
unsigned __dc = 0;
|
1116
1157
|
for (; __b != __e; ++__b)
|
1158
|
+
{
|
1159
|
+
if (__a_end - __a == __buf.size())
|
1160
|
+
{
|
1161
|
+
size_t __tmp = __buf.size();
|
1162
|
+
__buf.resize(2*__buf.size());
|
1163
|
+
__buf.resize(__buf.capacity());
|
1164
|
+
__a = &__buf[0];
|
1165
|
+
__a_end = __a + __tmp;
|
1166
|
+
}
|
1117
1167
|
if (this->__stage2_int_loop(*__b, __base, __a, __a_end, __dc,
|
1118
1168
|
__thousands_sep, __grouping, __g, __g_end,
|
1119
1169
|
__atoms))
|
1120
1170
|
break;
|
1171
|
+
}
|
1121
1172
|
if (__grouping.size() != 0 && __g_end-__g < __num_get_base::__num_get_buf_sz)
|
1122
1173
|
*__g_end++ = __dc;
|
1123
1174
|
// Stage 3
|
@@ -1143,16 +1194,28 @@ num_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
|
|
1143
1194
|
char_type __atoms[26];
|
1144
1195
|
char_type __thousands_sep;
|
1145
1196
|
string __grouping = this->__stage2_int_prep(__iob, __atoms, __thousands_sep);
|
1146
|
-
|
1197
|
+
string __buf;
|
1198
|
+
__buf.resize(__buf.capacity());
|
1199
|
+
char* __a = &__buf[0];
|
1147
1200
|
char* __a_end = __a;
|
1148
1201
|
unsigned __g[__num_get_base::__num_get_buf_sz];
|
1149
1202
|
unsigned* __g_end = __g;
|
1150
1203
|
unsigned __dc = 0;
|
1151
1204
|
for (; __b != __e; ++__b)
|
1205
|
+
{
|
1206
|
+
if (__a_end - __a == __buf.size())
|
1207
|
+
{
|
1208
|
+
size_t __tmp = __buf.size();
|
1209
|
+
__buf.resize(2*__buf.size());
|
1210
|
+
__buf.resize(__buf.capacity());
|
1211
|
+
__a = &__buf[0];
|
1212
|
+
__a_end = __a + __tmp;
|
1213
|
+
}
|
1152
1214
|
if (this->__stage2_int_loop(*__b, __base, __a, __a_end, __dc,
|
1153
1215
|
__thousands_sep, __grouping, __g, __g_end,
|
1154
1216
|
__atoms))
|
1155
1217
|
break;
|
1218
|
+
}
|
1156
1219
|
if (__grouping.size() != 0 && __g_end-__g < __num_get_base::__num_get_buf_sz)
|
1157
1220
|
*__g_end++ = __dc;
|
1158
1221
|
// Stage 3
|
@@ -1180,7 +1243,9 @@ num_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
|
|
1180
1243
|
string __grouping = this->__stage2_float_prep(__iob, __atoms,
|
1181
1244
|
__decimal_point,
|
1182
1245
|
__thousands_sep);
|
1183
|
-
|
1246
|
+
string __buf;
|
1247
|
+
__buf.resize(__buf.capacity());
|
1248
|
+
char* __a = &__buf[0];
|
1184
1249
|
char* __a_end = __a;
|
1185
1250
|
unsigned __g[__num_get_base::__num_get_buf_sz];
|
1186
1251
|
unsigned* __g_end = __g;
|
@@ -1188,11 +1253,21 @@ num_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
|
|
1188
1253
|
bool __in_units = true;
|
1189
1254
|
char __exp = 'E';
|
1190
1255
|
for (; __b != __e; ++__b)
|
1256
|
+
{
|
1257
|
+
if (__a_end - __a == __buf.size())
|
1258
|
+
{
|
1259
|
+
size_t __tmp = __buf.size();
|
1260
|
+
__buf.resize(2*__buf.size());
|
1261
|
+
__buf.resize(__buf.capacity());
|
1262
|
+
__a = &__buf[0];
|
1263
|
+
__a_end = __a + __tmp;
|
1264
|
+
}
|
1191
1265
|
if (this->__stage2_float_loop(*__b, __in_units, __exp, __a, __a_end,
|
1192
1266
|
__decimal_point, __thousands_sep,
|
1193
1267
|
__grouping, __g, __g_end,
|
1194
1268
|
__dc, __atoms))
|
1195
1269
|
break;
|
1270
|
+
}
|
1196
1271
|
if (__grouping.size() != 0 && __in_units && __g_end-__g < __num_get_base::__num_get_buf_sz)
|
1197
1272
|
*__g_end++ = __dc;
|
1198
1273
|
// Stage 3
|
@@ -1220,7 +1295,9 @@ num_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
|
|
1220
1295
|
string __grouping = this->__stage2_float_prep(__iob, __atoms,
|
1221
1296
|
__decimal_point,
|
1222
1297
|
__thousands_sep);
|
1223
|
-
|
1298
|
+
string __buf;
|
1299
|
+
__buf.resize(__buf.capacity());
|
1300
|
+
char* __a = &__buf[0];
|
1224
1301
|
char* __a_end = __a;
|
1225
1302
|
unsigned __g[__num_get_base::__num_get_buf_sz];
|
1226
1303
|
unsigned* __g_end = __g;
|
@@ -1228,11 +1305,21 @@ num_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
|
|
1228
1305
|
bool __in_units = true;
|
1229
1306
|
char __exp = 'E';
|
1230
1307
|
for (; __b != __e; ++__b)
|
1308
|
+
{
|
1309
|
+
if (__a_end - __a == __buf.size())
|
1310
|
+
{
|
1311
|
+
size_t __tmp = __buf.size();
|
1312
|
+
__buf.resize(2*__buf.size());
|
1313
|
+
__buf.resize(__buf.capacity());
|
1314
|
+
__a = &__buf[0];
|
1315
|
+
__a_end = __a + __tmp;
|
1316
|
+
}
|
1231
1317
|
if (this->__stage2_float_loop(*__b, __in_units, __exp, __a, __a_end,
|
1232
1318
|
__decimal_point, __thousands_sep,
|
1233
1319
|
__grouping, __g, __g_end,
|
1234
1320
|
__dc, __atoms))
|
1235
1321
|
break;
|
1322
|
+
}
|
1236
1323
|
if (__grouping.size() != 0 && __in_units && __g_end-__g < __num_get_base::__num_get_buf_sz)
|
1237
1324
|
*__g_end++ = __dc;
|
1238
1325
|
// Stage 3
|
@@ -1260,7 +1347,9 @@ num_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
|
|
1260
1347
|
string __grouping = this->__stage2_float_prep(__iob, __atoms,
|
1261
1348
|
__decimal_point,
|
1262
1349
|
__thousands_sep);
|
1263
|
-
|
1350
|
+
string __buf;
|
1351
|
+
__buf.resize(__buf.capacity());
|
1352
|
+
char* __a = &__buf[0];
|
1264
1353
|
char* __a_end = __a;
|
1265
1354
|
unsigned __g[__num_get_base::__num_get_buf_sz];
|
1266
1355
|
unsigned* __g_end = __g;
|
@@ -1268,11 +1357,21 @@ num_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
|
|
1268
1357
|
bool __in_units = true;
|
1269
1358
|
char __exp = 'E';
|
1270
1359
|
for (; __b != __e; ++__b)
|
1360
|
+
{
|
1361
|
+
if (__a_end - __a == __buf.size())
|
1362
|
+
{
|
1363
|
+
size_t __tmp = __buf.size();
|
1364
|
+
__buf.resize(2*__buf.size());
|
1365
|
+
__buf.resize(__buf.capacity());
|
1366
|
+
__a = &__buf[0];
|
1367
|
+
__a_end = __a + __tmp;
|
1368
|
+
}
|
1271
1369
|
if (this->__stage2_float_loop(*__b, __in_units, __exp, __a, __a_end,
|
1272
1370
|
__decimal_point, __thousands_sep,
|
1273
1371
|
__grouping, __g, __g_end,
|
1274
1372
|
__dc, __atoms))
|
1275
1373
|
break;
|
1374
|
+
}
|
1276
1375
|
if (__grouping.size() != 0 && __in_units && __g_end-__g < __num_get_base::__num_get_buf_sz)
|
1277
1376
|
*__g_end++ = __dc;
|
1278
1377
|
// Stage 3
|
@@ -1300,16 +1399,28 @@ num_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
|
|
1300
1399
|
string __grouping;
|
1301
1400
|
use_facet<ctype<_CharT> >(__iob.getloc()).widen(__num_get_base::__src,
|
1302
1401
|
__num_get_base::__src + 26, __atoms);
|
1303
|
-
|
1402
|
+
string __buf;
|
1403
|
+
__buf.resize(__buf.capacity());
|
1404
|
+
char* __a = &__buf[0];
|
1304
1405
|
char* __a_end = __a;
|
1305
1406
|
unsigned __g[__num_get_base::__num_get_buf_sz];
|
1306
1407
|
unsigned* __g_end = __g;
|
1307
1408
|
unsigned __dc = 0;
|
1308
1409
|
for (; __b != __e; ++__b)
|
1410
|
+
{
|
1411
|
+
if (__a_end - __a == __buf.size())
|
1412
|
+
{
|
1413
|
+
size_t __tmp = __buf.size();
|
1414
|
+
__buf.resize(2*__buf.size());
|
1415
|
+
__buf.resize(__buf.capacity());
|
1416
|
+
__a = &__buf[0];
|
1417
|
+
__a_end = __a + __tmp;
|
1418
|
+
}
|
1309
1419
|
if (this->__stage2_int_loop(*__b, __base, __a, __a_end, __dc,
|
1310
1420
|
__thousands_sep, __grouping,
|
1311
1421
|
__g, __g_end, __atoms))
|
1312
1422
|
break;
|
1423
|
+
}
|
1313
1424
|
// Stage 3
|
1314
1425
|
__a[sizeof(__a)-1] = 0;
|
1315
1426
|
#ifdef _LIBCPP_LOCALE__L_EXTENSIONS
|
@@ -1678,9 +1789,9 @@ num_put<_CharT, _OutputIterator>::do_put(iter_type __s, ios_base& __iob,
|
|
1678
1789
|
+ 1;
|
1679
1790
|
char __nar[__nbuf];
|
1680
1791
|
#ifdef _LIBCPP_LOCALE__L_EXTENSIONS
|
1681
|
-
int __nc =
|
1792
|
+
int __nc = snprintf_l(__nar, sizeof(__nar), _LIBCPP_GET_C_LOCALE, __fmt, __v);
|
1682
1793
|
#else
|
1683
|
-
int __nc =
|
1794
|
+
int __nc = __snprintf_l(__nar, sizeof(__nar), __cloc(), __fmt, __v);
|
1684
1795
|
#endif
|
1685
1796
|
char* __ne = __nar + __nc;
|
1686
1797
|
char* __np = this->__identify_padding(__nar, __ne, __iob);
|
@@ -1708,9 +1819,9 @@ num_put<_CharT, _OutputIterator>::do_put(iter_type __s, ios_base& __iob,
|
|
1708
1819
|
+ 1;
|
1709
1820
|
char __nar[__nbuf];
|
1710
1821
|
#ifdef _LIBCPP_LOCALE__L_EXTENSIONS
|
1711
|
-
int __nc =
|
1822
|
+
int __nc = snprintf_l(__nar, sizeof(__nar), _LIBCPP_GET_C_LOCALE, __fmt, __v);
|
1712
1823
|
#else
|
1713
|
-
int __nc =
|
1824
|
+
int __nc = __snprintf_l(__nar, sizeof(__nar), __cloc(), __fmt, __v);
|
1714
1825
|
#endif
|
1715
1826
|
char* __ne = __nar + __nc;
|
1716
1827
|
char* __np = this->__identify_padding(__nar, __ne, __iob);
|
@@ -1738,9 +1849,9 @@ num_put<_CharT, _OutputIterator>::do_put(iter_type __s, ios_base& __iob,
|
|
1738
1849
|
+ 1;
|
1739
1850
|
char __nar[__nbuf];
|
1740
1851
|
#ifdef _LIBCPP_LOCALE__L_EXTENSIONS
|
1741
|
-
int __nc =
|
1852
|
+
int __nc = snprintf_l(__nar, sizeof(__nar), _LIBCPP_GET_C_LOCALE, __fmt, __v);
|
1742
1853
|
#else
|
1743
|
-
int __nc =
|
1854
|
+
int __nc = __snprintf_l(__nar, sizeof(__nar), __cloc(), __fmt, __v);
|
1744
1855
|
#endif
|
1745
1856
|
char* __ne = __nar + __nc;
|
1746
1857
|
char* __np = this->__identify_padding(__nar, __ne, __iob);
|
@@ -1768,9 +1879,9 @@ num_put<_CharT, _OutputIterator>::do_put(iter_type __s, ios_base& __iob,
|
|
1768
1879
|
+ 1;
|
1769
1880
|
char __nar[__nbuf];
|
1770
1881
|
#ifdef _LIBCPP_LOCALE__L_EXTENSIONS
|
1771
|
-
int __nc =
|
1882
|
+
int __nc = snprintf_l(__nar, sizeof(__nar), _LIBCPP_GET_C_LOCALE, __fmt, __v);
|
1772
1883
|
#else
|
1773
|
-
int __nc =
|
1884
|
+
int __nc = __snprintf_l(__nar, sizeof(__nar), __cloc(), __fmt, __v);
|
1774
1885
|
#endif
|
1775
1886
|
char* __ne = __nar + __nc;
|
1776
1887
|
char* __np = this->__identify_padding(__nar, __ne, __iob);
|
@@ -1932,9 +2043,9 @@ num_put<_CharT, _OutputIterator>::do_put(iter_type __s, ios_base& __iob,
|
|
1932
2043
|
const unsigned __nbuf = 20;
|
1933
2044
|
char __nar[__nbuf];
|
1934
2045
|
#ifdef _LIBCPP_LOCALE__L_EXTENSIONS
|
1935
|
-
int __nc =
|
2046
|
+
int __nc = snprintf_l(__nar, sizeof(__nar), _LIBCPP_GET_C_LOCALE, __fmt, __v);
|
1936
2047
|
#else
|
1937
|
-
int __nc =
|
2048
|
+
int __nc = __snprintf_l(__nar, sizeof(__nar), __cloc(), __fmt, __v);
|
1938
2049
|
#endif
|
1939
2050
|
char* __ne = __nar + __nc;
|
1940
2051
|
char* __np = this->__identify_padding(__nar, __ne, __iob);
|