summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/gc.wast80
1 files changed, 0 insertions, 80 deletions
diff --git a/test/gc.wast b/test/gc.wast
deleted file mode 100644
index d979f5aee..000000000
--- a/test/gc.wast
+++ /dev/null
@@ -1,80 +0,0 @@
-;; A preliminary test for prototype GC types and instructions.
-;; TODO: Move subtype tests from reference-types.wast here?
-;; TODO: The test assumes that `(i31.new (i32.const N))` is a valid constant
-;; initializer for i31ref types globals, which isn't yet specified.
-
-(module
- ;; Test global initializer expressions
- (global $global_anyref (mut anyref) (ref.null any))
- (global $global_eqref (mut eqref) (ref.null eq))
- (global $global_i31ref (mut i31ref) (i31.new (i32.const 0)))
-
- ;; Test subtype relationship in global initializer expressions
- (global $global_anyref2 (mut anyref) (ref.null eq))
- (global $global_anyref3 (mut anyref) (i31.new (i32.const 0)))
- (global $global_eqref2 (mut eqref) (i31.new (i32.const 0)))
-
- (func $test
- (param $local_i31ref i31ref)
- (param $local_structref structref)
-
- (local $local_i32 i32)
- (local $local_anyref anyref)
- (local $local_eqref eqref)
-
- ;; Test types for local.get/set
- (local.set $local_anyref (local.get $local_anyref))
- (local.set $local_anyref (global.get $global_anyref))
- (local.set $local_anyref (ref.null any))
- (local.set $local_eqref (local.get $local_eqref))
- (local.set $local_eqref (global.get $global_eqref))
- (local.set $local_eqref (ref.null eq))
- (local.set $local_i31ref (local.get $local_i31ref))
- (local.set $local_i31ref (global.get $global_i31ref))
- (local.set $local_i31ref (i31.new (i32.const 0)))
-
- ;; Test subtype relationship for local.set
- (local.set $local_anyref (local.get $local_eqref))
- (local.set $local_anyref (global.get $global_eqref))
- (local.set $local_anyref (ref.null eq))
- (local.set $local_anyref (local.get $local_i31ref))
- (local.set $local_anyref (global.get $global_i31ref))
- (local.set $local_anyref (i31.new (i32.const 0)))
- (local.set $local_eqref (local.get $local_i31ref))
- (local.set $local_eqref (global.get $global_i31ref))
- (local.set $local_eqref (i31.new (i32.const 0)))
-
- ;; Test types for global.get/set
- (global.set $global_anyref (local.get $local_anyref))
- (global.set $global_anyref (global.get $global_anyref))
- (global.set $global_anyref (ref.null any))
- (global.set $global_eqref (local.get $local_eqref))
- (global.set $global_eqref (global.get $global_eqref))
- (global.set $global_eqref (ref.null eq))
- (global.set $global_i31ref (local.get $local_i31ref))
- (global.set $global_i31ref (global.get $global_i31ref))
- (global.set $global_i31ref (i31.new (i32.const 0)))
-
- ;; Test subtype relationship for global.set
- (global.set $global_anyref (local.get $local_eqref))
- (global.set $global_anyref (global.get $global_eqref))
- (global.set $global_anyref (ref.null eq))
- (global.set $global_anyref (local.get $local_i31ref))
- (global.set $global_anyref (global.get $global_i31ref))
- (global.set $global_anyref (i31.new (i32.const 0)))
- (global.set $global_eqref (local.get $local_i31ref))
- (global.set $global_eqref (global.get $global_i31ref))
- (global.set $global_eqref (i31.new (i32.const 0)))
-
- ;; Test i31.get_s/u
- (local.set $local_i32 (i31.get_s (local.get $local_i31ref)))
- (local.set $local_i32 (i31.get_u (local.get $local_i31ref)))
- )
-
- (func $test-variants
- (param $local_i31refnull (ref null i31))
- (param $local_i31refnonnull (ref i31))
- (param $local_structrefnull (ref null struct))
- (param $local_structrefnonnull (ref struct))
- )
-)