diff options
author | Nico Weber <thakis@chromium.org> | 2022-04-11 11:01:34 -0400 |
---|---|---|
committer | Nico Weber <thakis@chromium.org> | 2022-04-11 13:15:30 -0400 |
commit | 75196b99fbd3397ccb7960b6e7ad7c40efef2315 (patch) | |
tree | 84bc615963d72218e674cd5fa46ade8c490a2fbc /clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp | |
parent | 76192182d0ca8e0c82c6d7aa9c11de07328b4c62 (diff) | |
download | llvm-75196b99fbd3397ccb7960b6e7ad7c40efef2315.zip llvm-75196b99fbd3397ccb7960b6e7ad7c40efef2315.tar.gz llvm-75196b99fbd3397ccb7960b6e7ad7c40efef2315.tar.bz2 |
[llvm-lib] Add /WX, warn by default on empty inputs, add opt-out
lib.exe by default exits successfully without writing an output
file when no inputs are passed. llvm-lib has the same behavior,
for compatibility.
This behavior interacts poorly with build systems: If a static
library target had no inputs, llvm-lib would not produce an output
file, causing ninja (or make, or a similar system) to successfully
run that step, but then re-run it on the next build.
After this patch, llvm-lib emits a warning in this case, that with
/WX can be turned into an error. That way, ninja (or make, or...)
will mark the initial build as failed.
People who don't like the warning can use /ignore:emptyoutput to
suppress it.
The warning also points out the existing flag /llvmlibempty which
forces creation of an empty .lib file (this is an extension to lib.exe).
Differential Revision: https://reviews.llvm.org/D123517
Diffstat (limited to 'clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp')
0 files changed, 0 insertions, 0 deletions