rust/src
许杰友 Jieyou Xu (Joe) c22832fdbe
Rollup merge of #132315 - jieyouxu:extract-llvm-version, r=onur-ozkan
compiletest: improve robustness of LLVM version handling

Previously, `extract_llvm_versions` did some gymnastics for llvm versions by combining `(major, minor, patch)` into a combined version integer, but that is not very robust and made it difficult to add `max-llvm-major-version`. This PR tries to:

- Improve llvm version handling robustness by parsing and representing the version as a semver. We intentionally deviate from strict semver standards by allowing omission of minor and patch versions. They default to `0` when absent. This is for convenience to allow the user to write e.g. `//@ min-llvm-version: 18` instead of having to spell out the full `major.minor.patch` semver string `//@ min-llvm-verison: 18.0.0`.
- Adjust some panic messages to include a bit more context about *why* the version string was rejected.

Prerequisite for #132310.

r? bootstrap (or compiler)
2024-10-30 22:22:04 +08:00
..
bootstrap simplify force-recompile logic for "library" 2024-10-27 08:55:52 +03:00
ci Rollup merge of #131375 - klensy:clone_on_ref_ptr, r=cjgillot 2024-10-29 03:11:39 -07:00
doc Rollup merge of #132327 - djkoloski:redirect_fuchsia_maintainers, r=compiler-errors 2024-10-30 06:40:36 +01:00
etc Rename command-list.rs to directive-list.rs 2024-10-29 17:39:13 +11:00
gcc@fd3498bff0 Update GCC version 2024-09-06 16:01:46 +02:00
librustdoc Rollup merge of #131096 - GuillaumeGomez:rm-no_unused, r=notriddle 2024-10-30 22:22:04 +08:00
llvm-project@3a17f74904 Update LLVM submodule 2024-10-12 21:42:13 +08:00
rustdoc-json-types Auto merge of #131980 - matthiaskrgr:rollup-iy5nw71, r=matthiaskrgr 2024-10-20 21:40:21 +00:00
tools Rollup merge of #132315 - jieyouxu:extract-llvm-version, r=onur-ozkan 2024-10-30 22:22:04 +08:00
README.md
stage0 bump stage0 to 1.83.0-beta.1 2024-10-15 20:13:55 -07:00
version Bump to 1.84 2024-10-11 09:55:11 -07:00

This directory contains some source code for the Rust project, including:

  • The bootstrapping build system
  • Various submodules for tools, like cargo, tidy, etc.

For more information on how various parts of the compiler work, see the rustc dev guide.