-
Notifications
You must be signed in to change notification settings - Fork 12.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Also sort crt-static
in --print target-features
output
#126424
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.