forked from OSchip/llvm-project
61 lines
2.0 KiB
ArmAsm
61 lines
2.0 KiB
ArmAsm
# Test in default mode
|
|
# RUN: llvm-mc -filetype=obj -triple=wasm32-unknown-unknown -o %t.o %s
|
|
# RUN: not wasm-ld --export=missing -o %t.wasm %t.o 2>&1 | FileCheck -check-prefix=CHECK-ERROR %s
|
|
# RUN: wasm-ld --export=hidden_function -o %t.wasm %t.o
|
|
# RUN: obj2yaml %t.wasm | FileCheck %s
|
|
|
|
# Now test in Emscripten mode
|
|
# RUN: llvm-mc -filetype=obj -triple=wasm32-unknown-emscripten -o %t.o %s
|
|
# RUN: not wasm-ld --export=missing -o %t.wasm %t.o 2>&1 | FileCheck -check-prefix=CHECK-ERROR %s
|
|
# RUN: wasm-ld --export=hidden_function -o %t.wasm %t.o
|
|
# RUN: obj2yaml %t.wasm | FileCheck %s --check-prefixes=CHECK,EMSCRIPTEN
|
|
|
|
# Not exported by default, but forced via commandline
|
|
.hidden hidden_function
|
|
.globl hidden_function
|
|
hidden_function:
|
|
.functype hidden_function () -> (i32)
|
|
i32.const 0
|
|
end_function
|
|
|
|
# Not exported by default
|
|
.globl default_function
|
|
default_function:
|
|
.functype default_function () -> (i32)
|
|
i32.const 0
|
|
end_function
|
|
|
|
# Exported in emscripten mode which treats .no_dead_strip as a signal to export
|
|
.no_dead_strip used_function
|
|
.globl used_function
|
|
used_function:
|
|
.functype used_function () -> (i32)
|
|
i32.const 0
|
|
end_function
|
|
|
|
# Exported by default
|
|
.globl _start
|
|
_start:
|
|
.functype _start () -> ()
|
|
end_function
|
|
|
|
# CHECK-ERROR: error: symbol exported via --export not found: missing
|
|
|
|
# CHECK-NOT: - Name: default_function
|
|
|
|
# CHECK: - Type: EXPORT
|
|
# CHECK-NEXT: Exports:
|
|
# CHECK-NEXT: - Name: memory
|
|
# CHECK-NEXT: Kind: MEMORY
|
|
# CHECK-NEXT: Index: 0
|
|
# CHECK-NEXT: - Name: hidden_function
|
|
# CHECK-NEXT: Kind: FUNCTION
|
|
# CHECK-NEXT: Index: 0
|
|
# EMSCRIPTEN-NEXT: - Name: used_function
|
|
# EMSCRIPTEN-NEXT: Kind: FUNCTION
|
|
# EMSCRIPTEN-NEXT: Index: 1
|
|
# CHECK-NEXT: - Name: _start
|
|
# CHECK-NEXT: Kind: FUNCTION
|
|
# CHECK-NEXT: Index: 2
|
|
# CHECK-NEXT: - Type: CODE
|