mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-17 04:06:46 +00:00

If multiple /manifestdependency: flags are passed, they are naively deduped, but after that each of them should have an effect, instead of just the last one. Also, /manifestdependency: flags are allowed in .drectve sections (from `#pragma comment(linker, ...`). To make the interaction between /manifestdependency: flags enabling manifest by default but /manifest:no overriding this work, add an explict ManifestKind::Default state to represent no explicit /manifest flag being passed. To make /manifestdependency: flags from input file .drectve sections work with /manifest:embed, delay embedded manifest emission until after input files have been read. Differential Revision: https://reviews.llvm.org/D108628
16 lines
528 B
Plaintext
16 lines
528 B
Plaintext
REQUIRES: x86, gnutar, manifest_tool
|
|
|
|
RUN: rm -rf %t && mkdir %t && cd %t
|
|
RUN: lld-link -entry:__ImageBase -nodefaultlib -linkrepro:%t \
|
|
RUN: -manifest:embed %p/Inputs/std32.lib -subsystem:console \
|
|
RUN: -manifestinput:%p/Inputs/manifestinput.test
|
|
|
|
RUN: tar tf repro.tar | FileCheck --check-prefix=LIST %s
|
|
RUN: tar xOf repro.tar repro/response.txt \
|
|
RUN: | FileCheck --implicit-check-not=.manifest.res %s
|
|
|
|
LIST: {{.*}}manifestinput.test
|
|
|
|
CHECK-DAG: -manifest:embed
|
|
CHECK-DAG: -manifestinput:{{.*}}manifestinput.test
|