aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjulien.hamaide <julien.hamaide@fishingcactus.com>2012-02-08 13:59:06 +0100
committerjulien.hamaide <julien.hamaide@fishingcactus.com>2012-02-08 13:59:06 +0100
commit595717c22f51d0bb2035bceacffd02a280ef6218 (patch)
treec300df5b435e3d3f5c47d1e417324bc3dd6d5a8b
parent29fbebcc21df391a8f244d39634812a4fe6d2e5e (diff)
Missing files
Fix to keep library.js unchanged
-rw-r--r--system/include/libcxx/__locale15
-rw-r--r--system/lib/libcxx/locale.cpp2
2 files changed, 15 insertions, 2 deletions
diff --git a/system/include/libcxx/__locale b/system/include/libcxx/__locale
index f63815c3..7b7cfcd7 100644
--- a/system/include/libcxx/__locale
+++ b/system/include/libcxx/__locale
@@ -330,8 +330,21 @@ public:
static const mask punct = _PUNCT;
static const mask xdigit = _HEX;
static const mask blank = _BLANK;
+#elif defined( EMSCRIPTEN )
+ #define _ISbit(bit) ((bit) < 8 ? ((1 << (bit)) << 8) : ((1 << (bit)) >> 8))
+ typedef __uint16_t mask;
+ static const mask upper = _ISbit( 0 );
+ static const mask lower = _ISbit( 1 );
+ static const mask alpha = _ISbit( 2 );
+ static const mask digit = _ISbit( 3 );
+ static const mask xdigit = _ISbit( 4 );
+ static const mask space = _ISbit( 5 );
+ static const mask print = _ISbit( 6 );
+ static const mask blank = _ISbit( 8 );
+ static const mask cntrl = _ISbit( 9 );
+ static const mask punct = _ISbit( 10 );
#else // __GLIBC__ || _WIN32
-#if defined(__APPLE__) || defined(EMSCRIPTEN)
+#if defined(__APPLE__)
typedef __uint32_t mask;
#elif __FreeBSD__
typedef unsigned long mask;
diff --git a/system/lib/libcxx/locale.cpp b/system/lib/libcxx/locale.cpp
index 0530b7af..4675fec3 100644
--- a/system/lib/libcxx/locale.cpp
+++ b/system/lib/libcxx/locale.cpp
@@ -910,7 +910,7 @@ ctype<char>::do_narrow(const char_type* low, const char_type* high, char dfault,
}
// XXX Emscripten define local table
-extern "C" const unsigned int ** __ctype_b_loc();
+extern "C" const unsigned short ** __ctype_b_loc();
extern "C" const int ** __ctype_tolower_loc();
extern "C" const int ** __ctype_toupper_loc();