reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
# RUN: mkdir -p %t/a %t/b %t/c
# RUN: cp %p/Inputs/std64.lib %t/a/
# RUN: cp %p/Inputs/std64.lib %t/b/
# RUN: cp %p/Inputs/std64.lib %t/c/

# RUN: env LIB=%t/a lld-link /out:%t.exe /entry:main /verbose \
# RUN:   std64.lib /subsystem:console %p/Inputs/hello64.obj \
# RUN:   /libpath:%t/b /libpath:%t/c 2> %t.log
# RUN: FileCheck -check-prefix=CHECK1 %s < %t.log

CHECK1: b{{[/\\]}}std64.lib

# RUN: lld-link /out:%t.exe /entry:main /verbose \
# RUN:   std64.lib /subsystem:console %p/Inputs/hello64.obj \
# RUN:   /libpath:%t/a /libpath:%t/b /libpath:%t/c 2> %t.log
# RUN: FileCheck -check-prefix=CHECK2 %s < %t.log

CHECK2: a{{[/\\]}}std64.lib

# RUN: lld-link /out:%t.exe /entry:main /verbose \
# RUN:   %t/a/std64.lib /subsystem:console %p/Inputs/hello64.obj \
# RUN:   /libpath:%t/b /verbose > %t.log 2>&1
# RUN: FileCheck -check-prefix=CHECK3 %s < %t.log

CHECK3:     Reading {{.*}}a/std64.lib
CHECK3-NOT: Reading {{.*}}b/std64.lib

# RUN: env LIB=%t/a lld-link /out:%t.exe /entry:main /verbose \
# RUN:   std64.lib /subsystem:console %p/Inputs/hello64.obj \
# RUN:   2> %t.log
# RUN: FileCheck -check-prefix=CHECK4 %s < %t.log

CHECK4: a{{[/\\]}}std64.lib

# This should fail because /lldignoreenv should make lld-link
# ignore the LIB env var.
# RUN: env LIB=%t/a not lld-link /out:%t.exe /entry:main /verbose \
# RUN:   std64.lib /subsystem:console %p/Inputs/hello64.obj \
# RUN:   /lldignoreenv