about summary refs log tree commit diff
path: root/src/doc
AgeCommit message (Collapse)AuthorLines
2022-08-16Improving Fuchsia rustc support documentationAndrew Pollack-3/+17
Improving wording
2022-08-16Rollup merge of #100384 - ridwanabdillahi:instr_profile_output, r=wesleywiserMatthias Krüger-8/+20
Add support for generating unique profraw files by default when using `-C instrument-coverage` Currently, enabling the rustc flag `-C instrument-coverage` instruments the given crate and by default uses the naming scheme `default.profraw` for any instrumented profile files generated during the execution of a binary linked against this crate. This leads to multiple binaries being executed overwriting one another and causing only the last executable run to contain actual coverage results. This can be overridden by manually setting the environment variable `LLVM_PROFILE_FILE` to use a unique naming scheme. This PR adds a change to add support for a reasonable default for rustc to use when enabling coverage instrumentation similar to how the Rust compiler treats generating these same `profraw` files when PGO is enabled. The new naming scheme is set to `default_%m_%p.profraw` to ensure the uniqueness of each file being generated using [LLVMs special pattern strings](https://clang.llvm.org/docs/SourceBasedCodeCoverage.html#running-the-instrumented-program). Today the compiler sets the default for PGO `profraw` files to `default_%m.profraw` to ensure a unique file for each run. The same can be done for the instrumented profile files generated via the `-C instrument-coverage` flag as well which LLVM has API support for. Linked Issue: https://github.com/rust-lang/rust/issues/100381 r? `@wesleywiser`
2022-08-13Auto merge of #100341 - andrewpollack:fuchsia-llvm-libunwind, r=tmandrybors-6/+0
Use llvm-libunwind="in-tree" for Fuchsia targets With updates to Fuchsia CI's Zircon libraries #99833, we can introduce `llvm-libunwind="in-tree"` for Fuchsia targets. This PR restores functionality removed from https://github.com/rust-lang/rust/pull/93604#issuecomment-1136515651. cc `@tmandry` `@djkoloski`
2022-08-13Improve the "Diagnostic items" chapter (#1427)Tshepang Mbambo-30/+49
2022-08-12Respond to PR comments. Cleanup documentation.ridwanabdillahi-13/+17
2022-08-12Respond to RFC comments.ridwanabdillahi-16/+24
2022-08-11date-check: crates-ioTshepang Mbambo-8/+8
2022-08-10fix/improve compiler-debuggingTshepang Mbambo-9/+16
2022-08-10Update src/compiler-debugging.mdJoshua Nelson-1/+1
2022-08-10add gdb tips for symbol-mangling-versionyukang-2/+22
2022-08-10Rollup merge of #100072 - oToToT:patch-1, r=michaelwoeristerMatthias Krüger-2/+2
linker-plugin-lto.md: Correct the name of example c file The final output is linked with `cmain.o`, but we use `main.o` in the example. This patch changes the name to `cmain.c` and `cmain.o` as the "C/C++ code as a dependency in Rust" section.
2022-08-09move references down to avoid clutter (#1420)Tshepang Mbambo-7/+7
Also, make link to upstream llvm repo clickable
2022-08-09update date-check format on github issue (#1416)Tshepang Mbambo-1/+1
Co-authored-by: Noah Lev <camelidcamel@gmail.com>
2022-08-09Fix legend colors in dark modeNoah Lev-3/+5
2022-08-09Add color for downloaded nodesNoah Lev-3/+5
2022-08-09Add colors to diagramNoah Lev-6/+11
2022-08-09Add bootstrapping diagramNoah Lev-1/+19
This diagram is based on the diagram in Joshua Nelson's talk on bootstrapping at RustConf 2022 [1]. I converted it to Mermaid and made some tweaks to simplify it and bring it closer to bootstrap's terminology, and then Ralf Jung added nodes for copying artifacts. [1]: https://rustconf.com/schedule#bootstrapping-the-once-and-future-compiler Co-authored-by: Joshua Nelson <github@jyn.dev> Co-authored-by: Ralf Jung <post@ralfj.de>
2022-08-09LLVM lib unwind fuchsia configAndrew Pollack-6/+0
Removing libunwind from Fuchsia target docs
2022-08-08date-check: rustc_codegen_ssa is still aliveTshepang Mbambo-1/+1
Latest reference on it I could find on zulip: https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/Cursed.3A.20no_core.20Add.20on.20primitive.20int.20returning.20Option.3C.3E/near/287514393
2022-08-08note is now too old to be relevantTshepang Mbambo-3/+0
2022-08-07Update SUMMARY.mdLokathor-0/+1
2022-08-07Create armv4t_none_eabi.mdLokathor-0/+70
2022-08-03doc: s390x also requires glibc 2.17Josh Stone-1/+1
Co-authored-by: Jubilee <46493976+workingjubilee@users.noreply.github.com>
2022-08-03Increase the minimum linux-gnu versionsJosh Stone-7/+7
This is implementing the MCP from rust-lang/compiler-team#493. It is increasing the minimum requirements of a couple Tier 1 targets, and others at lower tiers, so this should go through FCP sign-offs for both `T-compiler` and `T-release`. The new `linux-gnu` baseline is kernel 3.2 and glibc 2.17. We will also take that kernel as the minimum floor for _all_ `*-linux-*` targets, so it may be broadly assumed in the implementation of the standard library. That does not preclude specific targets from having greater requirements where it makes sense, like a new arch needing something newer, or a platform like `linux-android` choosing a newer baseline.
2022-08-02date-check: be more strictTshepang Mbambo-2/+2
2022-08-02make date-check more lightweight (#1394)Tshepang Mbambo-77/+201
* make date-check lightweight This avoids having to write the date twice when updating date-check. Before "As of <-- 2022-07 --> July 2022" After "As of July 2022" * please clippy * update date-check docs * accept review suggestion Co-authored-by: Noah Lev <camelidcamel@gmail.com> * address review comment https://github.com/rust-lang/rustc-dev-guide/pull/1394#pullrequestreview-1042163557 * accept review suggestion Co-authored-by: Noah Lev <camelidcamel@gmail.com> * address review comment https://github.com/rust-lang/rustc-dev-guide/pull/1394#pullrequestreview-1042167261 * address review comment https://github.com/rust-lang/rustc-dev-guide/pull/1394#issuecomment-1189105017 * this breaks markdown * address review comment https://github.com/rust-lang/rustc-dev-guide/pull/1394#discussion_r934018268 This led to a more robust regex, though making the tool more picky. It also found a wrong date format that was missed. * address review comment https://github.com/rust-lang/rustc-dev-guide/pull/1394#discussion_r934018419 * address review comment https://github.com/rust-lang/rustc-dev-guide/pull/1394#discussion_r934018816 * accept review suggestion This was reverted by mistake Co-authored-by: Noah Lev <camelidcamel@gmail.com> * address review comment https://github.com/rust-lang/rustc-dev-guide/pull/1394#discussion_r934019395 * use a more simple fn * address review comment https://github.com/rust-lang/rustc-dev-guide/pull/1394#discussion_r934018981 Much more clean * nit * accept review suggestion Co-authored-by: Noah Lev <camelidcamel@gmail.com> * avoid a failed regex Also, test new shape * adjust to new regex (which uses named groups) New regex was introduced by 456008cc35de0597d26fec0030ee5db8a0c2fb65 Co-authored-by: Noah Lev <camelidcamel@gmail.com>
2022-08-02rustc-docs: Be less specific about the representation of `+bundle`Vadim Petrochenkov-3/+3
2022-08-03linker-plugin-lto.md: Correct the name of example c fileTommy Chiang-2/+2
2022-08-02Rollup merge of #100042 - ehuss:update-books, r=ehussMatthias Krüger-0/+0
Update books ## reference 2 commits in a92be0fef439b3d8e0468d82cb24812d303520a0..f3d3953bf3b158d596c96d55ce5366f9f3f972e9 2022-07-21 19:01:23 -0700 to 2022-08-01 17:17:37 -0700 - Add `let_chains` references (rust-lang/reference#1179) - Remove outdated warning (rust-lang/reference#1243) ## rust-by-example 18 commits in 3155db49b0d57cd82c65456ac210b69ecec5ccb1..ee342dc91e1ba1bb1e1f1318f84bbe3bfac04798 2022-07-05 20:35:53 -0300 to 2022-07-27 11:06:36 -0300 - Closure inferred twice (rust-lang/rust-by-example#1588) - fix a syntax bug in example assembly (rust-lang/rust-by-example#1511) - Minor grammar change in src/std/rc.md paragraph 2 (rust-lang/rust-by-example#1586) - Fix typo in asm.md (rust-lang/rust-by-example#1585) - Fix incorrect padding in fixed-width print (rust-lang/rust-by-example#1584) - Update print.md (rust-lang/rust-by-example#1582) - add-chapter-on-defaults (rust-lang/rust-by-example#1580) - Fix typo (rust-lang/rust-by-example#1579) - fix a compile error (rust-lang/rust-by-example#1578) - Suggest using mod.rs pattern to share test code (rust-lang/rust-by-example#1577) - fix a compile error in iter_any.md (rust-lang/rust-by-example#1576) - Mention attribute like macros in attributes.md (rust-lang/rust-by-example#1574) - Update exercise to be clearer (rust-lang/rust-by-example#1573) - fixes link for turbofish in testcase_mapreduce.md (rust-lang/rust-by-example#1572) - Fix inconsistency between comment and code in hello/print.md (rust-lang/rust-by-example#1571) - Fixes a typo in print.md (rust-lang/rust-by-example#1570) - into_iter-moves-elements (rust-lang/rust-by-example#1569) - Fix a typo in print.md (rust-lang/rust-by-example#1568) ## rustc-dev-guide 16 commits in d5201cddace979b299ec1bf9fd8997338151aa9d..04f3cf0bb2f5a6ee2bfc4b1a6a6cd8c11d1c5531 2022-07-21 04:48:49 +0200 to 2022-07-31 07:46:57 +0200 - address review comment - accept review suggestion - try address review comments - summary of chapter - Update src/building/compiler-documenting.md - revamp doc-build chapter - minor fixes - Prefer relative links - Fix the link to clippy docs - Fix the link to `ResolverAstLowering` - Fix the link to `ProcMacro` trait - Fix the link to `Lazy&lt;T&gt;` - Add instructions to fix build errors in std after adding a new target - Document how to build a cross-compiler - Add documentation about Microsoft provided debuggers and CodeView/PDB… (rust-lang/rustc-dev-guide#1406) - rust-analyzer is now a subtree ## embedded-book 2 commits in 766979590da8100998f0d662499d4a901d8d1640..befe6840874311635c417cf731377f07234ee373 2022-07-04 09:13:58 +0000 to 2022-07-25 07:51:14 +0000 - Updated instructions for running first Hardware example (rust-embedded/book#323) - Improved ligability for hardware.md (rust-embedded/book#324)
2022-08-01Update booksEric Huss-0/+0
2022-08-01Update rustc man page to match `rustc --help`Frances Wingerter-3/+3
This brings the `--crate-type`, `--emit`, and `--print` options' allowed arguments into sync with that printed by `rustc --help`.
2022-07-31Rollup merge of #99620 - hudson-ayers:fix-location-detail, r=davidtwcoMatthias Krüger-2/+3
`-Z location-detail`: provide option to disable all location details As reported [here](https://github.com/rust-lang/rust/pull/89920#issuecomment-1190598924), when I first implemented the `-Z location-detail` flag there was a bug, where passing an empty list was not correctly supported, and instead rejected by the compiler. This PR fixes that such that passing an empty list results in no location details being tracked, as originally specified in https://github.com/rust-lang/rfcs/pull/2091 . This PR also adds a test case to verify that this option continues to work as intended.
2022-07-31Rollup merge of #99519 - Urgau:check-cfg-implicit, r=petrochenkovMatthias Krüger-26/+9
Remove implicit names and values from `--cfg` in `--check-cfg` This PR remove the implicit names and values from `--cfg` in `--check-cfg` because the behavior is quite surprising but also because it's really easy to inadvertently really on the implicitness and when the `--cfg` is not set anymore to have an unexpected warning from an unexpected condition that pass with the implicitness. This change in behavior will also enable us to warn when an unexpected `--cfg` is passed, ex: the user wrote `--cfg=unstabl` instead of `--cfg=unstable`. The implementation of the warning will be done in a follow-up PR. cc `@petrochenkov`
2022-07-31address review commentTshepang Mbambo-3/+2
https://github.com/rust-lang/rustc-dev-guide/pull/1402#discussion_r933905339
2022-07-31accept review suggestionTshepang Mbambo-1/+1
Co-authored-by: Joshua Nelson <github@jyn.dev>
2022-07-31try address review commentsTshepang Mbambo-4/+4
2022-07-31summary of chapterTshepang Mbambo-3/+2
2022-07-31Update src/building/compiler-documenting.mdTshepang Mbambo-1/+1
Co-authored-by: Yuki Okushi <jtitor@2k36.org>
2022-07-31revamp doc-build chapterTshepang Mbambo-39/+35
2022-07-30minor fixesTshepang Mbambo-5/+7
2022-07-29Prefer relative linksYuki Okushi-7/+7
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
2022-07-29Fix the link to clippy docsYuki Okushi-1/+1
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
2022-07-29Fix the link to `ResolverAstLowering`Yuki Okushi-2/+2
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
2022-07-29Fix the link to `ProcMacro` traitYuki Okushi-2/+2
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
2022-07-29Fix the link to `Lazy<T>`Yuki Okushi-8/+10
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
2022-07-30Rollup merge of #99831 - djkoloski:add_fuchsia_target_documentation, r=tmandryYuki Okushi-0/+296
Add Fuchsia platform support documentation This documentation contains instructions for building and running binaries on Fuchsia using its provided SDK.
2022-07-29Add instructions to fix build errors in std after adding a new targetUrgau-0/+16
2022-07-29Rollup merge of #99845 - xtexChooser:patch-1, r=GuillaumeGomezYuki Okushi-2/+2
Remove `$` prefix for bash scripts in doc
2022-07-29Rollup merge of #99760 - dvdhrm:rw/uefiplat, r=ehussYuki Okushi-0/+255
doc/rustc: describe the uefi target platforms Add a `platform-support` entry to the rustc-docs for the different `*-unknown-uefi` targets. This describes in detail how this platform works, a few basic examples, and how to compile for the platform. Red Hat is sponsoring my work on this platform, so I am putting myself down as target maintainer. Co-maintainers are more than welcome to join me in the effort. Communication is going on off-list to coordinate the different efforts. Note that the ultimate goal is to move the UEFI targets to Tier-2 so bootloaders can be more easily supported in commercial products. This documentation is the first step towards that goal, but should be a viable documentation even for the current Tier-3 status of the targets. I also want to point out that there is an ongoing GSoC-effort to port the rust standard library to UEFI (by Ayush Singh). While this work is not necessarily required to get to Tier-2, we definitely should coordinate the efforts and update the documentation as soon as any such ports are merged. Note that the targets are already used by multiple commercial and non commercial production systems, including, but not limited to: * Tianocore-EDK2 (Official UEFI SDK by Intel) comes with rust support in its staging repository (not part of any release, yet). (https://github.com/tianocore/edk2-staging/tree) * Intel's research program "Project Mu" uses the rust UEFI targets to show possible future replacements for Tianocore-EDK2. * The Rust OS "Redox" uses the UEFI targets for its bootloader. (https://www.redox-os.org/) * The hugely popular in-depth documentation of OS development in Rust by Philipp Oppermann uses the UEFI targets. (https://os.phil-opp.com/)
2022-07-28Add Fuchsia platform support documentationDavid Koloski-0/+296