-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Also sort crt-static
in --print target-features
output
#126424
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Conversation
llvm_target_features.retain(|(f, _d)| !known_llvm_target_features.contains(f)); | ||
llvm_target_features.sort(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
could the llvm target features already be sorted? there's a binary search just above
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, llvm_target_features
appears to be sorted.
Turns out there is no regression test for the output. Probably because it is highly target specific and probably would be a pain to maintain.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We do have a few that check --print
and -Z
output so it was still worth a shot, but they should have failed locally.
This comment was marked as outdated.
This comment was marked as outdated.
(cc #126430 on that last failure, which is unfortunate as it stops CI from possibly finding a failing test for this PR...) |
r? @lqd |
Relaunched PR CI jobs now that the rustdoc tests are fixed This LGTM once we have the answer on the existing order. |
I didn't find `crt-static` at first (for `x86_64-unknown-linux-gnu`), because it was put at the bottom the large and otherwise sorted list. Fully sort the list before we print it. Note that `llvm_target_features` starts out sorted and does not need to be sorted an extra time.
52a16bb
to
04af371
Compare
--print target-features
crt-static
in --print target-features
output
Thanks! @bors r+ |
Also sort `crt-static` in `--print target-features` output I didn't find `crt-static` at first (for `x86_64-unknown-linux-gnu`), because it was put at the bottom of the large and otherwise sorted list. Fully sort the list before we print it. Note that `llvm_target_features` starts out and remains sorted and does not need to be sorted an extra time. On my machine the diff is just: ```diff $ diff -u /tmp/before2.txt /tmp/after2.txt --- /tmp/before2.txt 2024-06-13 20:40:27.091636592 +0200 +++ /tmp/after2.txt 2024-06-13 20:39:54.584894891 +0200 `@@` -20,6 +20,7 `@@` bmi1 - Support BMI instructions. bmi2 - Support BMI2 instructions. cmpxchg16b - 64-bit with cmpxchg16b (this is true for most x86-64 chips, but not the first AMD chips). + crt-static - Enables C Run-time Libraries to be statically linked. ermsb - REP MOVS/STOS are fast. f16c - Support 16-bit floating point conversion instructions. fma - Enable three-operand fused multiple-add. `@@` -49,7 +50,6 `@@` xsavec - Support xsavec instructions. xsaveopt - Support xsaveopt instructions. xsaves - Support xsaves instructions. - crt-static - Enables C Run-time Libraries to be statically linked. Code-generation features supported by LLVM for this target: 16bit-mode - 16-bit mode (i8086). ``` I couldn't find a ui test that tested this output. Let's see if CI finds a regression tests.
…iaskrgr Rollup of 10 pull requests Successful merges: - rust-lang#125829 (rustc_span: Add conveniences for working with span formats) - rust-lang#126279 (Migrate `inaccessible-temp-dir`, `output-with-hyphens` and `issue-10971-temps-dir` `run-make` tests to `rmake`) - rust-lang#126361 (Unify intrinsics body handling in StableMIR) - rust-lang#126417 (Add `f16` and `f128` inline ASM support for `x86` and `x86-64`) - rust-lang#126424 ( Also sort `crt-static` in `--print target-features` output) - rust-lang#126428 (Polish `std::path::absolute` documentation.) - rust-lang#126429 (Add `f16` and `f128` const eval for binary and unary operationations) - rust-lang#126448 (End support for Python 3.8 in tidy) - rust-lang#126488 (Use `std::path::absolute` in bootstrap) - rust-lang#126511 (.mailmap: Associate both my work and my private email with me) r? `@ghost` `@rustbot` modify labels: rollup
…iaskrgr Rollup of 9 pull requests Successful merges: - rust-lang#125829 (rustc_span: Add conveniences for working with span formats) - rust-lang#126361 (Unify intrinsics body handling in StableMIR) - rust-lang#126417 (Add `f16` and `f128` inline ASM support for `x86` and `x86-64`) - rust-lang#126424 ( Also sort `crt-static` in `--print target-features` output) - rust-lang#126428 (Polish `std::path::absolute` documentation.) - rust-lang#126429 (Add `f16` and `f128` const eval for binary and unary operationations) - rust-lang#126448 (End support for Python 3.8 in tidy) - rust-lang#126488 (Use `std::path::absolute` in bootstrap) - rust-lang#126511 (.mailmap: Associate both my work and my private email with me) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#126424 - Enselic:sort-target-features, r=lqd Also sort `crt-static` in `--print target-features` output I didn't find `crt-static` at first (for `x86_64-unknown-linux-gnu`), because it was put at the bottom of the large and otherwise sorted list. Fully sort the list before we print it. Note that `llvm_target_features` starts out and remains sorted and does not need to be sorted an extra time. On my machine the diff is just: ```diff $ diff -u /tmp/before2.txt /tmp/after2.txt --- /tmp/before2.txt 2024-06-13 20:40:27.091636592 +0200 +++ /tmp/after2.txt 2024-06-13 20:39:54.584894891 +0200 ``@@`` -20,6 +20,7 ``@@`` bmi1 - Support BMI instructions. bmi2 - Support BMI2 instructions. cmpxchg16b - 64-bit with cmpxchg16b (this is true for most x86-64 chips, but not the first AMD chips). + crt-static - Enables C Run-time Libraries to be statically linked. ermsb - REP MOVS/STOS are fast. f16c - Support 16-bit floating point conversion instructions. fma - Enable three-operand fused multiple-add. ``@@`` -49,7 +50,6 ``@@`` xsavec - Support xsavec instructions. xsaveopt - Support xsaveopt instructions. xsaves - Support xsaves instructions. - crt-static - Enables C Run-time Libraries to be statically linked. Code-generation features supported by LLVM for this target: 16bit-mode - 16-bit mode (i8086). ``` I couldn't find a ui test that tested this output. Let's see if CI finds a regression tests.
I didn't find
crt-static
at first (forx86_64-unknown-linux-gnu
), because it was put at the bottom of the large and otherwise sorted list.Fully sort the list before we print it.
Note that
llvm_target_features
starts out and remains sorted and does not need to be sorted an extra time.On my machine the diff is just:
I couldn't find a ui test that tested this output. Let's see if CI finds a regression tests.