diff options
-rwxr-xr-x | src/embind/embind.js | 5 | ||||
-rwxr-xr-x | system/include/emscripten/bind.h | 4 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/embind/embind.js b/src/embind/embind.js index ccce9f19..1a2cec44 100755 --- a/src/embind/embind.js +++ b/src/embind/embind.js @@ -225,7 +225,10 @@ function __embind_register_bool(rawType, name, trueValue, falseValue) { // [minRange, maxRange], inclusive. function __embind_register_integer(primitiveType, name, minRange, maxRange) { name = Pointer_stringify(name); - registerType(rawType, { + if (maxRange == -1) { // LLVM doesn't have signed and unsigned 32-bit types, so u32 literals come out as 'i32 -1'. Always treat those as max u32. + maxRange = 4294967295; + } + registerType(primitiveType, { name: name, minRange: minRange, maxRange: maxRange, diff --git a/system/include/emscripten/bind.h b/system/include/emscripten/bind.h index b30cf54b..211c67c0 100755 --- a/system/include/emscripten/bind.h +++ b/system/include/emscripten/bind.h @@ -40,8 +40,8 @@ namespace emscripten { void _embind_register_integer( TYPEID integerType, const char* name, - int minRange, - int maxRange); + long minRange, + unsigned long maxRange); void _embind_register_float( TYPEID floatType, |