Skip to content
Closed
Changes from 1 commit
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
6d45529
Fix #103451, find_width_of_character_at_span return width with 1 when…
chenyukang Oct 25, 2022
f5e390e
Fix rustc_parse_format spans following escaped utf-8 multibyte chars
Alexendoo Oct 27, 2022
8dbd817
Upgrade cc for working is_flag_supported on cross-compiles
palfrey Oct 29, 2022
a9d7cfc
Update cc in Cargo.lock
palfrey Oct 29, 2022
f32e678
Rename some variables.
nnethercote Nov 3, 2022
84ca2c3
Clarify range calculations.
nnethercote Nov 3, 2022
34b32b0
Use `Mode` less.
nnethercote Nov 3, 2022
d43836f
Remove some redundant arguments
oli-obk Nov 3, 2022
402714f
Remove an unhelpful and sometimes misleading label
oli-obk Nov 3, 2022
7dbf2c0
Make non-ASCII errors more consistent.
nnethercote Nov 3, 2022
a21c045
Improve comments.
nnethercote Nov 3, 2022
d963686
Refactor `cook_lexer_literal`.
nnethercote Nov 3, 2022
a203482
Inline and remove `validate_int_literal`.
nnethercote Nov 3, 2022
f8e2cef
Move intra-doc link checks to a separate function.
ehuss Nov 4, 2022
57b2290
Remove reference from the intra-doc link checker.
ehuss Nov 4, 2022
ee7c58b
Update linker-plugin-lto.md to contain up to Rust 1.65
str4d Nov 4, 2022
971a146
Promote {aarch64,i686,x86_64}-unknown-uefi to Tier 2
nicholasbishop Nov 3, 2022
9268133
Print all labels, even if they have no span. Fall back to main item's…
oli-obk Nov 4, 2022
a838952
Remove `unescape_byte_literal`.
nnethercote Nov 4, 2022
43d21b5
Rename some `result` variables as `res`, for consistency.
nnethercote Nov 4, 2022
6994651
fix debuginfo for windows_gnullvm_base.rs
jeremyd2019 Nov 6, 2022
ee7a802
Migrate linker-plugin-lto.md compatibility table to show Rust ranges
str4d Nov 7, 2022
d97fa25
Fix invalid background-image file name
GuillaumeGomez Nov 7, 2022
976973f
Rollup merge of #103521 - chenyukang:yukang/fix-103451-avoid-hang, r=…
GuillaumeGomez Nov 7, 2022
8e0a7a8
Rollup merge of #103651 - Alexendoo:parse-format-unicode-escapes, r=w…
GuillaumeGomez Nov 7, 2022
847cad3
Rollup merge of #103744 - palfrey:unwind-upgrade-cc, r=Mark-Simulacrum
GuillaumeGomez Nov 7, 2022
69ffc17
Rollup merge of #103919 - nnethercote:unescaping-cleanups, r=matklad
GuillaumeGomez Nov 7, 2022
bc3c840
Rollup merge of #103933 - nicholasbishop:bishop-uefi-tier-2, r=JohnTitor
GuillaumeGomez Nov 7, 2022
17e2528
Rollup merge of #103952 - ehuss:dont-intra-linkcheck-reference, r=Mar…
GuillaumeGomez Nov 7, 2022
3956c30
Rollup merge of #103955 - str4d:update-lto-doc-1.65, r=ehuss
GuillaumeGomez Nov 7, 2022
ac8d5c9
Rollup merge of #103970 - oli-obk:unhide_unknown_spans, r=davidtwco
GuillaumeGomez Nov 7, 2022
66d2559
Rollup merge of #104067 - jeremyd2019:patch-1, r=davidtwco
GuillaumeGomez Nov 7, 2022
fbf9f42
Rollup merge of #104114 - GuillaumeGomez:background-image-path, r=not…
GuillaumeGomez Nov 7, 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
Migrate linker-plugin-lto.md compatibility table to show Rust ranges
The helper shell script has been rewritten as a helper Python script
that generates the range-based table.
  • Loading branch information
str4d committed Nov 7, 2022
commit ee7a80211a066b8345119ce258361a8ad22986b4
99 changes: 49 additions & 50 deletions src/doc/rustc/src/linker-plugin-lto.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,24 +131,47 @@ able to get around this problem by setting `-Clinker=lld-link` in RUSTFLAGS

