# RUN: llvm-mc -triple=wasm32-unknown-unknown -filetype=obj -o %t.o %s # RUN: wasm-ld %t.o -o %t.wasm # RUN: obj2yaml %t.wasm | FileCheck %s # Tests use of externref type, including storing it in a global .globaltype my_global, externref .globl read_externref read_externref: .functype read_externref () -> (externref) global.get my_global end_function .globl write_externref write_externref: .functype write_externref (externref) -> () local.get 0 global.set my_global end_function my_global: .globl _start _start: .functype _start () -> () call read_externref call write_externref end_function # CHECK: - Type: GLOBAL # CHECK-NEXT: Globals: # CHECK-NEXT: - Index: 0 # CHECK-NEXT: Type: I32 # CHECK-NEXT: Mutable: true # CHECK-NEXT: InitExpr: # CHECK-NEXT: Opcode: I32_CONST # CHECK-NEXT: Value: 66560 # CHECK-NEXT: - Index: 1 # CHECK-NEXT: Type: EXTERNREF # CHECK-NEXT: Mutable: true # CHECK-NEXT: InitExpr: # CHECK-NEXT: Opcode: REF_NULL # CHECK-NEXT: Type: EXTERNREF