Skip to content

Rollup of 10 pull requests #93009

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

Merged
merged 32 commits into from
Jan 18, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
470b49b
Clarify how to quote and respond to the target tier policy requirements
joshtriplett Nov 2, 2021
9a016ba
Clarify dependency requirements in the face of cross-compilation
joshtriplett Nov 2, 2021
1aeb3f9
Clarify documentation about running binaries
joshtriplett Nov 2, 2021
10420ef
Point to platform-support/ for target-specific documentation
joshtriplett Nov 2, 2021
f863e4c
Add a template for target-specific documentation
joshtriplett Nov 2, 2021
5ab40c8
Implement `#[rustc_must_implement_one_of]` attribute
WaffleLapkin Dec 21, 2021
e6bc0ac
Add test for misused `#[rustc_must_implement_one_of]`
WaffleLapkin Jan 3, 2022
268ae9a
Move `#[rustc_must_implement_one_of]` tests to fix tidy check
WaffleLapkin Jan 3, 2022
96b2f8a
Apply suggestions from code review
WaffleLapkin Jan 4, 2022
f64daff
Fix `#[rustc_must_implement_one_of]`
WaffleLapkin Jan 10, 2022
4ccfa97
Add a test for ungated `#[rustc_must_implement_one_of]`
WaffleLapkin Jan 11, 2022
842bf71
fix(compiler): correct minor typos in some long error code explanations
jamestiotio Jan 11, 2022
68515cb
Rename environment variable for overriding rustc version
pierwill Jan 12, 2022
606d9c0
Remove LLVMRustMarkAllFunctionsNounwind
Amanieu Jan 14, 2022
c30ec5a
Check for duplicate arguments in `#[rustc_must_implement_one_of]`
WaffleLapkin Jan 14, 2022
f9174e1
Do not use `HashSet` for `#[rustc_must_implement_one_of]`
WaffleLapkin Jan 14, 2022
28edd7a
Use `Symbol` for dup check in `#[rustc_must_implement_one_of]`
WaffleLapkin Jan 14, 2022
4d5a6c9
Enable wrapping words by default
jsha Jan 12, 2022
07fd90e
Remove `collect`
vacuus Jan 15, 2022
3dfcc66
Add `log2` and `log10` to `NonZeroU*`
scottmcm Jan 16, 2022
e0e15c9
Use `carrying_{mul|add}` in `num::bignum`
scottmcm Jan 16, 2022
9a79ab6
rustc_codegen_llvm: Remove (almost) unused span parameter from many f…
michaelwoerister Jan 10, 2022
67bcbde
Rollup merge of #90498 - joshtriplett:target-tier-policy-draft-update…
matthiaskrgr Jan 17, 2022
32d85c0
Rollup merge of #92164 - WaffleLapkin:rustc_must_implement_one_of_att…
matthiaskrgr Jan 17, 2022
97743d9
Rollup merge of #92729 - michaelwoerister:remove-unused-span-debuginf…
matthiaskrgr Jan 17, 2022
4de63e7
Rollup merge of #92752 - jamestiotio:error-codes-typos, r=nagisa
matthiaskrgr Jan 17, 2022
51aa20d
Rollup merge of #92801 - jsha:overflow-wrap, r=GuillaumeGomez
matthiaskrgr Jan 17, 2022
6acb704
Rollup merge of #92825 - pierwill:rustc-version-force-rename, r=Mark-…
matthiaskrgr Jan 17, 2022
7f02604
Rollup merge of #92877 - Amanieu:remove_llvm_nounwind, r=Mark-Simulacrum
matthiaskrgr Jan 17, 2022
25f73b7
Rollup merge of #92936 - vacuus:html-markdown-parse, r=GuillaumeGomez
matthiaskrgr Jan 17, 2022
731af70
Rollup merge of #92956 - scottmcm:nonzero-log2, r=dtolnay
matthiaskrgr Jan 17, 2022
68d47de
Rollup merge of #92960 - scottmcm:carrying-bignum, r=Mark-Simulacrum
matthiaskrgr Jan 17, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add a template for target-specific documentation
  • Loading branch information
joshtriplett committed Nov 2, 2021
commit f863e4cc301c7ab7c97b86ad142474989789badc
1 change: 1 addition & 0 deletions src/doc/rustc/src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
- [JSON Output](json.md)
- [Tests](tests/index.md)
- [Platform Support](platform-support.md)
- [Template for target-specific documentation](platform-support/TEMPLATE.md)
- [aarch64-apple-ios-sim](platform-support/aarch64-apple-ios-sim.md)
- [\*-kmc-solid_\*](platform-support/kmc-solid.md)
- [Target Tier Policy](target-tier-policy.md)
Expand Down
52 changes: 52 additions & 0 deletions src/doc/rustc/src/platform-support/TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# `target-name-here`

**Tier: 3**

One-sentence description of the target (e.g. CPU, OS)

## Target maintainers

- Some Person, `email@example.org`, https://github.com/...

## Requirements

Does the target support host tools, or only cross-compilation? Does the target
support std, or alloc (either with a default allocator, or if the user supplies
an allocator)?

Document the expectations of binaries built for the target. Do they assume
specific minimum features beyond the baseline of the CPU/environment/etc? What
version of the OS or environment do they expect?

Are there notable `#[target_feature(...)]` or `-C target-feature=` values that
programs may wish to use?

What calling convention does `extern "C"` use on the target?

What format do binaries use by default? ELF, PE, something else?

## Building the target

If Rust doesn't build the target by default, how can users build it? Can users
just add it to the `target` list in `config.toml`?

## Building Rust programs

Rust does not yet ship pre-compiled artifacts for this target. To compile for
this target, you will either need to build Rust with the target enabled (see
"Building the target" above), or build your own copy of `core` by using
`build-std` or similar.

## Testing

Does the target support running binaries, or do binaries have varying
expectations that prevent having a standard way to run them? If users can run
binaries, can they do so in some common emulator, or do they need native
hardware? Does the target support running the Rust testsuite?

## Cross-compilation toolchains and C code

Does the target support C code? If so, what toolchain target should users use
to build compatible C code? (This may match the target triple, or it may be a
toolchain for a different target triple, potentially with specific options or
caveats.)
5 changes: 3 additions & 2 deletions src/doc/rustc/src/target-tier-policy.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,9 @@ For a list of all supported targets and their corresponding tiers ("tier 3",
Several parts of this policy require providing target-specific documentation.
Such documentation should typically appear in a subdirectory of the
platform-support section of this rustc manual, with a link from the target's
entry in [platform support](platform-support.md). See other documentation in
that directory for examples.
entry in [platform support](platform-support.md). Use
[TEMPLATE.md](platform-support/TEMPLATE.md) as a base, and see other
documentation in that directory for examples.

Note that a target must have already received approval for the next lower tier,
and spent a reasonable amount of time at that tier, before making a proposal
Expand Down