aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2012-09-05 12:17:23 -0700
committerAlon Zakai <alonzakai@gmail.com>2012-09-05 12:17:23 -0700
commit41d10c114da0316f90d1b482cacd61d10c2da5cb (patch)
tree7790bc7adb9cdd9e4b2b982ed1c10cccca8418e7 /src
parentef417d0e7f4d387e0dc378502651851a5f942a26 (diff)
typeid improvements
Diffstat (limited to 'src')
-rw-r--r--src/library.js41
1 files changed, 25 insertions, 16 deletions
diff --git a/src/library.js b/src/library.js
index 4997d6e8..32186eac 100644
--- a/src/library.js
+++ b/src/library.js
@@ -4755,10 +4755,19 @@ LibraryManager.library = {
__cxa_is_number_type: function(type) {
var isNumber = false;
try { if (type == __ZTIi) isNumber = true } catch(e){}
+ try { if (type == __ZTIj) isNumber = true } catch(e){}
try { if (type == __ZTIl) isNumber = true } catch(e){}
+ try { if (type == __ZTIm) isNumber = true } catch(e){}
try { if (type == __ZTIx) isNumber = true } catch(e){}
+ try { if (type == __ZTIy) isNumber = true } catch(e){}
try { if (type == __ZTIf) isNumber = true } catch(e){}
try { if (type == __ZTId) isNumber = true } catch(e){}
+ try { if (type == __ZTIe) isNumber = true } catch(e){}
+ try { if (type == __ZTIc) isNumber = true } catch(e){}
+ try { if (type == __ZTIa) isNumber = true } catch(e){}
+ try { if (type == __ZTIh) isNumber = true } catch(e){}
+ try { if (type == __ZTIs) isNumber = true } catch(e){}
+ try { if (type == __ZTIt) isNumber = true } catch(e){}
return isNumber;
},
@@ -4839,22 +4848,22 @@ LibraryManager.library = {
// RTTI hacks for exception handling, defining type_infos for common types.
// The values are dummies. We simply use the addresses of these statically
// allocated variables as unique identifiers.
- // type_info for int.
- _ZTIi: [0],
- // type_info for long.
- _ZTIl: [0],
- // type_info for long long.
- _ZTIx: [0],
- // type_info for float.
- _ZTIf: [0],
- // type_info for double.
- _ZTId: [0],
- // type_info for char.
- _ZTIc: [0],
- // type_info for void.
- _ZTIv: [0],
- // type_info for void*.
- _ZTIPv: [0],
+ _ZTIi: [0], // int
+ _ZTIj: [0], // unsigned int
+ _ZTIl: [0], // long
+ _ZTIm: [0], // unsigned long
+ _ZTIx: [0], // long long
+ _ZTIy: [0], // unsigned long long
+ _ZTIf: [0], // float
+ _ZTId: [0], // double
+ _ZTIe: [0], // long double
+ _ZTIc: [0], // char
+ _ZTIa: [0], // signed char
+ _ZTIh: [0], // unsigned char
+ _ZTIs: [0], // short
+ _ZTIt: [0], // signed short
+ _ZTIv: [0], // void
+ _ZTIPv: [0], // void*
llvm_uadd_with_overflow_i8: function(x, y) {
x = x & 0xff;