Get things working with the new libcxx / libcxxabi.
This commit is contained in:
Родитель
1a0bccc11d
Коммит
90338c69f7
12
emcc
12
emcc
|
@ -1102,7 +1102,6 @@ try:
|
|||
o_s = []
|
||||
libc_files = [
|
||||
'dlmalloc.c',
|
||||
os.path.join('libcxx', 'new.cpp'),
|
||||
os.path.join('libc', 'stdlib', 'getopt_long.c'),
|
||||
os.path.join('libc', 'gen', 'err.c'),
|
||||
os.path.join('libc', 'gen', 'errx.c'),
|
||||
|
@ -1166,7 +1165,8 @@ try:
|
|||
'ios.cpp',
|
||||
'locale.cpp',
|
||||
'regex.cpp',
|
||||
'strstream.cpp'
|
||||
'strstream.cpp',
|
||||
'typeinfo.cpp'
|
||||
]
|
||||
for src in libcxx_files:
|
||||
o = in_temp(src + '.o')
|
||||
|
@ -1189,8 +1189,14 @@ try:
|
|||
if DEBUG: print >> sys.stderr, 'emcc: building libcxxabi for cache'
|
||||
os = []
|
||||
libcxxabi_files = [
|
||||
'abort_message.cpp',
|
||||
'private_typeinfo.cpp',
|
||||
'typeinfo.cpp'
|
||||
'typeinfo.cpp',
|
||||
'cxa_new_delete.cpp',
|
||||
'cxa_handlers.cpp',
|
||||
'stdexcept.cpp',
|
||||
'exception.cpp',
|
||||
'cxa_exception_storage.cpp']:
|
||||
]
|
||||
for src in libcxxabi_files:
|
||||
o = in_temp(src + '.o')
|
||||
|
|
|
@ -5082,6 +5082,10 @@ LibraryManager.library = {
|
|||
_ZSt18uncaught_exceptionv: function() { // std::uncaught_exception()
|
||||
return !!__ZSt18uncaught_exceptionv.uncaught_exception;
|
||||
},
|
||||
__cxa_uncaught_exception__deps: ['_Zst18uncaught_exceptionv'],
|
||||
__cxa_uncaught_exception: function() {
|
||||
return !!__ZSt18uncaught_exceptionv.uncaught_exception;
|
||||
},
|
||||
|
||||
__cxa_call_unexpected: function(exception) {
|
||||
Module.printErr('Unexpected exception thrown, this is not properly supported - aborting');
|
||||
|
|
|
@ -21,9 +21,9 @@
|
|||
#include <locale.h>
|
||||
#if _WIN32
|
||||
# include <support/win32/locale_win32.h>
|
||||
#elif (__GLIBC__ || __APPLE__ || __FreeBSD__ || __sun__)
|
||||
#elif (__GLIBC__ || __APPLE__ || __FreeBSD__ || __sun__ || EMSCRIPTEN)
|
||||
# include <xlocale.h>
|
||||
#endif // _WIN32 || __GLIBC__ || __APPLE__ || __FreeBSD_
|
||||
#endif // _WIN32 || __GLIBC__ || __APPLE__ || __FreeBSD__ || EMSCRIPTEN
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
#pragma GCC system_header
|
||||
|
@ -339,11 +339,13 @@ public:
|
|||
static const mask punct = _PUNCT;
|
||||
static const mask xdigit = _HEX;
|
||||
static const mask blank = _BLANK;
|
||||
#elif (__APPLE__ || __FreeBSD__)
|
||||
#elif (__APPLE__ || __FreeBSD__ || EMSCRIPTEN)
|
||||
#if __APPLE__
|
||||
typedef __uint32_t mask;
|
||||
#elif __FreeBSD__
|
||||
typedef unsigned long mask;
|
||||
#elif EMSCRIPTEN
|
||||
typedef unsigned short mask;
|
||||
#endif
|
||||
static const mask space = _CTYPE_S;
|
||||
static const mask print = _CTYPE_R;
|
||||
|
@ -367,7 +369,7 @@ public:
|
|||
static const mask punct = _ISPUNCT;
|
||||
static const mask xdigit = _ISXDIGIT;
|
||||
static const mask blank = _ISBLANK;
|
||||
#else // __GLIBC__ || _WIN32 || __APPLE__ || __FreeBSD__ || __sun__
|
||||
#else // __GLIBC__ || _WIN32 || __APPLE__ || __FreeBSD__ || EMSCRIPTEN || __sun__
|
||||
typedef unsigned long mask;
|
||||
static const mask space = 1<<0;
|
||||
static const mask print = 1<<1;
|
||||
|
@ -590,7 +592,7 @@ public:
|
|||
#endif
|
||||
_LIBCPP_ALWAYS_INLINE const mask* table() const _NOEXCEPT {return __tab_;}
|
||||
static const mask* classic_table() _NOEXCEPT;
|
||||
#if defined(__GLIBC__)
|
||||
#if defined(__GLIBC__) || defined(EMSCRIPTEN)
|
||||
static const int* __classic_upper_table() _NOEXCEPT;
|
||||
static const int* __classic_lower_table() _NOEXCEPT;
|
||||
#endif
|
||||
|
|
|
@ -222,7 +222,7 @@ typedef _VSTD::unique_ptr<__locale_struct, decltype(&uselocale)> __locale_raii;
|
|||
// OSX has nice foo_l() functions that let you turn off use of the global
|
||||
// locale. Linux, not so much. The following functions avoid the locale when
|
||||
// that's possible and otherwise do the wrong thing. FIXME.
|
||||
#ifdef __linux__
|
||||
#if defined(__linux__) || defined(EMSCRIPTEN)
|
||||
|
||||
#ifdef _LIBCPP_LOCALE__L_EXTENSIONS
|
||||
decltype(MB_CUR_MAX_L(_VSTD::declval<locale_t>()))
|
||||
|
|
|
@ -1,75 +1,51 @@
|
|||
_err
|
||||
_errx
|
||||
_verr
|
||||
_verrx
|
||||
_vwarn
|
||||
_vwarnx
|
||||
_warn
|
||||
_warnx
|
||||
atof
|
||||
bulk_free
|
||||
calloc
|
||||
err
|
||||
errx
|
||||
free
|
||||
getopt
|
||||
getopt_long
|
||||
getopt_long_only
|
||||
malloc
|
||||
free
|
||||
calloc
|
||||
memalign
|
||||
realloc
|
||||
valloc
|
||||
pvalloc
|
||||
mallinfo
|
||||
mallopt
|
||||
malloc_trim
|
||||
malloc_stats
|
||||
malloc_usable_size
|
||||
malloc_footprint
|
||||
malloc_max_footprint
|
||||
independent_calloc
|
||||
independent_comalloc
|
||||
_Znwj
|
||||
_Znaj
|
||||
_Znam
|
||||
_Znwm
|
||||
_ZdaPv
|
||||
_ZdaPvRKSt9nothrow_t
|
||||
_ZdlPv
|
||||
_ZdlPvRKSt9nothrow_t
|
||||
_Znaj
|
||||
_ZnajRKSt9nothrow_t
|
||||
_Znwj
|
||||
_ZnwjRKSt9nothrow_t
|
||||
_ZL13__new_handler
|
||||
_ZSt15get_new_handlerv
|
||||
_ZSt15set_new_handlerPFvvE
|
||||
_ZTVSt9bad_alloc
|
||||
_ZTSSt9bad_alloc
|
||||
_ZNKSt9bad_alloc4whatEv
|
||||
_ZNSt9bad_allocC1Ev
|
||||
_ZNSt9bad_allocC2Ev
|
||||
_ZNSt9bad_allocD0Ev
|
||||
_ZNSt9bad_allocD1Ev
|
||||
_ZNSt9bad_allocD2Ev
|
||||
_ZSt17__throw_bad_allocv
|
||||
_ZTISt9bad_alloc
|
||||
_ZTVSt20bad_array_new_length
|
||||
_ZTSSt20bad_array_new_length
|
||||
_ZTISt20bad_array_new_length
|
||||
_ZNKSt20bad_array_new_length4whatEv
|
||||
_ZNSt20bad_array_new_lengthC1Ev
|
||||
_ZNSt20bad_array_new_lengthC2Ev
|
||||
_ZNSt20bad_array_new_lengthD0Ev
|
||||
_ZNSt20bad_array_new_lengthD1Ev
|
||||
_ZNSt20bad_array_new_lengthD2Ev
|
||||
warn
|
||||
warnx
|
||||
err
|
||||
errx
|
||||
_warn
|
||||
_warnx
|
||||
_err
|
||||
_errx
|
||||
vwarn
|
||||
vwarnx
|
||||
mallinfo
|
||||
malloc
|
||||
malloc_footprint
|
||||
malloc_footprint_limit
|
||||
malloc_max_footprint
|
||||
malloc_set_footprint_limit
|
||||
malloc_stats
|
||||
malloc_trim
|
||||
malloc_usable_size
|
||||
mallopt
|
||||
memalign
|
||||
optarg
|
||||
opterr
|
||||
optind
|
||||
optopt
|
||||
optreset
|
||||
posix_memalign
|
||||
pvalloc
|
||||
realloc
|
||||
realloc_in_place
|
||||
strtod
|
||||
strtod_l
|
||||
strtof
|
||||
strtold
|
||||
strtold_l
|
||||
valloc
|
||||
verr
|
||||
verrx
|
||||
_vwarn
|
||||
_vwarnx
|
||||
_verr
|
||||
_verrx
|
||||
strtod
|
||||
strtold
|
||||
strtof
|
||||
strtod_l
|
||||
strtold_l
|
||||
atof
|
||||
vwarn
|
||||
vwarnx
|
||||
warn1
|
||||
warnx
|
||||
|
|
|
@ -786,7 +786,7 @@ ctype<wchar_t>::do_toupper(char_type c) const
|
|||
{
|
||||
#ifdef _LIBCPP_HAS_DEFAULTRUNELOCALE
|
||||
return isascii(c) ? _DefaultRuneLocale.__mapupper[c] : c;
|
||||
#elif defined(__GLIBC__)
|
||||
#elif defined(__GLIBC__) || defined(EMSCRIPTEN)
|
||||
return isascii(c) ? ctype<char>::__classic_upper_table()[c] : c;
|
||||
#else
|
||||
return (isascii(c) && iswlower_l(c, __cloc())) ? c-L'a'+L'A' : c;
|
||||
|
@ -799,7 +799,7 @@ ctype<wchar_t>::do_toupper(char_type* low, const char_type* high) const
|
|||
for (; low != high; ++low)
|
||||
#ifdef _LIBCPP_HAS_DEFAULTRUNELOCALE
|
||||
*low = isascii(*low) ? _DefaultRuneLocale.__mapupper[*low] : *low;
|
||||
#elif defined(__GLIBC__)
|
||||
#elif defined(__GLIBC__) || defined(EMSCRIPTEN)
|
||||
*low = isascii(*low) ? ctype<char>::__classic_upper_table()[*low]
|
||||
: *low;
|
||||
#else
|
||||
|
@ -813,7 +813,7 @@ ctype<wchar_t>::do_tolower(char_type c) const
|
|||
{
|
||||
#ifdef _LIBCPP_HAS_DEFAULTRUNELOCALE
|
||||
return isascii(c) ? _DefaultRuneLocale.__maplower[c] : c;
|
||||
#elif defined(__GLIBC__)
|
||||
#elif defined(__GLIBC__) || defined(EMSCRIPTEN)
|
||||
return isascii(c) ? ctype<char>::__classic_lower_table()[c] : c;
|
||||
#else
|
||||
return (isascii(c) && isupper_l(c, __cloc())) ? c-L'A'+'a' : c;
|
||||
|
@ -826,7 +826,7 @@ ctype<wchar_t>::do_tolower(char_type* low, const char_type* high) const
|
|||
for (; low != high; ++low)
|
||||
#ifdef _LIBCPP_HAS_DEFAULTRUNELOCALE
|
||||
*low = isascii(*low) ? _DefaultRuneLocale.__maplower[*low] : *low;
|
||||
#elif defined(__GLIBC__)
|
||||
#elif defined(__GLIBC__) || defined(EMSCRIPTEN)
|
||||
*low = isascii(*low) ? ctype<char>::__classic_lower_table()[*low]
|
||||
: *low;
|
||||
#else
|
||||
|
@ -893,7 +893,7 @@ ctype<char>::do_toupper(char_type c) const
|
|||
#ifdef _LIBCPP_HAS_DEFAULTRUNELOCALE
|
||||
return isascii(c) ?
|
||||
static_cast<char>(_DefaultRuneLocale.__mapupper[static_cast<ptrdiff_t>(c)]) : c;
|
||||
#elif defined(__GLIBC__)
|
||||
#elif defined(__GLIBC__) || defined(EMSCRIPTEN)
|
||||
return isascii(c) ?
|
||||
static_cast<char>(__classic_upper_table()[static_cast<size_t>(c)]) : c;
|
||||
#else
|
||||
|
@ -908,7 +908,7 @@ ctype<char>::do_toupper(char_type* low, const char_type* high) const
|
|||
#ifdef _LIBCPP_HAS_DEFAULTRUNELOCALE
|
||||
*low = isascii(*low) ?
|
||||
static_cast<char>(_DefaultRuneLocale.__mapupper[static_cast<ptrdiff_t>(*low)]) : *low;
|
||||
#elif defined(__GLIBC__)
|
||||
#elif defined(__GLIBC__) || defined(EMSCRIPTEN)
|
||||
*low = isascii(*low) ?
|
||||
static_cast<char>(__classic_upper_table()[static_cast<size_t>(*low)]) : *low;
|
||||
#else
|
||||
|
@ -923,7 +923,7 @@ ctype<char>::do_tolower(char_type c) const
|
|||
#ifdef _LIBCPP_HAS_DEFAULTRUNELOCALE
|
||||
return isascii(c) ?
|
||||
static_cast<char>(_DefaultRuneLocale.__maplower[static_cast<ptrdiff_t>(c)]) : c;
|
||||
#elif defined(__GLIBC__)
|
||||
#elif defined(__GLIBC__) || defined(EMSCRIPTEN)
|
||||
return isascii(c) ?
|
||||
static_cast<char>(__classic_lower_table()[static_cast<size_t>(c)]) : c;
|
||||
#else
|
||||
|
@ -937,7 +937,7 @@ ctype<char>::do_tolower(char_type* low, const char_type* high) const
|
|||
for (; low != high; ++low)
|
||||
#ifdef _LIBCPP_HAS_DEFAULTRUNELOCALE
|
||||
*low = isascii(*low) ? static_cast<char>(_DefaultRuneLocale.__maplower[static_cast<ptrdiff_t>(*low)]) : *low;
|
||||
#elif defined(__GLIBC__)
|
||||
#elif defined(__GLIBC__) || defined(EMSCRIPTEN)
|
||||
*low = isascii(*low) ? static_cast<char>(__classic_lower_table()[static_cast<size_t>(*low)]) : *low;
|
||||
#else
|
||||
*low = (isascii(*low) && isupper_l(*low, __cloc())) ? *low-'A'+'a' : *low;
|
||||
|
@ -978,6 +978,12 @@ ctype<char>::do_narrow(const char_type* low, const char_type* high, char dfault,
|
|||
return low;
|
||||
}
|
||||
|
||||
#ifdef EMSCRIPTEN
|
||||
extern "C" const unsigned short ** __ctype_b_loc();
|
||||
extern "C" const int ** __ctype_tolower_loc();
|
||||
extern "C" const int ** __ctype_toupper_loc();
|
||||
#endif
|
||||
|
||||
const ctype<char>::mask*
|
||||
ctype<char>::classic_table() _NOEXCEPT
|
||||
{
|
||||
|
@ -991,6 +997,8 @@ ctype<char>::classic_table() _NOEXCEPT
|
|||
return _ctype+1; // internal ctype mask table defined in msvcrt.dll
|
||||
// This is assumed to be safe, which is a nonsense assumption because we're
|
||||
// going to end up dereferencing it later...
|
||||
#elif EMSCRIPTEN
|
||||
return *__ctype_b_loc();
|
||||
#else
|
||||
// Platform not supported: abort so the person doing the port knows what to
|
||||
// fix
|
||||
|
@ -1014,6 +1022,20 @@ ctype<char>::__classic_upper_table() _NOEXCEPT
|
|||
}
|
||||
#endif // __GLIBC__
|
||||
|
||||
#if defined(EMSCRIPTEN)
|
||||
const int*
|
||||
ctype<char>::__classic_lower_table() _NOEXCEPT
|
||||
{
|
||||
return *__ctype_tolower_loc();
|
||||
}
|
||||
|
||||
const int*
|
||||
ctype<char>::__classic_upper_table() _NOEXCEPT
|
||||
{
|
||||
return *__ctype_toupper_loc();
|
||||
}
|
||||
#endif // EMSCRIPTEN
|
||||
|
||||
// template <> class ctype_byname<char>
|
||||
|
||||
ctype_byname<char>::ctype_byname(const char* name, size_t refs)
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -65,7 +65,7 @@ thread::hardware_concurrency() _NOEXCEPT
|
|||
std::size_t s = sizeof(n);
|
||||
sysctl(mib, 2, &n, &s, 0, 0);
|
||||
return n;
|
||||
#elif defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 200112L) && defined(_SC_NPROCESSORS_ONLN)
|
||||
#elif (defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 200112L) && defined(_SC_NPROCESSORS_ONLN)) || defined(EMSCRIPTEN)
|
||||
long result = sysconf(_SC_NPROCESSORS_ONLN);
|
||||
// sysconf returns -1 if the name is invalid, the option does not exist or
|
||||
// does not have a definite limit.
|
||||
|
|
|
@ -228,4 +228,15 @@ bad_array_new_length::what() const _NOEXCEPT
|
|||
return "bad_array_new_length";
|
||||
}
|
||||
|
||||
#ifdef EMSCRIPTEN
|
||||
// We don't build the new.cpp from libcxx, so we need to define this.
|
||||
void
|
||||
__throw_bad_alloc()
|
||||
{
|
||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||
throw bad_alloc();
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
} // std
|
||||
|
|
|
@ -1,4 +1,313 @@
|
|||
T __dynamic_cast
|
||||
T _ZN10__cxxabiv116__enum_type_infoD0Ev
|
||||
T _ZN10__cxxabiv116__enum_type_infoD1Ev
|
||||
T _ZN10__cxxabiv116__enum_type_infoD2Ev
|
||||
T _ZN10__cxxabiv116__shim_type_infoD0Ev
|
||||
T _ZN10__cxxabiv116__shim_type_infoD1Ev
|
||||
T _ZN10__cxxabiv116__shim_type_infoD2Ev
|
||||
T _ZN10__cxxabiv117__array_type_infoD0Ev
|
||||
T _ZN10__cxxabiv117__array_type_infoD1Ev
|
||||
T _ZN10__cxxabiv117__array_type_infoD2Ev
|
||||
T _ZN10__cxxabiv117__class_type_infoD0Ev
|
||||
T _ZN10__cxxabiv117__class_type_infoD1Ev
|
||||
T _ZN10__cxxabiv117__class_type_infoD2Ev
|
||||
T _ZN10__cxxabiv117__pbase_type_infoD0Ev
|
||||
T _ZN10__cxxabiv117__pbase_type_infoD1Ev
|
||||
T _ZN10__cxxabiv117__pbase_type_infoD2Ev
|
||||
T _ZN10__cxxabiv119__pointer_type_infoD0Ev
|
||||
T _ZN10__cxxabiv119__pointer_type_infoD1Ev
|
||||
T _ZN10__cxxabiv119__pointer_type_infoD2Ev
|
||||
T _ZN10__cxxabiv120__function_type_infoD0Ev
|
||||
T _ZN10__cxxabiv120__function_type_infoD1Ev
|
||||
T _ZN10__cxxabiv120__function_type_infoD2Ev
|
||||
T _ZN10__cxxabiv120__si_class_type_infoD0Ev
|
||||
T _ZN10__cxxabiv120__si_class_type_infoD1Ev
|
||||
T _ZN10__cxxabiv120__si_class_type_infoD2Ev
|
||||
T _ZN10__cxxabiv121__vmi_class_type_infoD0Ev
|
||||
T _ZN10__cxxabiv121__vmi_class_type_infoD1Ev
|
||||
T _ZN10__cxxabiv121__vmi_class_type_infoD2Ev
|
||||
T _ZN10__cxxabiv123__fundamental_type_infoD0Ev
|
||||
T _ZN10__cxxabiv123__fundamental_type_infoD1Ev
|
||||
T _ZN10__cxxabiv123__fundamental_type_infoD2Ev
|
||||
T _ZN10__cxxabiv129__pointer_to_member_type_infoD0Ev
|
||||
T _ZN10__cxxabiv129__pointer_to_member_type_infoD1Ev
|
||||
T _ZN10__cxxabiv129__pointer_to_member_type_infoD2Ev
|
||||
C _ZN10__cxxabiv18is_equalEPKSt9type_infoS2_b
|
||||
t _ZN12_GLOBAL__N_114__libcpp_nmstrD1Ev
|
||||
t _ZN12_GLOBAL__N_114__libcpp_nmstrD2Ev
|
||||
T _ZNK10__cxxabiv116__enum_type_info9can_catchEPKNS_16__shim_type_infoERPv
|
||||
T _ZNK10__cxxabiv116__shim_type_info5noop1Ev
|
||||
T _ZNK10__cxxabiv116__shim_type_info5noop2Ev
|
||||
T _ZNK10__cxxabiv117__array_type_info9can_catchEPKNS_16__shim_type_infoERPv
|
||||
T _ZNK10__cxxabiv117__class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib
|
||||
T _ZNK10__cxxabiv117__class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib
|
||||
T _ZNK10__cxxabiv117__class_type_info24process_found_base_classEPNS_19__dynamic_cast_infoEPvi
|
||||
T _ZNK10__cxxabiv117__class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi
|
||||
T _ZNK10__cxxabiv117__class_type_info29process_static_type_above_dstEPNS_19__dynamic_cast_infoEPKvS4_i
|
||||
T _ZNK10__cxxabiv117__class_type_info29process_static_type_below_dstEPNS_19__dynamic_cast_infoEPKvi
|
||||
T _ZNK10__cxxabiv117__class_type_info9can_catchEPKNS_16__shim_type_infoERPv
|
||||
T _ZNK10__cxxabiv117__pbase_type_info9can_catchEPKNS_16__shim_type_infoERPv
|
||||
T _ZNK10__cxxabiv119__pointer_type_info9can_catchEPKNS_16__shim_type_infoERPv
|
||||
T _ZNK10__cxxabiv120__function_type_info9can_catchEPKNS_16__shim_type_infoERPv
|
||||
T _ZNK10__cxxabiv120__si_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib
|
||||
T _ZNK10__cxxabiv120__si_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib
|
||||
T _ZNK10__cxxabiv120__si_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi
|
||||
T _ZNK10__cxxabiv121__vmi_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib
|
||||
T _ZNK10__cxxabiv121__vmi_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib
|
||||
T _ZNK10__cxxabiv121__vmi_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi
|
||||
T _ZNK10__cxxabiv122__base_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib
|
||||
T _ZNK10__cxxabiv122__base_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib
|
||||
T _ZNK10__cxxabiv122__base_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi
|
||||
T _ZNK10__cxxabiv123__fundamental_type_info9can_catchEPKNS_16__shim_type_infoERPv
|
||||
t _ZNK12_GLOBAL__N_114__libcpp_nmstr5c_strEv
|
||||
t _ZNK12_GLOBAL__N_114__libcpp_nmstr5countEv
|
||||
T _ZNKSt10bad_typeid4whatEv
|
||||
T _ZNKSt11logic_error4whatEv
|
||||
T _ZNKSt13bad_exception4whatEv
|
||||
T _ZNKSt13runtime_error4whatEv
|
||||
T _ZNKSt20bad_array_new_length4whatEv
|
||||
T _ZNKSt8bad_cast4whatEv
|
||||
T _ZNKSt9bad_alloc4whatEv
|
||||
T _ZNKSt9exception4whatEv
|
||||
T _ZNSt10bad_typeidC1Ev
|
||||
T _ZNSt10bad_typeidC2Ev
|
||||
T _ZNSt10bad_typeidD0Ev
|
||||
T _ZNSt10bad_typeidD1Ev
|
||||
T _ZNSt10bad_typeidD2Ev
|
||||
T _ZNSt11logic_errorD0Ev
|
||||
T _ZNSt11logic_errorD1Ev
|
||||
T _ZNSt11logic_errorD2Ev
|
||||
T _ZNSt11range_errorD0Ev
|
||||
T _ZNSt11range_errorD1Ev
|
||||
T _ZNSt11range_errorD2Ev
|
||||
T _ZNSt12domain_errorD0Ev
|
||||
T _ZNSt12domain_errorD1Ev
|
||||
T _ZNSt12domain_errorD2Ev
|
||||
T _ZNSt12length_errorD0Ev
|
||||
T _ZNSt12length_errorD1Ev
|
||||
T _ZNSt12length_errorD2Ev
|
||||
T _ZNSt12out_of_rangeD0Ev
|
||||
T _ZNSt12out_of_rangeD1Ev
|
||||
T _ZNSt12out_of_rangeD2Ev
|
||||
T _ZNSt13bad_exceptionD0Ev
|
||||
T _ZNSt13bad_exceptionD1Ev
|
||||
T _ZNSt13bad_exceptionD2Ev
|
||||
T _ZNSt13runtime_errorD0Ev
|
||||
T _ZNSt13runtime_errorD1Ev
|
||||
T _ZNSt13runtime_errorD2Ev
|
||||
T _ZNSt14overflow_errorD0Ev
|
||||
T _ZNSt14overflow_errorD1Ev
|
||||
T _ZNSt14overflow_errorD2Ev
|
||||
T _ZNSt15underflow_errorD0Ev
|
||||
T _ZNSt15underflow_errorD1Ev
|
||||
T _ZNSt15underflow_errorD2Ev
|
||||
T _ZNSt16invalid_argumentD0Ev
|
||||
T _ZNSt16invalid_argumentD1Ev
|
||||
T _ZNSt16invalid_argumentD2Ev
|
||||
T _ZNSt20bad_array_new_lengthC1Ev
|
||||
T _ZNSt20bad_array_new_lengthC2Ev
|
||||
T _ZNSt20bad_array_new_lengthD0Ev
|
||||
T _ZNSt20bad_array_new_lengthD1Ev
|
||||
T _ZNSt20bad_array_new_lengthD2Ev
|
||||
T _ZNSt8bad_castC1Ev
|
||||
T _ZNSt8bad_castC2Ev
|
||||
T _ZNSt8bad_castD0Ev
|
||||
T _ZNSt8bad_castD1Ev
|
||||
T _ZNSt8bad_castD2Ev
|
||||
T _ZNSt9bad_allocC1Ev
|
||||
T _ZNSt9bad_allocC2Ev
|
||||
T _ZNSt9bad_allocD0Ev
|
||||
T _ZNSt9bad_allocD1Ev
|
||||
T _ZNSt9bad_allocD2Ev
|
||||
T _ZNSt9exceptionD0Ev
|
||||
T _ZNSt9exceptionD1Ev
|
||||
T _ZNSt9exceptionD2Ev
|
||||
T _ZNSt9type_infoD0Ev
|
||||
T _ZNSt9type_infoD1Ev
|
||||
T _ZNSt9type_infoD2Ev
|
||||
T _ZSt10unexpectedv
|
||||
T _ZSt11__terminatePFvvE
|
||||
T _ZSt12__unexpectedPFvvE
|
||||
T _ZSt13get_terminatev
|
||||
T _ZSt14get_unexpectedv
|
||||
T _ZSt15get_new_handlerv
|
||||
T _ZSt15set_new_handlerPFvvE
|
||||
T _ZSt9terminatev
|
||||
D _ZTIDi
|
||||
D _ZTIDn
|
||||
D _ZTIDs
|
||||
D _ZTIN10__cxxabiv116__enum_type_infoE
|
||||
D _ZTIN10__cxxabiv116__shim_type_infoE
|
||||
D _ZTIN10__cxxabiv117__array_type_infoE
|
||||
D _ZTIN10__cxxabiv117__class_type_infoE
|
||||
D _ZTIN10__cxxabiv117__pbase_type_infoE
|
||||
D _ZTIN10__cxxabiv119__pointer_type_infoE
|
||||
D _ZTIN10__cxxabiv120__function_type_infoE
|
||||
D _ZTIN10__cxxabiv120__si_class_type_infoE
|
||||
D _ZTIN10__cxxabiv121__vmi_class_type_infoE
|
||||
D _ZTIN10__cxxabiv123__fundamental_type_infoE
|
||||
D _ZTIN10__cxxabiv129__pointer_to_member_type_infoE
|
||||
C _ZTINSt3__19nullptr_tE
|
||||
D _ZTIPDi
|
||||
D _ZTIPDn
|
||||
D _ZTIPDs
|
||||
D _ZTIPKDi
|
||||
D _ZTIPKDn
|
||||
D _ZTIPKDs
|
||||
D _ZTIPKa
|
||||
D _ZTIPKb
|
||||
D _ZTIPKc
|
||||
D _ZTIPKd
|
||||
D _ZTIPKe
|
||||
D _ZTIPKf
|
||||
D _ZTIPKh
|
||||
D _ZTIPKi
|
||||
D _ZTIPKj
|
||||
D _ZTIPKl
|
||||
D _ZTIPKm
|
||||
D _ZTIPKs
|
||||
D _ZTIPKt
|
||||
D _ZTIPKv
|
||||
D _ZTIPKw
|
||||
D _ZTIPKx
|
||||
D _ZTIPKy
|
||||
D _ZTIPa
|
||||
D _ZTIPb
|
||||
D _ZTIPc
|
||||
D _ZTIPd
|
||||
D _ZTIPe
|
||||
D _ZTIPf
|
||||
D _ZTIPh
|
||||
D _ZTIPi
|
||||
D _ZTIPj
|
||||
D _ZTIPl
|
||||
D _ZTIPm
|
||||
D _ZTIPs
|
||||
D _ZTIPt
|
||||
D _ZTIPv
|
||||
D _ZTIPw
|
||||
D _ZTIPx
|
||||
D _ZTIPy
|
||||
D _ZTISt10bad_typeid
|
||||
D _ZTISt11logic_error
|
||||
D _ZTISt11range_error
|
||||
D _ZTISt12domain_error
|
||||
D _ZTISt12length_error
|
||||
D _ZTISt12out_of_range
|
||||
D _ZTISt13bad_exception
|
||||
D _ZTISt13runtime_error
|
||||
D _ZTISt14overflow_error
|
||||
D _ZTISt15underflow_error
|
||||
D _ZTISt16invalid_argument
|
||||
D _ZTISt20bad_array_new_length
|
||||
D _ZTISt8bad_cast
|
||||
D _ZTISt9bad_alloc
|
||||
D _ZTISt9exception
|
||||
D _ZTISt9type_info
|
||||
D _ZTIa
|
||||
D _ZTIb
|
||||
D _ZTIc
|
||||
D _ZTId
|
||||
D _ZTIe
|
||||
D _ZTIf
|
||||
D _ZTIh
|
||||
D _ZTIi
|
||||
D _ZTIj
|
||||
D _ZTIl
|
||||
D _ZTIm
|
||||
D _ZTIs
|
||||
D _ZTIt
|
||||
D _ZTIv
|
||||
D _ZTIw
|
||||
D _ZTIx
|
||||
D _ZTIy
|
||||
D _ZTSDi
|
||||
D _ZTSDn
|
||||
D _ZTSDs
|
||||
D _ZTSN10__cxxabiv116__enum_type_infoE
|
||||
D _ZTSN10__cxxabiv116__shim_type_infoE
|
||||
D _ZTSN10__cxxabiv117__array_type_infoE
|
||||
D _ZTSN10__cxxabiv117__class_type_infoE
|
||||
D _ZTSN10__cxxabiv117__pbase_type_infoE
|
||||
D _ZTSN10__cxxabiv119__pointer_type_infoE
|
||||
D _ZTSN10__cxxabiv120__function_type_infoE
|
||||
D _ZTSN10__cxxabiv120__si_class_type_infoE
|
||||
D _ZTSN10__cxxabiv121__vmi_class_type_infoE
|
||||
D _ZTSN10__cxxabiv123__fundamental_type_infoE
|
||||
D _ZTSN10__cxxabiv129__pointer_to_member_type_infoE
|
||||
C _ZTSNSt3__19nullptr_tE
|
||||
D _ZTSPDi
|
||||
D _ZTSPDn
|
||||
D _ZTSPDs
|
||||
D _ZTSPKDi
|
||||
D _ZTSPKDn
|
||||
D _ZTSPKDs
|
||||
D _ZTSPKa
|
||||
D _ZTSPKb
|
||||
D _ZTSPKc
|
||||
D _ZTSPKd
|
||||
D _ZTSPKe
|
||||
D _ZTSPKf
|
||||
D _ZTSPKh
|
||||
D _ZTSPKi
|
||||
D _ZTSPKj
|
||||
D _ZTSPKl
|
||||
D _ZTSPKm
|
||||
D _ZTSPKs
|
||||
D _ZTSPKt
|
||||
D _ZTSPKv
|
||||
D _ZTSPKw
|
||||
D _ZTSPKx
|
||||
D _ZTSPKy
|
||||
D _ZTSPa
|
||||
D _ZTSPb
|
||||
D _ZTSPc
|
||||
D _ZTSPd
|
||||
D _ZTSPe
|
||||
D _ZTSPf
|
||||
D _ZTSPh
|
||||
D _ZTSPi
|
||||
D _ZTSPj
|
||||
D _ZTSPl
|
||||
D _ZTSPm
|
||||
D _ZTSPs
|
||||
D _ZTSPt
|
||||
D _ZTSPv
|
||||
D _ZTSPw
|
||||
D _ZTSPx
|
||||
D _ZTSPy
|
||||
D _ZTSSt10bad_typeid
|
||||
D _ZTSSt11logic_error
|
||||
D _ZTSSt11range_error
|
||||
D _ZTSSt12domain_error
|
||||
D _ZTSSt12length_error
|
||||
D _ZTSSt12out_of_range
|
||||
D _ZTSSt13bad_exception
|
||||
D _ZTSSt13runtime_error
|
||||
D _ZTSSt14overflow_error
|
||||
D _ZTSSt15underflow_error
|
||||
D _ZTSSt16invalid_argument
|
||||
D _ZTSSt20bad_array_new_length
|
||||
D _ZTSSt8bad_cast
|
||||
D _ZTSSt9bad_alloc
|
||||
D _ZTSSt9exception
|
||||
D _ZTSSt9type_info
|
||||
D _ZTSa
|
||||
D _ZTSb
|
||||
D _ZTSc
|
||||
D _ZTSd
|
||||
D _ZTSe
|
||||
D _ZTSf
|
||||
D _ZTSh
|
||||
D _ZTSi
|
||||
D _ZTSj
|
||||
D _ZTSl
|
||||
D _ZTSm
|
||||
D _ZTSs
|
||||
D _ZTSt
|
||||
D _ZTSv
|
||||
D _ZTSw
|
||||
D _ZTSx
|
||||
D _ZTSy
|
||||
D _ZTVN10__cxxabiv116__enum_type_infoE
|
||||
D _ZTVN10__cxxabiv116__shim_type_infoE
|
||||
D _ZTVN10__cxxabiv117__array_type_infoE
|
||||
|
@ -10,10 +319,29 @@
|
|||
D _ZTVN10__cxxabiv121__vmi_class_type_infoE
|
||||
D _ZTVN10__cxxabiv123__fundamental_type_infoE
|
||||
D _ZTVN10__cxxabiv129__pointer_to_member_type_infoE
|
||||
D _ZTSSt9type_info
|
||||
T _ZNKSt8bad_cast4whatEv
|
||||
T _ZNSt8bad_castC1Ev
|
||||
T _ZNSt8bad_castC2Ev
|
||||
D _ZTISt8bad_cast
|
||||
D _ZTSSt8bad_cast
|
||||
D _ZTVSt10bad_typeid
|
||||
D _ZTVSt11logic_error
|
||||
D _ZTVSt11range_error
|
||||
D _ZTVSt12domain_error
|
||||
D _ZTVSt12length_error
|
||||
D _ZTVSt12out_of_range
|
||||
D _ZTVSt13bad_exception
|
||||
D _ZTVSt13runtime_error
|
||||
D _ZTVSt14overflow_error
|
||||
D _ZTVSt15underflow_error
|
||||
D _ZTVSt16invalid_argument
|
||||
D _ZTVSt20bad_array_new_length
|
||||
D _ZTVSt8bad_cast
|
||||
D _ZTVSt9bad_alloc
|
||||
D _ZTVSt9exception
|
||||
D _ZTVSt9type_info
|
||||
W _ZdaPv
|
||||
W _ZdaPvRKSt9nothrow_t
|
||||
W _ZdlPv
|
||||
W _ZdlPvRKSt9nothrow_t
|
||||
W _Znaj
|
||||
W _ZnajRKSt9nothrow_t
|
||||
W _Znwj
|
||||
W _ZnwjRKSt9nothrow_t
|
||||
D __cxa_new_handler
|
||||
T __dynamic_cast
|
||||
|
|
|
@ -398,8 +398,7 @@ if USE_EMSDK:
|
|||
'-Xclang', '-isystem' + path_from_root('system', 'include', 'net'),
|
||||
'-Xclang', '-isystem' + path_from_root('system', 'include', 'SDL'),
|
||||
] + [
|
||||
'-U__APPLE__', '-U__linux__',
|
||||
'-D_LIBCPP_HAS_NO_DELETED_FUNCTIONS' # otherwise libc++ has errors with --std=c++11
|
||||
'-U__APPLE__', '-U__linux__'
|
||||
]
|
||||
COMPILER_OPTS += EMSDK_OPTS
|
||||
else:
|
||||
|
|
Загрузка…
Ссылка в новой задаче