[PATCH] D123517: [llvm-lib] Add /WX, warn by default on empty inputs, add opt-out
Nico Weber via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 11 08:07:45 PDT 2022
thakis created this revision.
thakis added a reviewer: hans.
Herald added a subscriber: hiraditya.
Herald added a project: All.
thakis requested review of this revision.
Herald added a project: LLVM.
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).
https://reviews.llvm.org/D123517
Files:
lld/COFF/Options.td
llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
llvm/lib/ToolDrivers/llvm-lib/Options.td
llvm/test/tools/llvm-lib/no-inputs.test
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D123517.421934.patch
Type: text/x-patch
Size: 5166 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220411/5bdea6e1/attachment.bin>
More information about the llvm-commits
mailing list