aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/fixtures/spec_testsuites/core/int_literals.wast
diff options
context:
space:
mode:
Diffstat (limited to 'tests/fixtures/spec_testsuites/core/int_literals.wast')
-rw-r--r--tests/fixtures/spec_testsuites/core/int_literals.wast151
1 files changed, 151 insertions, 0 deletions
diff --git a/tests/fixtures/spec_testsuites/core/int_literals.wast b/tests/fixtures/spec_testsuites/core/int_literals.wast
new file mode 100644
index 0000000..73b37cc
--- /dev/null
+++ b/tests/fixtures/spec_testsuites/core/int_literals.wast
@@ -0,0 +1,151 @@
+(module
+ (func (export "i32.test") (result i32) (return (i32.const 0x0bAdD00D)))
+ (func (export "i32.umax") (result i32) (return (i32.const 0xffffffff)))
+ (func (export "i32.smax") (result i32) (return (i32.const 0x7fffffff)))
+ (func (export "i32.neg_smax") (result i32) (return (i32.const -0x7fffffff)))
+ (func (export "i32.smin") (result i32) (return (i32.const -0x80000000)))
+ (func (export "i32.alt_smin") (result i32) (return (i32.const 0x80000000)))
+ (func (export "i32.inc_smin") (result i32) (return (i32.add (i32.const -0x80000000) (i32.const 1))))
+ (func (export "i32.neg_zero") (result i32) (return (i32.const -0x0)))
+ (func (export "i32.not_octal") (result i32) (return (i32.const 010)))
+ (func (export "i32.unsigned_decimal") (result i32) (return (i32.const 4294967295)))
+ (func (export "i32.plus_sign") (result i32) (return (i32.const +42)))
+
+ (func (export "i64.test") (result i64) (return (i64.const 0x0CABBA6E0ba66a6e)))
+ (func (export "i64.umax") (result i64) (return (i64.const 0xffffffffffffffff)))
+ (func (export "i64.smax") (result i64) (return (i64.const 0x7fffffffffffffff)))
+ (func (export "i64.neg_smax") (result i64) (return (i64.const -0x7fffffffffffffff)))
+ (func (export "i64.smin") (result i64) (return (i64.const -0x8000000000000000)))
+ (func (export "i64.alt_smin") (result i64) (return (i64.const 0x8000000000000000)))
+ (func (export "i64.inc_smin") (result i64) (return (i64.add (i64.const -0x8000000000000000) (i64.const 1))))
+ (func (export "i64.neg_zero") (result i64) (return (i64.const -0x0)))
+ (func (export "i64.not_octal") (result i64) (return (i64.const 010)))
+ (func (export "i64.unsigned_decimal") (result i64) (return (i64.const 18446744073709551615)))
+ (func (export "i64.plus_sign") (result i64) (return (i64.const +42)))
+
+ (func (export "i32-dec-sep1") (result i32) (i32.const 1_000_000))
+ (func (export "i32-dec-sep2") (result i32) (i32.const 1_0_0_0))
+ (func (export "i32-hex-sep1") (result i32) (i32.const 0xa_0f_00_99))
+ (func (export "i32-hex-sep2") (result i32) (i32.const 0x1_a_A_0_f))
+
+ (func (export "i64-dec-sep1") (result i64) (i64.const 1_000_000))
+ (func (export "i64-dec-sep2") (result i64) (i64.const 1_0_0_0))
+ (func (export "i64-hex-sep1") (result i64) (i64.const 0xa_f00f_0000_9999))
+ (func (export "i64-hex-sep2") (result i64) (i64.const 0x1_a_A_0_f))
+)
+
+(assert_return (invoke "i32.test") (i32.const 195940365))
+(assert_return (invoke "i32.umax") (i32.const -1))
+(assert_return (invoke "i32.smax") (i32.const 2147483647))
+(assert_return (invoke "i32.neg_smax") (i32.const -2147483647))
+(assert_return (invoke "i32.smin") (i32.const -2147483648))
+(assert_return (invoke "i32.alt_smin") (i32.const -2147483648))
+(assert_return (invoke "i32.inc_smin") (i32.const -2147483647))
+(assert_return (invoke "i32.neg_zero") (i32.const 0))
+(assert_return (invoke "i32.not_octal") (i32.const 10))
+(assert_return (invoke "i32.unsigned_decimal") (i32.const -1))
+(assert_return (invoke "i32.plus_sign") (i32.const 42))
+
+(assert_return (invoke "i64.test") (i64.const 913028331277281902))
+(assert_return (invoke "i64.umax") (i64.const -1))
+(assert_return (invoke "i64.smax") (i64.const 9223372036854775807))
+(assert_return (invoke "i64.neg_smax") (i64.const -9223372036854775807))
+(assert_return (invoke "i64.smin") (i64.const -9223372036854775808))
+(assert_return (invoke "i64.alt_smin") (i64.const -9223372036854775808))
+(assert_return (invoke "i64.inc_smin") (i64.const -9223372036854775807))
+(assert_return (invoke "i64.neg_zero") (i64.const 0))
+(assert_return (invoke "i64.not_octal") (i64.const 10))
+(assert_return (invoke "i64.unsigned_decimal") (i64.const -1))
+(assert_return (invoke "i64.plus_sign") (i64.const 42))
+
+(assert_return (invoke "i32-dec-sep1") (i32.const 1000000))
+(assert_return (invoke "i32-dec-sep2") (i32.const 1000))
+(assert_return (invoke "i32-hex-sep1") (i32.const 0xa0f0099))
+(assert_return (invoke "i32-hex-sep2") (i32.const 0x1aa0f))
+
+(assert_return (invoke "i64-dec-sep1") (i64.const 1000000))
+(assert_return (invoke "i64-dec-sep2") (i64.const 1000))
+(assert_return (invoke "i64-hex-sep1") (i64.const 0xaf00f00009999))
+(assert_return (invoke "i64-hex-sep2") (i64.const 0x1aa0f))
+
+(assert_malformed
+ (module quote "(global i32 (i32.const _100))")
+ "unknown operator"
+)
+(assert_malformed
+ (module quote "(global i32 (i32.const +_100))")
+ "unknown operator"
+)
+(assert_malformed
+ (module quote "(global i32 (i32.const -_100))")
+ "unknown operator"
+)
+(assert_malformed
+ (module quote "(global i32 (i32.const 99_))")
+ "unknown operator"
+)
+(assert_malformed
+ (module quote "(global i32 (i32.const 1__000))")
+ "unknown operator"
+)
+(assert_malformed
+ (module quote "(global i32 (i32.const _0x100))")
+ "unknown operator"
+)
+(assert_malformed
+ (module quote "(global i32 (i32.const 0_x100))")
+ "unknown operator"
+)
+(assert_malformed
+ (module quote "(global i32 (i32.const 0x_100))")
+ "unknown operator"
+)
+(assert_malformed
+ (module quote "(global i32 (i32.const 0x00_))")
+ "unknown operator"
+)
+(assert_malformed
+ (module quote "(global i32 (i32.const 0xff__ffff))")
+ "unknown operator"
+)
+
+(assert_malformed
+ (module quote "(global i64 (i64.const _100))")
+ "unknown operator"
+)
+(assert_malformed
+ (module quote "(global i64 (i64.const +_100))")
+ "unknown operator"
+)
+(assert_malformed
+ (module quote "(global i64 (i64.const -_100))")
+ "unknown operator"
+)
+(assert_malformed
+ (module quote "(global i64 (i64.const 99_))")
+ "unknown operator"
+)
+(assert_malformed
+ (module quote "(global i64 (i64.const 1__000))")
+ "unknown operator"
+)
+(assert_malformed
+ (module quote "(global i64 (i64.const _0x100))")
+ "unknown operator"
+)
+(assert_malformed
+ (module quote "(global i64 (i64.const 0_x100))")
+ "unknown operator"
+)
+(assert_malformed
+ (module quote "(global i64 (i64.const 0x_100))")
+ "unknown operator"
+)
+(assert_malformed
+ (module quote "(global i64 (i64.const 0x00_))")
+ "unknown operator"
+)
+(assert_malformed
+ (module quote "(global i64 (i64.const 0xff__ffff))")
+ "unknown operator"
+)