blob: 206fe6bc239780270f872dc2bd8e92097d7e2a71 [file] [edit]
// REQUIRES: x86
// RUN: split-file %s %t.dir && cd %t.dir
// RUN: llvm-mc -filetype=obj -triple=x86_64-windows refab.s -o refab.obj
// RUN: llvm-mc -filetype=obj -triple=x86_64-windows aa.s -o aa.obj
// RUN: llvm-mc -filetype=obj -triple=x86_64-windows b.s -o b.obj
// RUN: llvm-mc -filetype=obj -triple=x86_64-windows antidep.s -o antidep.obj
// RUN: llvm-lib -out:aa.lib aa.obj
// RUN: llvm-lib -out:b.lib b.obj
// Check that -alternatename with an undefined target does not prevent the symbol from being resolved to a library,
// once another alternate name is resolved and pulls in the source symbol.
// RUN: lld-link -out:out.dll -dll -noentry -machine:amd64 refab.obj aa.lib -alternatename:a=aa -alternatename:b=undef
// Check that -alternatename with an anti-dependency target does not prevent the symbol from being resolved to a library,
// after another alternate name is resolved and pulls in the source symbol.
// RUN: lld-link -out:out2.dll -dll -noentry -machine:amd64 antidep.obj refab.obj aa.lib -alternatename:a=aa -alternatename:b=u
#--- refab.s
.data
.rva a
.rva b
#--- aa.s
.globl aa
aa:
.word 1
.section .drectve, "yn"
.ascii "/defaultlib:b.lib"
#--- b.s
.globl b
b:
.word 2
#--- antidep.s
.weak_anti_dep u
.set u,d
.globl d
d:
.word 3