| ;; Test that shared memory requires atomics |
| |
| ;; RUN: not wasm-opt -all --disable-extended-const %s 2>&1 | filecheck %s --check-prefix NO-EXTENDED |
| ;; RUN: wasm-opt %s -all -o - -S | filecheck %s --check-prefix EXTENDED |
| |
| ;; NO-EXTENDED: unexpected false: global init must be constant |
| ;; NO-EXTENDED: unexpected false: memory segment offset must be constant |
| ;; NO-EXTENDED: unexpected false: table segment offset must be constant |
| |
| ;; EXTENDED: (import "env" "global" (global $gimport$0 i32)) |
| ;; EXTENDED: (global $global$1 i32 (i32.add |
| ;; EXTENDED: (global.get $gimport$0) |
| ;; EXTENDED: (i32.const 42) |
| ;; EXTENDED: )) |
| ;; EXTENDED: (data $0 (offset (i32.sub |
| ;; EXTENDED: (global.get $gimport$0) |
| ;; EXTENDED: (i32.const 10) |
| ;; EXTENDED: )) "hello world") |
| ;; EXTENDED: (elem $0 (offset (i32.sub |
| ;; EXTENDED: (global.get $gimport$0) |
| ;; EXTENDED: (i32.const 10) |
| ;; EXTENDED: ))) |
| |
| (module |
| (import "env" "global" (global i32)) |
| (memory 1 1) |
| (table 1 1 funcref) |
| (global i32 (i32.add (global.get 0) (i32.const 42))) |
| (data (offset (i32.sub (global.get 0) (i32.const 10))) "hello world") |
| (elem (offset (i32.sub (global.get 0) (i32.const 10))) func) |
| ) |