| ; Verify that constructors from a .o file which it initially depends on but |
| ; doesn't ultimately contribute to the final link are not included. |
| ; |
| ; RUN: llvm-mc -filetype=obj -triple=wasm32-unknown-unknown %p/Inputs/ctor-ctor.s -o %t.ctor.o |
| ; RUN: llvm-mc -filetype=obj -triple=wasm32-unknown-unknown %p/Inputs/ctor-lib.s -o %t.lib.o |
| ; RUN: llvm-mc -filetype=obj -triple=wasm32-unknown-unknown %p/Inputs/ctor-start.s -o %t.start.o |
| ; RUN: rm -f %t.lib.a |
| ; RUN: llvm-ar rcs %t.lib.a %t.lib.o %t.ctor.o |
| ; RUN: wasm-ld %t.start.o %t.lib.a -o %t.wasm |
| ; RUN: wasm-ld %t.start.o --whole-archive %t.lib.a -o %t2.wasm |
| ; RUN: obj2yaml %t.wasm | FileCheck %s |
| ; RUN: obj2yaml %t2.wasm | FileCheck %s -check-prefix=WHOLEARCHIVE |
| |
| ; CHECK-NOT: __wasm_call_ctors |
| |
| ; WHOLEARCHIVE: __wasm_call_ctors |