llvm-capstone/lld/test/COFF/incremental.test
Nico Weber 0945ad6643 [lld-link] Let /PROFILE imply /OPT:REF /OPT:NOICF /INCREMENTAL:NO /FIXED:NO
/FIXED:NO is always the default, so that part needs no work.

Also test the interaction of /ORDER: with /INCREMENTAL.

https://reviews.llvm.org/D45091

llvm-svn: 328877
2018-03-30 17:14:50 +00:00

101 lines
4.6 KiB
Plaintext

# RUN: yaml2obj < %p/Inputs/export.yaml > %t.obj
# RUN: lld-link -out:%t.dll -dll %t.obj 2>&1 \
# RUN: | FileCheck -allow-empty -check-prefix=NOWARN %s
# RUN: touch -t 198002011200.00 %t.lib
# RUN: lld-link -out:%t.dll -dll %t.obj
# RUN: ls -l %t.lib | FileCheck -check-prefix=NOKEEP %s
# RUN: lld-link -out:%t.dll -dll -incremental %t.obj 2>&1 \
# RUN: | FileCheck -allow-empty -check-prefix=WARN-REF %s
# RUN: touch -t 198002011200.00 %t.lib
# RUN: lld-link -out:%t.dll -dll -incremental %t.obj
# RUN: ls -l %t.lib | FileCheck -check-prefix=NOKEEP %s
# RUN: lld-link -out:%t.dll -dll -incremental -opt:noref,noicf %t.obj 2>&1 \
# RUN: | FileCheck -allow-empty -check-prefix=NOWARN %s
# RUN: touch -t 198002011200.00 %t.lib
# RUN: lld-link -out:%t.dll -dll -incremental -opt:noref,noicf %t.obj
# RUN: ls -l %t.lib | FileCheck -check-prefix=KEEP %s
# RUN: lld-link -out:%t.dll -dll -debug %t.obj 2>&1 \
# RUN: | FileCheck -allow-empty -check-prefix=NOWARN %s
# RUN: touch -t 198002011200.00 %t.lib
# RUN: lld-link -out:%t.dll -dll -debug %t.obj
# RUN: ls -l %t.lib | FileCheck -check-prefix=KEEP %s
# RUN: lld-link -out:%t.dll -dll -debug -incremental:no %t.obj 2>&1 \
# RUN: | FileCheck -allow-empty -check-prefix=NOWARN %s
# RUN: touch -t 198002011200.00 %t.lib
# RUN: lld-link -out:%t.dll -dll -debug -incremental:no %t.obj
# RUN: ls -l %t.lib | FileCheck -check-prefix=NOKEEP %s
# RUN: lld-link -out:%t.dll -dll -opt:icf %t.obj 2>&1 \
# RUN: | FileCheck -allow-empty -check-prefix=NOWARN %s
# RUN: touch -t 198002011200.00 %t.lib
# RUN: lld-link -out:%t.dll -dll -opt:icf %t.obj
# RUN: ls -l %t.lib | FileCheck -check-prefix=NOKEEP %s
# RUN: lld-link -out:%t.dll -dll -incremental -opt:noref,icf %t.obj 2>&1 \
# RUN: | FileCheck -check-prefix=WARN-ICF %s
# RUN: touch -t 198002011200.00 %t.lib
# RUN: lld-link -out:%t.dll -dll -incremental -opt:noref,icf %t.obj
# RUN: ls -l %t.lib | FileCheck -check-prefix=NOKEEP %s
# RUN: lld-link -out:%t.dll -dll -debug -opt:icf %t.obj 2>&1 \
# RUN: | FileCheck -allow-empty -check-prefix=NOWARN %s
# RUN: touch -t 198002011200.00 %t.lib
# RUN: lld-link -out:%t.dll -dll -debug -opt:icf %t.obj
# RUN: ls -l %t.lib | FileCheck -check-prefix=NOKEEP %s
# RUN: lld-link -out:%t.dll -dll -opt:ref %t.obj 2>&1 \
# RUN: | FileCheck -allow-empty -check-prefix=NOWARN %s
# RUN: touch -t 198002011200.00 %t.lib
# RUN: lld-link -out:%t.dll -dll -opt:ref %t.obj
# RUN: ls -l %t.lib | FileCheck -check-prefix=NOKEEP %s
# RUN: lld-link -out:%t.dll -dll -incremental -opt:ref %t.obj 2>&1 \
# RUN: | FileCheck -check-prefix=WARN-REF %s
# RUN: touch -t 198002011200.00 %t.lib
# RUN: lld-link -out:%t.dll -dll -incremental -opt:ref %t.obj
# RUN: ls -l %t.lib | FileCheck -check-prefix=NOKEEP %s
# RUN: touch %t.order
# RUN: lld-link -out:%t.dll -dll -incremental -opt:noref,noicf %t.obj \
# RUN: -order:@%t.order 2>&1 | FileCheck -check-prefix=WARN-ORDER %s
# RUN: touch -t 198002011200.00 %t.lib
# RUN: lld-link -out:%t.dll -dll -incremental -opt:noref,noicf -order:@%t.order %t.obj
# RUN: ls -l %t.lib | FileCheck -check-prefix=NOKEEP %s
# RUN: lld-link -out:%t.dll -dll -opt:noref,noicf %t.obj \
# RUN: -order:@%t.order 2>&1 | FileCheck -allow-empty -check-prefix=NOWARN %s
# RUN: touch -t 198002011200.00 %t.lib
# RUN: lld-link -out:%t.dll -dll -opt:noref,noicf -order:@%t.order %t.obj
# RUN: ls -l %t.lib | FileCheck -check-prefix=NOKEEP %s
# RUN: lld-link -out:%t.dll -dll -incremental -opt:noref,noicf %t.obj \
# RUN: -profile 2>&1 | FileCheck -check-prefix=WARN-PROFILE %s
# RUN: touch -t 198002011200.00 %t.lib
# RUN: lld-link -out:%t.dll -dll -incremental -opt:noref,noicf -profile %t.obj
# RUN: ls -l %t.lib | FileCheck -check-prefix=NOKEEP %s
# RUN: lld-link -out:%t.dll -dll -opt:noref,noicf %t.obj \
# RUN: -profile 2>&1 | FileCheck -allow-empty -check-prefix=NOWARN %s
# RUN: touch -t 198002011200.00 %t.lib
# RUN: lld-link -out:%t.dll -dll -opt:noref,noicf -profile %t.obj
# RUN: ls -l %t.lib | FileCheck -check-prefix=NOKEEP %s
# RUN: lld-link -out:%t.dll -dll -debug -opt:ref %t.obj 2>&1 \
# RUN: | FileCheck -allow-empty -check-prefix=NOWARN %s
# RUN: touch -t 198002011200.00 %t.lib
# RUN: lld-link -out:%t.dll -dll -debug -opt:ref %t.obj
# RUN: ls -l %t.lib | FileCheck -check-prefix=NOKEEP %s
# NOWARN-NOT: ignoring '/incremental'
# WARN-ICF: ignoring '/incremental' because ICF is enabled; use '/opt:noicf' to disable
# WARN-REF: ignoring '/incremental' because REF is enabled; use '/opt:noref' to disable
# WARN-ORDER: ignoring '/incremental' due to '/order' specification
# WARN-PROFILE: ignoring '/incremental' due to '/profile' specification
# KEEP: {{Feb 1 1980|1980-02-01}}
# NOKEEP-NOT: {{Feb 1 1980|1980-02-01}}