|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4 |
|
| #
bd0bddc1 |
| 11-Mar-2022 |
Fangrui Song <[email protected]> |
[CommandLine] Remove `may only occur zero or one times!` error
Early adoption of new technologies or adjusting certain code generation/IR optimization thresholds is often available through some cl::
[CommandLine] Remove `may only occur zero or one times!` error
Early adoption of new technologies or adjusting certain code generation/IR optimization thresholds is often available through some cl::opt options (which have unstable surfaces). Specifying such an option twice will lead to an error.
``` % clang -c a.c -mllvm -disable-binop-extract-shuffle -mllvm -disable-binop-extract-shuffle clang (LLVM option parsing): for the --disable-binop-extract-shuffle option: may only occur zero or one times! % clang -c a.c -mllvm -hwasan-instrument-reads=0 -mllvm -hwasan-instrument-reads=0 clang (LLVM option parsing): for the --hwasan-instrument-reads option: may only occur zero or one times! % clang -c a.c -mllvm --scalar-evolution-max-arith-depth=32 -mllvm --scalar-evolution-max-arith-depth=16 clang (LLVM option parsing): for the --scalar-evolution-max-arith-depth option: may only occur zero or one times! ```
The option is specified twice, because there is sometimes a global setting and a specific file or project may need to override (or duplicately specify) the value.
The error is contrary to the common practice of getopt/getopt_long command line utilities that let the last option win and the `getLastArg` behavior used by Clang driver options. I have seen such errors for several times. I think the error just makes users inconvenient, while providing very little value on discouraging production usage of unstable surfaces (this goal is itself controversial, because developers might not want to commit to a stable surface too early, or there is just some subtle codegen toggle which is infeasible to have a driver option). Therefore, I suggest we drop the diagnostic, at least before the diagnostic gets sufficiently better support for the overridding needs.
Removing the error is a degraded error checking experience. I think this error checking behavior, if desirable, should be enabled explicitly by tools. Users preferring the behavior can figure out a way to do so.
Reviewed By: jhenderson, rnk
Differential Revision: https://reviews.llvm.org/D120455
show more ...
|
|
Revision tags: llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1 |
|
| #
4c12a75e |
| 03-Feb-2022 |
Keith Smiley <[email protected]> |
[llvm-libtool-darwin] Add -warnings_as_errors
libtool can currently produce 2 warnings:
1. No symbols were in the object file 2. An object file with the same basename was specified multiple times
[llvm-libtool-darwin] Add -warnings_as_errors
libtool can currently produce 2 warnings:
1. No symbols were in the object file 2. An object file with the same basename was specified multiple times
The first warning here is often harmless and may just mean you have some translation units with no symbols for the target you're building for. The second warning can lead to real issues like those mentioned in https://reviews.llvm.org/D113130 where ODR violations can slip in.
This introduces a new -warnings_as_errors flag that can be used by build systems that want to verify they never hit these warnings. For example with bazel the libtool caller first uniques names to make sure the duplicate base name case is not possible, but if that doesn't work as expected, having it fail would be preferred.
It's also worth noting that llvm-libtool-darwin works around an issue that cctools libtool experiences related to debug info and duplicate basenames, the workaround is described here: https://github.com/llvm/llvm-project/blob/30baa5d2a450d5e302d8cba3fc7a26a59d4b7ae1/llvm/lib/Object/ArchiveWriter.cpp#L424-L465 And it avoids this bug: https://github.com/keith/radars/tree/f0cbbb1c37126ec6528c132510b29e08566377a7/DuplicateBasenameIssue
Differential Revision: https://reviews.llvm.org/D118931
show more ...
|
|
Revision tags: llvmorg-15-init |
|
| #
f4744e9a |
| 28-Jan-2022 |
Shoaib Meenai <[email protected]> |
Reapply "[llvm-libtool-darwin] Print a warning if object file names are repeated"
Loosen the test to make it pass on Windows.
This reapplies commit 4993eff3e253a1c04e1a1a2fa5d68f6b33423419. This re
Reapply "[llvm-libtool-darwin] Print a warning if object file names are repeated"
Loosen the test to make it pass on Windows.
This reapplies commit 4993eff3e253a1c04e1a1a2fa5d68f6b33423419. This reverts commit 96c66040125e87808b23410632b1a6a34547b4e3.
show more ...
|
|
Revision tags: llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2 |
|
| #
96c66040 |
| 12-Jan-2022 |
Shoaib Meenai <[email protected]> |
Revert "[llvm-libtool-darwin] Print a warning if object file names are repeated"
This reverts commit 4993eff3e253a1c04e1a1a2fa5d68f6b33423419.
Tests are failing on Windows: http://45.33.8.238/win/5
Revert "[llvm-libtool-darwin] Print a warning if object file names are repeated"
This reverts commit 4993eff3e253a1c04e1a1a2fa5d68f6b33423419.
Tests are failing on Windows: http://45.33.8.238/win/52360/step_11.txt. We'll need to account for forward slashes vs. backslashes.
show more ...
|
| #
4993eff3 |
| 11-Jan-2022 |
Roger Kim <[email protected]> |
[llvm-libtool-darwin] Print a warning if object file names are repeated
Print a warning if `llvm-libtool-darwin` if any of the object files provided by the user have the same file name.
The tool wi
[llvm-libtool-darwin] Print a warning if object file names are repeated
Print a warning if `llvm-libtool-darwin` if any of the object files provided by the user have the same file name.
The tool will now print a warning if there is a name collision across:
* Two object files * An object file and an object file from within a static library * Two object files from different static libraries
Here is an example of the error:
``` $ llvm-libtool-darwin -static -o archive.a out.o out.o error: file 'out.o' was specified multiple times. in: out.o in: out.o
$ llvm-libtool-darwin -static -o archive.a out.o $ llvm-libtool-darwin -static -o combined.a archive.a out.o error: file 'out.o' was specified multiple times. in: archive.a in: out.o ```
This change mimics apple's cctools libtool's behavior which always shows a warning in such cases.
Reviewed By: smeenai
Differential Revision: https://reviews.llvm.org/D113130
show more ...
|
|
Revision tags: llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1 |
|
| #
05f7b682 |
| 29-Oct-2020 |
Paul-Antoine Arras <[email protected]> |
[llvm-libtool-darwin] Add support for LLVM bitcode files
This diff adds support for LLVM bitcode objects to llvm-libtool-darwin.
Test plan: make check-all
Differential revision: https://reviews.ll
[llvm-libtool-darwin] Add support for LLVM bitcode files
This diff adds support for LLVM bitcode objects to llvm-libtool-darwin.
Test plan: make check-all
Differential revision: https://reviews.llvm.org/D88722
show more ...
|
|
Revision tags: llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3 |
|
| #
303a7f7a |
| 01-Jul-2020 |
Sameer Arora <[email protected]> |
[llvm-libtool-darwin] Add support for -static option
Add support for creating static libraries when the input includes only Mach-O binaries (and not libraries/archives themselves).
Reviewed by alex
[llvm-libtool-darwin] Add support for -static option
Add support for creating static libraries when the input includes only Mach-O binaries (and not libraries/archives themselves).
Reviewed by alexshap, Ktwu, smeenai, jhenderson, MaskRay, mtrent
Differential Revision: https://reviews.llvm.org/D83002
show more ...
|