## Toolchain Compatibility

<!-- NOTE: to update the below table, you can use this shell script:

```sh
rustup toolchain install --profile minimal nightly
MINOR_VERSION=$(rustc +nightly --version | cut -d . -f 2)
LOWER_BOUND=66

llvm_version() {
toolchain="$1"
printf "Rust $toolchain | Clang "
rustc +"$toolchain" -Vv | grep LLVM | cut -d ':' -f 2 | tr -d ' '
}

for version in `seq $LOWER_BOUND $((MINOR_VERSION - 2))`; do
toolchain=1.$version.0
rustup toolchain install --no-self-update --profile minimal $toolchain >/dev/null 2>&1
llvm_version $toolchain
done
<!-- NOTE: to update the below table, you can use this Python script:

```python
from collections import defaultdict
import subprocess

def minor_version(version):
return int(version.split('.')[1])

INSTALL_TOOLCHAIN = ["rustup", "toolchain", "install", "--profile", "minimal"]
subprocess.run(INSTALL_TOOLCHAIN + ["nightly"])

LOWER_BOUND = 65
NIGHTLY_VERSION = minor_version(subprocess.run(
["rustc", "+nightly", "--version"],
capture_output=True,
text=True).stdout)

def llvm_version(toolchain):
version_text = subprocess.run(
["rustc", "+{}".format(toolchain), "-Vv"],
capture_output=True,
text=True).stdout
return int(version_text.split("LLVM")[1].split(':')[1].split('.')[0])

version_map = defaultdict(lambda: [])
for version in range(LOWER_BOUND, NIGHTLY_VERSION - 1):
toolchain = "1.{}.0".format(version)
subprocess.run(
INSTALL_TOOLCHAIN + ["--no-self-update", toolchain],
capture_output=True)
version_map[llvm_version(toolchain)].append(version)

print("| Rust Version | Clang Version |")
print("|--------------|---------------|")
for clang, rust in sorted(version_map.items()):
if len(rust) > 1:
rust_range = "1.{} - 1.{}".format(rust[0], rust[-1])
else:
rust_range = "1.{} ".format(rust[0])
print("| {} | {} |".format(rust_range, clang))
```

-->
Expand All @@ -166,37 +189,13 @@ The following table shows known good combinations of toolchain versions.

| Rust Version | Clang Version |
|--------------|---------------|
| Rust 1.34 | Clang 8 |
| Rust 1.35 | Clang 8 |
| Rust 1.36 | Clang 8 |
| Rust 1.37 | Clang 8 |
| Rust 1.38 | Clang 9 |
| Rust 1.39 | Clang 9 |
| Rust 1.40 | Clang 9 |
| Rust 1.41 | Clang 9 |
| Rust 1.42 | Clang 9 |
| Rust 1.43 | Clang 9 |
| Rust 1.44 | Clang 9 |
| Rust 1.45 | Clang 10 |
| Rust 1.46 | Clang 10 |
| Rust 1.47 | Clang 11 |
| Rust 1.48 | Clang 11 |
| Rust 1.49 | Clang 11 |
| Rust 1.50 | Clang 11 |
| Rust 1.51 | Clang 11 |
| Rust 1.52 | Clang 12 |
| Rust 1.53 | Clang 12 |
| Rust 1.54 | Clang 12 |
| Rust 1.55 | Clang 12 |
| Rust 1.56 | Clang 13 |
| Rust 1.57 | Clang 13 |
| Rust 1.58 | Clang 13 |
| Rust 1.59 | Clang 13 |
| Rust 1.60 | Clang 14 |
| Rust 1.61 | Clang 14 |
| Rust 1.62 | Clang 14 |
| Rust 1.63 | Clang 14 |
| Rust 1.64 | Clang 14 |
| Rust 1.65 | Clang 15 |
| 1.34 - 1.37 | 8 |
| 1.38 - 1.44 | 9 |
| 1.45 - 1.46 | 10 |
| 1.47 - 1.51 | 11 |
| 1.52 - 1.55 | 12 |
| 1.56 - 1.59 | 13 |
| 1.60 - 1.64 | 14 |
| 1.65 | 15 |

Note that the compatibility policy for this feature might change in the future.