| Age | Commit message (Collapse) | Author | Lines |
|
We cannot produce anything useful if asked to compile unknown targets.
We should handle the error immediately at the point of discovery instead
of propagating it upward, and preferably in the simplest way: Die.
This allows cleaning up our "error-handling" spread across 5 crates.
|
|
Rollup of 12 pull requests
Successful merges:
- #136053 (coverage: Defer part of counter-creation until codegen)
- #136201 (Removed dependency on the field-offset crate, alternate approach)
- #136228 (Simplify Rc::as_ptr docs + typo fix)
- #136353 (fix(libtest): Enable Instant on Emscripten targets)
- #136472 ([`compiletest`-related cleanups 2/7] Feed stage number to compiletest directly)
- #136487 (ci: stop mysql before removing it)
- #136552 (Use an `Option` for `FindNextFileHandle` in `ReadDir` instead of `INVALID_FILE_HANDLE` sentinel value)
- #136705 (Some miscellaneous edition-related library tweaks)
- #136707 (Bump `cc` to v1.2.13 for the compiler workspace)
- #136790 (Git blame ignore recent formatting commit)
- #136792 (Don't apply editorconfig to llvm)
- #136805 (ignore win_delete_self test in Miri)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
ignore win_delete_self test in Miri
Follow-up to https://github.com/rust-lang/rust/pull/134679, fixes miri-test-libstd on Windows
Cc `@ChrisDenton` `@Mark-Simulacrum`
|
|
Don't apply editorconfig to llvm
They use 2 spaces by default, not 4.
|
|
Git blame ignore recent formatting commit
This ignores the commit 1fcae03369abb4c2cc180cd5a49e1f4440a81300 from https://github.com/rust-lang/rust/pull/136751 that applied updating formatting changes.
|
|
Bump `cc` to v1.2.13 for the compiler workspace
|
|
Some miscellaneous edition-related library tweaks
Some library edition tweaks that can be done separately from upgrading the whole standard library to edition 2024 (which is blocked on getting the submodules upgraded, for example)
|
|
Use an `Option` for `FindNextFileHandle` in `ReadDir` instead of `INVALID_FILE_HANDLE` sentinel value
Sometimes we store an invalid handle when we don't want to return an error. We then check the handle before use in order to avoid actually using the invalid handle. However, using an `Option` for this is better and avoids us forgetting to check the handle is valid. This was noticed due to us closing the handle without checking for validity: https://github.com/rust-lang/rust/blob/bd6a6777f5cbbec549f123995026cef76d1e6b84/library/std/src/sys/pal/windows/fs.rs#L148-L151
|
|
ci: stop mysql before removing it
try-job: aarch64-gnu
|
|
[`compiletest`-related cleanups 2/7] Feed stage number to compiletest directly
Reference for overall changes: https://github.com/rust-lang/rust/pull/136437
Part **2** of **7** of the *`compiletest`-related cleanups* PR series.
### Summary
- Pass stage number via new `--stage` compiletest flag directly from bootstrap, instead of deriving that info in compiletest by doing gymnastics on `--stage-id`.
- Just a cleanup, should have no functional changes.
r? bootstrap
|
|
fix(libtest): Enable Instant on Emscripten targets
`Instant::now()` works correctly on Emscripten since https://github.com/rust-lang/libc/pull/3962. All wasm-family targets with OS support can now handle instants.
Improves #131738.
~~This changes the behavior of libtest on `unknown-unknown`/`unknown-none` wasm targets, but as far as I can see, libtest doesn't support them anyway. (Can anyone double-check?)~~ UPD: this patch no longer affects `unknown-unknown` targets.
``@rustbot`` label +A-libtest +T-testing-devex +O-emscripten +O-wasm -needs-triage
|
|
Simplify Rc::as_ptr docs + typo fix
|
|
r=Mark-Simulacrum
Removed dependency on the field-offset crate, alternate approach
This is an alternate approach to reach the same goals as #136003. As it touches the core of the query system, this too probably should be evaluated for performance.
r? ``@Mark-Simulacrum``
|
|
coverage: Defer part of counter-creation until codegen
Follow-up to #135481 and #135873.
One of the pleasant properties of the new counter-assignment algorithm is that we can stop partway through the process, store the intermediate state in MIR, and then resume the rest of the algorithm during codegen. This lets it take into account which parts of the control-flow graph were eliminated by MIR opts, resulting in fewer physical counters and simpler counter expressions.
Those improvements end up completely obsoleting much larger chunks of code that were previously responsible for cleaning up the coverage metadata after MIR opts, while also doing a more thorough cleanup job.
(That change also unlocks some further simplifications that I've kept out of this PR to limit its scope.)
|
|
Subtree update of `rust-analyzer`
r? `@ghost`
|
|
|
|
|
|
minor: Sync from downstream
|
|
|
|
|
|
|
|
Add amdgpu target
Add amdgpu target to rustc and enable the LLVM target.
Fix compiling `core` with the amdgpu:
The amdgpu backend makes heavy use of different address spaces. This
leads to situations, where a pointer in one addrspace needs to be casted
to a pointer in a different addrspace. `bitcast` is invalid for this
case, `addrspacecast` needs to be used.
Fix compilation failures that created bitcasts for such cases by
creating pointer casts (which creates an `addrspacecast` under the hood)
instead.
MCP: https://github.com/rust-lang/compiler-team/issues/823
Tracking issue: #135024
Kinda related to the original amdgpu tracking issue #51575 (though that one has been closed for a while).
|
|
Rollup of 7 pull requests
Successful merges:
- #135488 (Stabilize `vec_pop_if`)
- #136068 (crashes: more tests)
- #136694 (Update minifier version to `0.3.4`)
- #136722 (Visit all debug info in MIR Visitor)
- #136746 (Emit an error if `-Zdwarf-version=1` is requested)
- #136760 (Fix unwrap error in overflowing int literal)
- #136782 (Fix mistake in x86_64-unknown-freebsd platform description)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
They use 2 spaces by default, not 4.
|
|
`Instant::now()` works correctly on Emscripten since
https://github.com/rust-lang/libc/pull/3962. All wasm-family targets
with OS support can now handle instants.
|
|
|
|
Fix mistake in x86_64-unknown-freebsd platform description
Fixes the description for x86_64-unknown-freebsd which looks to inadvertently say amd64.
|
|
Fix unwrap error in overflowing int literal
Fixes #136675
it's maybe `negative` only from [check_lit](https://github.com/chenyukang/rust/blob/526e3288feb68eac55013746e03fb54d6a0b9a1e/compiler/rustc_lint/src/types.rs#L546), in this scenario the fields in `TypeLimits` is none.
r? ``@oli-obk``
|
|
Emit an error if `-Zdwarf-version=1` is requested
DWARF 1 is very different than DWARF 2+[^1] and LLVM does not really seem to support DWARF 1 as Clang does not offer a `-gdwarf-1` flag[^2] and `llc` will just generate DWARF 2 with the version set to 1[^3].
Since this isn't actually supported (and it's not clear it would be useful anyway), report that DWARF 1 is not supported if it is requested.
Also add a help message to the error saying which versions are supported.
cc #103057
[^1]: https://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html#index-gdwarf
[^2]: https://clang.llvm.org/docs/ClangCommandLineReference.html#cmdoption-clang-gdwarf
[^3]: https://godbolt.org/z/s85d87n3a
|
|
Visit all debug info in MIR Visitor
I've been experimenting with simplifying debug info in MIR inliner, and discovered that MIR Visitor doesn't reliably visit all spans. This PR adds the missing visitor calls.
|
|
Update minifier version to `0.3.4`
It fixes a bug where a whitespace would get removed in `a [attribute]` (you're not forced to add a tag before an attribute selector).
r? ````@notriddle````
|
|
crashes: more tests
try-job: aarch64-apple
try-job: x86_64-msvc-1
try-job: x86_64-gnu
try-job: dist-i586-gnu-i586-i686-musl
|
|
Stabilize `vec_pop_if`
Tracking issue: #122741
FCP completed in https://github.com/rust-lang/rust/issues/122741#issuecomment-2605116387
|
|
|
|
|
|
|
|
|
|
|
|
DWARF 1 is very different than DWARF 2+ (see the commentary in
https://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html#index-gdwarf)
and LLVM does not really seem to support DWARF 1 as Clang does not offer
a `-gdwarf-1` flag and `llc` will just generate DWARF 2 with the version
set to 1: https://godbolt.org/z/s85d87n3a.
Since this isn't actually supported (and it's not clear it would be
useful anyway), report that DWARF 1 is not supported if it is requested.
Also add a help message to the error saying which versions are supported.
|
|
Update bootstrap compiler and rustfmt
The rustfmt version we previously used formats things differently from what the latest nightly rustfmt does. This causes issues for subtrees that get formatted both in-tree and in their own repo. Updating the rustfmt used in-tree solves those issues. Also bumped the bootstrap compiler as the stage0 update command always updates both at the same
time.
|
|
Rollup of 5 pull requests
Successful merges:
- #134679 (Windows: remove readonly files)
- #136213 (Allow Rust to use a number of libc filesystem calls)
- #136530 (Implement `x perf` directly in bootstrap)
- #136601 (Detect (non-raw) borrows of null ZST pointers in CheckNull)
- #136659 (Pick the max DWARF version when LTO'ing modules with different versions )
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
|
|
doc: error url
|
|
Rollup of 8 pull requests
Successful merges:
- #136397 (Add a comment pointing to ICE-136223)
- #136686 (Clean up `HashMap` and `HashSet` docs.)
- #136706 (compiler: mostly-finish `rustc_abi` updates)
- #136710 (Document `Sum::sum` returns additive identities for `[]`)
- #136724 (Make `AsyncFnOnce`, `AsyncFnMut`, `AsyncFn` non-`#[fundamental]`)
- #136727 (Have a break from review rotation)
- #136730 (transmutability: fix ICE when passing wrong ADT to ASSUME)
- #136736 (Small resolve refactor)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
|
|
|
|
Small resolve refactor
I was looking into how resolve works in order to find a good way for clippy to shorten paths in messages and suggestions, and found a needless `.collect()` and a recursive function that could be written as a loop, also removed a panicky code path.
|
|
transmutability: fix ICE when passing wrong ADT to ASSUME
- Remove an incorrect assert that the `ASSUME` parameter has the type `Assume` and delay a bug instead.
- Since we checked the type of `ASSUME` is `Assume` (an ADT), its valtree must be a branch, so we can just unwrap it.
r? ```@jswrenn```
|
|
Have a break from review rotation
Be busy on the job recently.
|
|
Make `AsyncFnOnce`, `AsyncFnMut`, `AsyncFn` non-`#[fundamental]`
Address the issue #136723 on nightly (the issue will only *actually* be fixed with a beta backport).
|