aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-10-13 11:54:53 -0700
committerAlon Zakai <alonzakai@gmail.com>2013-10-13 11:54:53 -0700
commit70ef107652d2feee009b87dc44039bc0a09b7fff (patch)
tree2986dd5f6dfa60f19d0bf729e239361abe7e86cf
parent1b89f6c41dff81fdb2e65270573c61c663b7635a (diff)
add remaining basic demangle types
-rw-r--r--src/preamble.js11
-rw-r--r--tests/test_other.py2
2 files changed, 12 insertions, 1 deletions
diff --git a/src/preamble.js b/src/preamble.js
index 50497a98..be55a18f 100644
--- a/src/preamble.js
+++ b/src/preamble.js
@@ -656,7 +656,16 @@ function demangle(func) {
'i': 'int',
'l': 'long',
'f': 'float',
- 'd': 'double'
+ 'd': 'double',
+ 'w': 'wchar_t',
+ 'a': 'signed char',
+ 'h': 'unsigned char',
+ 't': 'unsigned short',
+ 'j': 'unsigned int',
+ 'm': 'unsigned long',
+ 'x': 'long long',
+ 'y': 'unsigned long long',
+ 'z': '...'
};
function dump(x) {
//return;
diff --git a/tests/test_other.py b/tests/test_other.py
index 039e286b..25c3b41d 100644
--- a/tests/test_other.py
+++ b/tests/test_other.py
@@ -1929,6 +1929,7 @@ done.
EM_ASM(Module.print(demangle('__ZN3Foo3BarILi5EEEvv')));
EM_ASM(Module.print(demangle('__ZNK10__cxxabiv120__si_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib')));
EM_ASM(Module.print(demangle('__Z9parsewordRPKciRi')));
+ EM_ASM(Module.print(demangle('__Z5multiwahtjmxyz')));
one(17);
return 0;
}
@@ -1947,6 +1948,7 @@ void Foo<int, double>(int)
void Foo::Bar<5>()
__cxxabiv1::__si_class_type_info::search_below_dst(__cxxabiv1::__dynamic_cast_info*, void*, int, bool)
parseword(char*&, int, int&)
+multi(wchar_t, signed char, unsigned char, unsigned short, unsigned int, unsigned long, long long, unsigned long long, ...)
''', output)
# test for multiple functions in one stack trace
assert 'one(int)' in output