Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / lld / test / wasm / undefined.ll
blob0ad93b78531caa21cce9c54fed487d7edbcccdb1
1 ; RUN: llc -filetype=obj %s -o %t.o
2 ; RUN: wasm-ld --allow-undefined -o %t.wasm %t.o
4 ; Fails due to undefined 'foo'
5 ; RUN: not wasm-ld --undefined=baz -o %t.wasm %t.o 2>&1 | FileCheck %s
6 ; CHECK: error: {{.*}}.o: undefined symbol: foo
7 ; CHECK-NOT: undefined symbol: baz
9 ; Succeeds if we pass a file containing 'foo' as --allow-undefined-file.
10 ; RUN: echo 'foo' > %t.txt
11 ; RUN: wasm-ld --allow-undefined-file=%t.txt -o %t.wasm %t.o
13 ; Succeeds even if a missing symbol is added via --export
14 ; RUN: wasm-ld --allow-undefined --export=xxx -o %t.wasm %t.o
16 target triple = "wasm32-unknown-unknown"
18 ; Takes the address of the external foo() resulting in undefined external
19 @bar = global ptr @foo, align 4
20 @llvm.used = appending global [1 x ptr] [ptr @bar], section "llvm.metadata"
22 declare i32 @foo() #0
24 define hidden void @_start() local_unnamed_addr #0 {
25 entry:
26     ret void