| Age | Commit message (Collapse) | Author | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
interpret: change ABI-compat test to be type-based
This makes the test consistent across targets. Otherwise the chances are very high that ABI mismatches get accepted on x86_64 but still fail on many other targets with more complicated ABIs.
This implements (most of) the rules described in https://github.com/rust-lang/rust/pull/115476.
|
|
r=notriddle,Manishearth,flip1995
Reuse rustdoc's doc comment handling in Clippy
Moves `source_span_for_markdown_range` and `span_of_attrs` (renamed to `span_of_fragments`) to `rustc_resolve::rustdoc` so it can be used in Clippy
Fixes https://github.com/rust-lang/rust-clippy/issues/10277
Fixes https://github.com/rust-lang/rust-clippy/issues/5593
Fixes https://github.com/rust-lang/rust-clippy/issues/10263
Fixes https://github.com/rust-lang/rust-clippy/issues/2581
|
|
Some more small driver refactors
To improve clarity and simplify some code.
|
|
|
|
|
|
|
|
|
|
It is only used by miri which can create a new one using the Session.
|
|
|
|
|
|
|
|
|
|
|
|
consistent across targets
|
|
|
|
|
|
```
$ ls /bin/bash
ls: cannot access '/bin/bash': No such file or directory
```
On certain systems, `/bin` and `/usr/bin` are nothing but wastelands, with just `env`around as the last survivor of the great purge. The binaries have cowardly hidden away and only `env` can show us the way to greatness (bash).
❄️
|
|
Use `Freeze` for `SourceFile`
This uses the `Freeze` type in `SourceFile` to let accessing `external_src` and `lines` be lock-free.
Behavior of `add_external_src` is changed to set `ExternalSourceKind::AbsentErr` on a hash mismatch which matches the documentation. `ExternalSourceKind::Unneeded` was removed as it's unused.
Based on https://github.com/rust-lang/rust/pull/115401.
|
|
|
|
|
|
miri: catch function calls where the argument is caller-invalid / the return value callee-invalid
When doing a type-changing copy, we must validate the data both at the old and new type.
Fixes https://github.com/rust-lang/miri/issues/3017
|
|
|
|
value callee-invalid
|
|
|
|
|
|
|
|
|
|
|
|
Use relative positions inside a SourceFile.
This allows to remove the normalization of start positions for hashing, and simplify allocation of global address space.
cc `@Zoxc`
|
|
coverage: Explicitly test the coverage maps produced by codegen/LLVM
Our existing coverage tests verify the output of end-to-end coverage reports, but we don't have any way to test the specific mapping information (code regions and their associated counters) that are emitted by `rustc_codegen_llvm` and LLVM. That makes it harder to to be confident in changes that would modify those mappings (whether deliberately or accidentally).
This PR addresses that by adding a new `coverage-map` test suite that does the following:
- Compiles test files to LLVM IR assembly (`.ll`)
- Feeds those IR files to a custom tool (`src/tools/coverage-dump`) that extracts and decodes coverage mappings, and prints them in a more human-readable format
- Checks the output of that tool against known-good snapshots
---
I recommend excluding the last commit while reviewing the main changes, because that last commit is just ~40 test files copied over from `tests/run-coverage`, plus their blessed coverage-map snapshots and a readme file. Those snapshots aren't really intended to be checked by hand; they're mostly there to increase the chances that an unintended change to coverage maps will be observable (even if it requires relatively specific circumstances to manifest).
|
|
interpret: make MemPlace, Place, Operand types private to the interpreter
Outside the interpreter, only the typed versions should be used.
|
|
Retry download of rustc-perf in opt-dist
This should help resolving spurious network errors. It also increases the timeout for the archive download.
r? `@Mark-Simulacrum`
|
|
We compile each test file to LLVM IR assembly, and then pass that IR to a
dedicated program that can decode LLVM coverage maps and print them in a more
human-readable format. We can then check that output against known-good
snapshots.
This test suite has some advantages over the existing `run-coverage` tests:
- We can test coverage instrumentation without needing to run target binaries.
- We can observe subtle improvements/regressions in the underlying coverage
mappings that don't make a visible difference to coverage reports.
|
|
|
|
Add an allow attribute suggestion along with the implied by suggestion
This PR adds an `#[allow(...)]` attribute hep suggestion along with the implied by suggestion:
```diff
note: `-W dead-code` implied by `-W unused`
+ help: to override `-W unused` add `#[allow(dead_code)]`
```
This PR also adds the `OnceHelp` lint level (similar to `OnceNote`) to only put the help message one time, like the implied note.
Related to https://github.com/rust-lang/rust/issues/114030
|
|
This should help resolving spurious network errors. It also increases the timeout for the archive download.
|
|
This avoids issues with the GitHub /archive/ links which can be somewhat
unreliable and are currently causing CI issues.
|
|
|
|
|
|
|
|
|