riscv: promote d, e, and f target_features to CfgStableToggleUnstable#156188
riscv: promote d, e, and f target_features to CfgStableToggleUnstable#156188romancardenas wants to merge 3 commits into
Conversation
|
|
This comment has been minimized.
This comment has been minimized.
1397678 to
4e9a3de
Compare
|
Looks good on the test side, thanks. :) Let's nominate this for the @rust-lang/lang. This is about stabilizing the use of the "d", "e", and "f" RISC-V target feature for use in |
|
Blocked waiting on feedback from @Amanieu. |
|
I don't see any harm in stabilizing those. The real issues comes from selectively enabling these on a per-function basis, which this doesn't do. |
|
Team member @traviscross has proposed to merge this. The next step is review by the rest of the tagged team members: No concerns currently listed. Once a majority of reviewers approve (and at most 2 approvals are outstanding), this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up! cc @rust-lang/lang-advisors: FCP proposed for lang, please feel free to register concerns. |
|
I posted a PR at rust-lang/reference#2274 to update the documentation. |
|
@rfcbot reviewed
If it turned out that this was not a coherent feature to expose to end users because of the ABI interaction, we might need to have a conversation about whether it makes sense to use the same abstractions for features that are only ever program level vs features that can be enabled at runtime (probably it does make sense, but it's worth having a conversation). |
|
🔔 This is now entering its final comment period, as per the review above. 🔔 |
I don't think we are. I don't think we ever could. Maybe we can one day allow them with a target modifier version of |
|
Ok, thanks for the clarification. I don't like that there will always be differences between what is supported by The terminology "target_feature attribute" is clear though, and I would encourage people to use or "cfg target_feature" instead of the ambiguous "target_feature". In retrospect I would have preferred to call it Not going to block this stabilization on a pre-existing naming issue though. |
We could decide to expose "d", "e", "f" via another flag, like I also need to slightly correct what I said earlier: for some RISC-V ABIs, we could allow tl;dr it's complicated... |
|
The final comment period, with a disposition to merge, as per the review above, is now complete. As the automated representative of the governance process, I would like to thank the author for their work and everyone else who contributed. |
|
Awesome, let's ship this. :) @bors r+ rollup |
…-cfg-stable-toggle-unstable, r=RalfJung riscv: promote d, e, and f target_features to CfgStableToggleUnstable Reference PR: - rust-lang/reference#2274 This PR is a continuation of rust-lang#155962 It uses the new `CfgStableToggleUnstable` stability level for the `"d"`, `"e"`, and `"f"` `target_features` of RISC-V. This way, it will be possible to add conditional code blocks depending on whether the target architecture has FPU, for instance. The PR is related to rust-lang#150257 r? @RalfJung
…-cfg-stable-toggle-unstable, r=RalfJung riscv: promote d, e, and f target_features to CfgStableToggleUnstable Reference PR: - rust-lang/reference#2274 This PR is a continuation of rust-lang#155962 It uses the new `CfgStableToggleUnstable` stability level for the `"d"`, `"e"`, and `"f"` `target_features` of RISC-V. This way, it will be possible to add conditional code blocks depending on whether the target architecture has FPU, for instance. The PR is related to rust-lang#150257 r? @RalfJung
…uwer Rollup of 10 pull requests Successful merges: - #157447 (Move cross crate tests into the appropriate folder) - #145108 (Resolver: Batched Import Resolution) - #156119 (Further optimize `SliceIndex<str>` impl for `Range<usize>`) - #157289 (Add infallible primitive type lookups to template arg resolver) - #157540 (Cleanup and optimize `render_impls`) - #157543 (Reorganize `tests/ui/issues` [5/N]) - #156188 (riscv: promote d, e, and f target_features to CfgStableToggleUnstable) - #157323 (Document Repeat::last panic behavior) - #157545 (Suggest using comma to separate valid attribute list items) - #157559 (chore: Update annotate-snippets to 0.12.16)
…uwer Rollup of 10 pull requests Successful merges: - #157447 (Move cross crate tests into the appropriate folder) - #145108 (Resolver: Batched Import Resolution) - #156119 (Further optimize `SliceIndex<str>` impl for `Range<usize>`) - #157289 (Add infallible primitive type lookups to template arg resolver) - #157540 (Cleanup and optimize `render_impls`) - #157543 (Reorganize `tests/ui/issues` [5/N]) - #156188 (riscv: promote d, e, and f target_features to CfgStableToggleUnstable) - #157323 (Document Repeat::last panic behavior) - #157545 (Suggest using comma to separate valid attribute list items) - #157559 (chore: Update annotate-snippets to 0.12.16)
…-cfg-stable-toggle-unstable, r=RalfJung riscv: promote d, e, and f target_features to CfgStableToggleUnstable Reference PR: - rust-lang/reference#2274 This PR is a continuation of rust-lang#155962 It uses the new `CfgStableToggleUnstable` stability level for the `"d"`, `"e"`, and `"f"` `target_features` of RISC-V. This way, it will be possible to add conditional code blocks depending on whether the target architecture has FPU, for instance. The PR is related to rust-lang#150257 r? @RalfJung
…-cfg-stable-toggle-unstable, r=RalfJung riscv: promote d, e, and f target_features to CfgStableToggleUnstable Reference PR: - rust-lang/reference#2274 This PR is a continuation of rust-lang#155962 It uses the new `CfgStableToggleUnstable` stability level for the `"d"`, `"e"`, and `"f"` `target_features` of RISC-V. This way, it will be possible to add conditional code blocks depending on whether the target architecture has FPU, for instance. The PR is related to rust-lang#150257 r? @RalfJung
…-cfg-stable-toggle-unstable, r=RalfJung riscv: promote d, e, and f target_features to CfgStableToggleUnstable Reference PR: - rust-lang/reference#2274 This PR is a continuation of rust-lang#155962 It uses the new `CfgStableToggleUnstable` stability level for the `"d"`, `"e"`, and `"f"` `target_features` of RISC-V. This way, it will be possible to add conditional code blocks depending on whether the target architecture has FPU, for instance. The PR is related to rust-lang#150257 r? @RalfJung
Rollup of 25 pull requests Successful merges: - #157447 (Move cross crate tests into the appropriate folder) - #145108 (Resolver: Batched Import Resolution) - #156119 (Further optimize `SliceIndex<str>` impl for `Range<usize>`) - #157224 (Manually unroll loop in `str::floor_char_boundary`) - #157289 (Add infallible primitive type lookups to template arg resolver) - #157540 (Cleanup and optimize `render_impls`) - #157444 (Couple of work product cleanups) - #157543 (Reorganize `tests/ui/issues` [5/N]) - #153513 (Syntactically reject equality predicates) - #155797 (LineWriter: cap write_vectored newline scan to avoid quadratic write_all_vectored) - #156155 (macros: report unbound metavariables directly) - #156188 (riscv: promote d, e, and f target_features to CfgStableToggleUnstable) - #156666 (Clarify meaning of ranges in pointer offset docs) - #157078 (Document equivalence of `highest_one` and `ilog2` methods on integers) - #157129 (ci: update download-artifact action to v8) - #157169 (triagebot: Update messages to direct changes to appropriate repositories) - #157323 (Document Repeat::last panic behavior) - #157370 (Clarify MaybeUninit::zeroed padding docs) - #157399 (Silence llbc's output by default to prevent rustc's linker output warning) - #157500 (Improve documentation of `align_of` and `Alignment`.) - #157545 (Suggest using comma to separate valid attribute list items) - #157559 (chore: Update annotate-snippets to 0.12.16) - #157560 (In `copy_nonoverlapping`, use `mul nuw nsw` to compute the byte size) - #157580 (Importing suggestion reported twice when reporting privacy error) - #157581 (Test fixup)
Rollup of 25 pull requests Successful merges: - #157447 (Move cross crate tests into the appropriate folder) - #145108 (Resolver: Batched Import Resolution) - #156119 (Further optimize `SliceIndex<str>` impl for `Range<usize>`) - #157224 (Manually unroll loop in `str::floor_char_boundary`) - #157289 (Add infallible primitive type lookups to template arg resolver) - #157540 (Cleanup and optimize `render_impls`) - #157444 (Couple of work product cleanups) - #157543 (Reorganize `tests/ui/issues` [5/N]) - #153513 (Syntactically reject equality predicates) - #155797 (LineWriter: cap write_vectored newline scan to avoid quadratic write_all_vectored) - #156155 (macros: report unbound metavariables directly) - #156188 (riscv: promote d, e, and f target_features to CfgStableToggleUnstable) - #156666 (Clarify meaning of ranges in pointer offset docs) - #157078 (Document equivalence of `highest_one` and `ilog2` methods on integers) - #157129 (ci: update download-artifact action to v8) - #157169 (triagebot: Update messages to direct changes to appropriate repositories) - #157323 (Document Repeat::last panic behavior) - #157370 (Clarify MaybeUninit::zeroed padding docs) - #157399 (Silence llbc's output by default to prevent rustc's linker output warning) - #157500 (Improve documentation of `align_of` and `Alignment`.) - #157545 (Suggest using comma to separate valid attribute list items) - #157559 (chore: Update annotate-snippets to 0.12.16) - #157560 (In `copy_nonoverlapping`, use `mul nuw nsw` to compute the byte size) - #157580 (Importing suggestion reported twice when reporting privacy error) - #157581 (Test fixup)
Reference PR:
This PR is a continuation of #155962
It uses the new
CfgStableToggleUnstablestability level for the"d","e", and"f"target_featuresof RISC-V. This way, it will be possible to add conditional code blocks depending on whether the target architecture has FPU, for instance.The PR is related to #150257
r? @RalfJung