| Age | Commit message (Collapse) | Author | Lines |
|
|
|
|
|
Add some regression tests
They're fixed since nightly-2020-10-07:
Closes #52843
Closes #53448
Closes #54108
Closes #65581
Closes #65934
Closes #70292
Closes #71443
|
|
Rollup of 8 pull requests
Successful merges:
- #77765 (Add LLVM flags to limit DWARF version to 2 on BSD)
- #77788 (BTreeMap: fix gdb provider on BTreeMap with ZST keys or values)
- #77795 (Codegen backend interface refactor)
- #77808 (Moved the main `impl` for FnCtxt to its own file.)
- #77817 (Switch rustdoc from `clean::Stability` to `rustc_attr::Stability`)
- #77829 (bootstrap: only use compiler-builtins-c if they exist)
- #77870 (Use intra-doc links for links to module-level docs)
- #77897 (Move `Strip` into a separate rustdoc pass)
Failed merges:
- #77879 (Provide better documentation and help messages for x.py setup)
- #77902 (Include aarch64-pc-windows-msvc in the dist manifests)
r? `@ghost`
|
|
Move `Strip` into a separate rustdoc pass
Just something which was bothering me lately. :)
r? @jyn514
|
|
bootstrap: only use compiler-builtins-c if they exist
The assignment of `features` above was added in rust-lang#60981, but
never used. Presumably the intent was to replace the string literal here
with it.
While I'm in the area, `compiler_builtins_c_feature` doesn't need to be
a `String`.
I'm not entirely sure of a great way to locally test this -- `./x.py test`
passed on my machine, but 🤷♂️.
r? @alexcrichton
|
|
Switch rustdoc from `clean::Stability` to `rustc_attr::Stability`
This gives greater type safety and is less work to maintain on the rustdoc end. It also makes rustdoc more consistent with rustc.
Noticed this while working on https://github.com/rust-lang/rust/issues/76998.
- Remove `clean::Stability` in favor of `rustc_attr::Stability`
- Remove `impl Clean for Stability`; it's no longer necessary
r? @GuillaumeGomez
cc @petrochenkov
|
|
Codegen backend interface refactor
This moves several things away from the codegen backend to rustc_interface. There are a few behavioral changes where previously the incremental cache (incorrectly) wouldn't get finalized, but now it does. See the individual commit messages.
|
|
BTreeMap: fix gdb provider on BTreeMap with ZST keys or values
Avoid error when gdb is asked to inspect a BTreeMap or BTreeSet with a zero-sized type as key or value. And clean up.
r? @Mark-Simulacrum
|
|
Refactor AST pretty-printing to allow skipping insertion of extra parens
Fixes #75734
Makes progress towards #43081
Unblocks PR #76130
When pretty-printing an AST node, we may insert additional parenthesis
to ensure that precedence is properly preserved in code we output.
However, the proc macro implementation relies on comparing a
pretty-printed AST node to the captured `TokenStream`. Inserting extra
parenthesis changes the structure of the reparsed `TokenStream`, making
the comparison fail.
This PR refactors the AST pretty-printing code to allow skipping the
insertion of additional parenthesis. Several freestanding methods are
moved to trait methods on `PrintState`, which keep track of an internal
`insert_extra_parens` flag. This flag is normally `true`, but we expose
a public method which allows pretty-printing a nonterminal with
`insert_extra_parens = false`.
To avoid changing the public interface of `rustc_ast_pretty`, the
freestanding `_to_string` methods are changed to delegate to a
newly-crated `State`. The main pretty-printing code is moved to a new
`state` module to ensure that it does not accidentally call any of these
public helper functions (instead, the internal functions with the same
name should be used).
|
|
Rollup of 14 pull requests
Successful merges:
- #77239 (Enable building Cargo for aarch64-apple-darwin)
- #77569 (BTreeMap: type-specific variants of node_as_mut and cast_unchecked)
- #77719 (Remove unnecessary rustc_const_stable attributes.)
- #77722 (Remove unsafety from sys/unsupported and add deny(unsafe_op_in_unsafe_fn).)
- #77725 (Add regression issue template)
- #77776 ( Give an error when running `x.py test --stage 0 src/test/ui`)
- #77786 (Mention rustdoc in `x.py setup`)
- #77825 (`min_const_generics` diagnostics improvements)
- #77868 (Include `llvm-dis`, `llc` and `opt` in `llvm-tools-preview` component)
- #77884 (Use Option::unwrap_or instead of open-coding it)
- #77886 (Replace trivial bool matches with the `matches!` macro)
- #77892 (Replace absolute paths with relative ones)
- #77895 (Include aarch64-apple-darwin in the dist manifests)
- #77909 (bootstrap: set correct path for the build-manifest binary)
Failed merges:
- #77902 (Include aarch64-pc-windows-msvc in the dist manifests)
r? `@ghost`
|
|
bootstrap: set correct path for the build-manifest binary
This changes the path of the binary inside the tarball to be:
```
build-manifest-{release}-{target}/build-manifest/bin/build-manifest
```
...instead of:
```
build-manifest-{release}-{target}/build-manifest/bin/build-manifest/build-manifest
```
r? @Mark-Simulacrum
|
|
Include aarch64-apple-darwin in the dist manifests
r? @ehuss
/cc @pietroalbini @Mark-Simulacrum
|
|
Include `llvm-dis`, `llc` and `opt` in `llvm-tools-preview` component
Fixes #55890
It's useful to have `llc` and `opt` available when debugging an LLVM
miscompilation,.
|
|
`min_const_generics` diagnostics improvements
As disscussed in [zulip/project-const-generics/non-trivial anonymous constant](https://rust-lang.zulipchat.com/#narrow/stream/260443-project-const-generics/topic/non-trivial.20anonymous.20constants).
This is my first PR on the compiler.
@lcnr is mentoring me on this PR.
Related to #60551.
|
|
Mention rustdoc in `x.py setup`
This lets new contributors know which option they should pick; previously it wasn't clear 'compiler' also included rustdoc.
Unresolved questions: should this say 'compiler and tools' instead? I don't know of any tools that are modified in-tree other than rustdoc, though.
r? @Mark-Simulacrum
|
|
Give an error when running `x.py test --stage 0 src/test/ui`
The error can be overridden with `COMPILETEST_FORCE_STAGE0=1`. In practice I don't know why anyone would do this.
r? @Mark-Simulacrum
Closes https://github.com/rust-lang/rust/issues/77711
|
|
Enable building Cargo for aarch64-apple-darwin
r? @ghost
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dist build manifest
This PR makes two changes that should remove a significant chunk of the time spent in our release process: cloning the `rust-lang/rust` monorepo, all its submodules, and building `bootstrap` to then invoke `build-manifest`:
* `build-manifest` doesn't rely on a clone of the monorepo being present anymore. The only remaining bit of information it fetched from it (the Rust version) is instead bundled in the binary.
* A new "component" is added, `build-manifest`. That component includes a prebuilt version of the tool, and it's *not* included in the Rustup manifest. This will allow `promote-release` to directly invoke the tool without interacting with our build system.
* The Linux x86_64 CI is changed to also build the component mentioned above. It's the only CI builder tasked to do so, and to cleanly support this a new `--include-default-paths` flag was added to `./x.py`.
* The `BUILD_MANIFEST_NUM_THREADS` environment variable is added to configure the number of threads at runtime.
This PR is best reviewed commit-by-commit.
r? `@Mark-Simulacrum`
|
|
|
|
|
|
ci: Fix riscv64gc linux test QEMU fault, plus doc link fix
Newer versions of the `qemu` package (used for riscv64gc-unknown-linux-gnu testing) don't work with the version of the RISC-V bootloader we were using. https://github.com/rust-lang/rust/commit/a4a0342cf59a1bff43ed79586065eb97dba0cddb bumps to a revision which should fix the problem.
https://github.com/rust-lang/rust/commit/e0b033e965a7d422da70a409a028af7c8b64e709 fixes a documentation failure I encountered while running the tests.
|
|
rustdoc: skip #[allow(missing docs)] for docs in coverage report
During the document coverage reporting with:
```bash
rustdoc something.rs -Z unstable-options --show-coverage
```
the coverage report counts code that is marked with `#[allow(missing_docs)]` for the calculation, which outputs lower numbers in the coverage report even though these parts should be ignored for the calculation.
Right now I'm not sure how this can be tested (CI)? (I verified it by hand and ran the unit tests)
r? `@jyn514`
**Reference:** Fixes #76121
|
|
Pass tune-cpu to LLVM
I think this is how it should work...
See https://internals.rust-lang.org/t/expose-tune-cpu-from-llvm/13088 for the background. Or the documentation diff.
|
|
Refactor how SwitchInt stores jump targets
Closes https://github.com/rust-lang/rust/issues/65693
|
|
|
|
Fixes #55890
It's useful to have `llc` and `opt` available when debugging an LLVM
miscompilation,.
|
|
Update RLS
cc #77819
Fixes #77810
r? `@ghost`
|
|
|
|
Remove `mark-i-m` from rustc-dev-guide maintainers
They aren't a maintainer anymore and it causes failure on our CI now: https://github.com/rust-lang-ci/rust/runs/1243600577
|
|
update url in bootstrap README (gcc-rs -> cc-rs)
gcc-rs is renamed to cc-rs 3 years ago.
|
|
rustdoc: Make some functions private that don't need to be public
r? @GuillaumeGomez
|
|
Fix `x.py setup` sets `changelog-seen`
Fixes #77572 by setting changelog-seen in setup.rs
|
|
Add word wrap for short descriptions
Fixes #77652

cc @WaffleLapkin
r? @jyn514
|
|
|
|
|
|
|
|
This will prevent the tool mistakenly ignoring the variables if they
happen to contain non-utf8 data.
|
|
|
|
|
|
|
|
|
|
This commit changes the way build-manifest is invoked, to let it accept
the Rust version directly instead of requiring the path of the Rust
monorepo and letting build-manifest figure out the path on its own.
This allows to run build-manifest without a clone of the monorepo.
|
|
This fixes numbered channel names being created for the nightly channel,
and once the root cause of this rides the trains, for beta.
|