diff options
author | Alon Zakai <alonzakai@gmail.com> | 2015-12-22 16:55:09 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2015-12-22 16:55:09 -0800 |
commit | 30e50a249b5addeef577dfd59501a569f34de920 (patch) | |
tree | d01e0f382844e470c208635c56cdcbdba4de9bdf | |
parent | 9fd7cfcb3f50eac87016170e8c130674fd37fcd0 (diff) | |
parent | 175da4d20630afd2c0ab5b9be5842c41694c2b35 (diff) | |
download | binaryen-30e50a249b5addeef577dfd59501a569f34de920.tar.gz binaryen-30e50a249b5addeef577dfd59501a569f34de920.tar.bz2 binaryen-30e50a249b5addeef577dfd59501a569f34de920.zip |
Merge pull request #31 from WebAssembly/int8-int16
s2wasm: support .int8 and .int16 data
-rw-r--r-- | src/s2wasm.h | 10 | ||||
-rw-r--r-- | test/s2wasm_known_gcc_test_failures.txt | 65 |
2 files changed, 10 insertions, 65 deletions
diff --git a/src/s2wasm.h b/src/s2wasm.h index 7c42a81b0..b3c22d83d 100644 --- a/src/s2wasm.h +++ b/src/s2wasm.h @@ -895,6 +895,16 @@ private: for (size_t i = 0, e = size; i < e; i++) { raw->push_back(0); } + } else if (match(".int8")) { + size_t size = raw->size(); + raw->resize(size + 1); + (*(int8_t*)(&(*raw)[size])) = getInt(); + zero = false; + } else if (match(".int16")) { + size_t size = raw->size(); + raw->resize(size + 2); + (*(int16_t*)(&(*raw)[size])) = getInt(); + zero = false; } else if (match(".int32")) { size_t size = raw->size(); raw->resize(size + 4); diff --git a/test/s2wasm_known_gcc_test_failures.txt b/test/s2wasm_known_gcc_test_failures.txt index 0801493aa..c2ea18008 100644 --- a/test/s2wasm_known_gcc_test_failures.txt +++ b/test/s2wasm_known_gcc_test_failures.txt @@ -1,85 +1,20 @@ # Expected failures from running s2wasm on the linked GCC torture test output # files. -20000412-1.c.s -20000412-6.c.s -20000528-1.c.s -20010224-1.c.s -20010915-1.c.s 20010924-1.c.s -20020201-1.c.s -20020216-1.c.s -20020226-1.c.s -20020508-1.c.s -20020508-2.c.s -20020508-3.c.s -20020911-1.c.s -20021010-2.c.s -20021015-1.c.s -20030128-1.c.s -20030714-1.c.s 20031215-1.c.s -20041124-1.c.s 20050929-1.c.s -20060905-1.c.s 20071220-1.c.s 20071220-2.c.s -20111227-1.c.s -20111227-2.c.s -20111227-3.c.s -20131127-1.c.s -20140212-1.c.s 930930-1.c.s 950426-1.c.s -960326-1.c.s 961125-1.c.s -980612-1.c.s -align-2.c.s align-3.c.s -bitfld-3.c.s -bitfld-4.c.s -compndlit-1.c.s -memset-1.c.s -memset-2.c.s -memset-3.c.s -packed-1.c.s -pr19606.c.s -pr21173.c.s -pr23324.c.s pr27285.c.s -pr29006.c.s -pr29695-2.c.s pr34415.c.s pr35800.c.s -pr36691.c.s -pr37924.c.s -pr40386.c.s -pr42269-2.c.s -pr42512.c.s pr51933.c.s -pr52979-1.c.s -pr52979-2.c.s pr53084.c.s -pr53160.c.s -pr57344-3.c.s -pr57344-4.c.s -pr57861.c.s -pr57877.c.s -pr58277-2.c.s -pr58419.c.s -pr58431.c.s -pr58831.c.s -pr59221.c.s -pr59387.c.s -pr59747.c.s pr60017.c.s -pr61306-3.c.s -pr61673.c.s -pr63659.c.s -simd-2.c.s -simd-5.c.s string-opt-17.c.s string-opt-5.c.s -struct-ini-1.c.s -struct-ini-2.c.s -struct-ini-3.c.s |