summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAlon Zakai <azakai@google.com>2022-07-19 16:03:01 -0700
committerGitHub <noreply@github.com>2022-07-19 16:03:01 -0700
commit1c53f7dd29e79bc1894959cad817b22f087689f7 (patch)
treec3d114a3359f4ba9175f7cff3bf3bc6b83c2b885 /test
parent984078acc7625c44870a3d256deaa19b76894de0 (diff)
downloadbinaryen-1c53f7dd29e79bc1894959cad817b22f087689f7.tar.gz
binaryen-1c53f7dd29e79bc1894959cad817b22f087689f7.tar.bz2
binaryen-1c53f7dd29e79bc1894959cad817b22f087689f7.zip
[Strings] Add string.new GC variants (#4813)
Diffstat (limited to 'test')
-rw-r--r--test/lit/strings.wast52
1 files changed, 51 insertions, 1 deletions
diff --git a/test/lit/strings.wast b/test/lit/strings.wast
index 25ec73326..c807ac000 100644
--- a/test/lit/strings.wast
+++ b/test/lit/strings.wast
@@ -2,7 +2,7 @@
;; Check that string types are emitted properly in the binary format.
-;; RUN: foreach %s %t wasm-opt --enable-strings --enable-reference-types --roundtrip -S -o - | filecheck %s
+;; RUN: foreach %s %t wasm-opt --enable-strings --enable-reference-types --enable-gc --roundtrip -S -o - | filecheck %s
(module
;; CHECK: (type $ref?|string|_=>_none (func (param stringref)))
@@ -17,6 +17,11 @@
;; CHECK: (type $ref?|stringview_wtf16|_=>_none (func (param stringview_wtf16)))
+ ;; CHECK: (type $ref|$array|_=>_none (func (param (ref $array))))
+
+ ;; CHECK: (type $array (array i32))
+ (type $array (array_subtype i32 data))
+
;; CHECK: (global $string-const stringref (string.const "string in a global"))
(global $string-const stringref (string.const "string in a global"))
@@ -425,4 +430,49 @@
)
)
)
+
+ ;; CHECK: (func $string.new.gc (param $array (ref $array))
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (string.new_wtf8_array utf8
+ ;; CHECK-NEXT: (local.get $array)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (string.new_wtf8_array wtf8
+ ;; CHECK-NEXT: (local.get $array)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (string.new_wtf8_array replace
+ ;; CHECK-NEXT: (local.get $array)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (string.new_wtf16_array
+ ;; CHECK-NEXT: (local.get $array)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $string.new.gc (param $array (ref $array))
+ (drop
+ (string.new_wtf8_array utf8
+ (local.get $array)
+ )
+ )
+ (drop
+ (string.new_wtf8_array wtf8
+ (local.get $array)
+ )
+ )
+ (drop
+ (string.new_wtf8_array replace
+ (local.get $array)
+ )
+ )
+ (drop
+ (string.new_wtf16_array
+ (local.get $array)
+ )
+ )
+ )
)