# RUN: llvm-mc -filetype=obj -triple=wasm32-unknown-unknown -o %t.o %s
.globl _start
_start:
.functype _start () -> ()
end_function
# RUN: not wasm-ld %t -o 2>&1 | FileCheck --check-prefix=NO_O_VAL %s
# NO_O_VAL: error: -o: missing argument
# RUN: not wasm-ld -o %t.exe 2>&1 | FileCheck -check-prefix=IN %s
# IN: error: no input files
# RUN: not wasm-ld %t.o 2>&1 | FileCheck -check-prefix=OUT %s
# OUT: error: no output file specified
# RUN: not wasm-ld 2>&1 | FileCheck -check-prefix=BOTH %s
# BOTH: error: no input files
# BOTH-NOT: error: no output file specified
# RUN: not wasm-ld --export-table --import-table %t.o 2>&1 \
# RUN: | FileCheck -check-prefix=TABLE %s
# TABLE: error: --import-table and --export-table may not be used together
# RUN: not wasm-ld --relocatable --shared-memory %t.o 2>&1 \
# RUN: | FileCheck -check-prefix=SHARED-MEM %s
# SHARED-MEM: error: -r and --shared-memory may not be used together
# RUN: wasm-ld %t.o -z foo -o /dev/null 2>&1 | FileCheck -check-prefix=ERR10 %s
# RUN: wasm-ld %t.o -z foo -o /dev/null --version 2>&1 | FileCheck -check-prefix=ERR10 %s
# ERR10: warning: unknown -z value: foo
## Check we report "unknown -z value" error even with -v.
# RUN: wasm-ld %t.o -z foo -o /dev/null -v 2>&1 | FileCheck -check-prefix=ERR10 %s
## Note: in GNU ld, --fatal-warning still leads to a warning.
# RUN: not wasm-ld %t.o -z foo --fatal-warnings 2>&1 | FileCheck --check-prefix=ERR10-FATAL %s
# ERR10-FATAL: error: unknown -z value: foo
## stack-size without an = is also an error
# RUN: not wasm-ld %t.o -z stack-size 2>&1 | FileCheck -check-prefix=ERR11 %s
# ERR11: unknown -z value: stack-size