Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automatic sync from rustc #2986

Merged
merged 15 commits into from
Jul 18, 2023
Merged

Automatic sync from rustc #2986

merged 15 commits into from
Jul 18, 2023

Conversation

github-actions[bot]
Copy link

No description provided.

eduardosm and others added 12 commits July 16, 2023 00:23
…t feature

miri will report an UB when calling a function that has a `#[target_feature(enable = ...)]` attribute is called and the required feature is not available.

"Available features" are the same that `is_x86_feature_detected!` (or equivalent) reports to be available during miri execution (which can be enabled or disabled with the `-C target-feature` flag).
De-duplicate consecutive libs when printing native-static-libs

This PR adds a de-duplicate step just before printing the `native-static-libs`.

This step de-duplicates all the consecutive libs based only on the relevant comparison elements (this exclude spans, ast elements, ...).

Fixes rust-lang/rust#113209
Hide `compiler_builtins` in the prelude

This crate is a private implementation detail. We only need to insert it into the crate graph for linking and should not expose any of its public API.

Fixes #113533
…-global-preds, r=lcnr

Don't call `predicate_must_hold`-esque functions during fulfillment in intercrate

Fixes #113415

Given that this only happens in `translate_substs`, I don't actually think that this is something that you can weaponize, but it's still sketchy regardless.

r? `@lcnr`
Use u64 for incr comp allocation offsets

Fixes rust-lang/rust#76037
Fixes rust-lang/rust#95780
Fixes rust-lang/rust#111613

These issues are all reporting ICEs caused by using `u32` to store offsets to allocations in the incremental compilation cache. This PR aims to lift that limitation by changing the offset type in question to `u64`.

There are two perf runs in this PR. The first reports a regression, and the second does not. The changes are the same in both. I rebased the PR then did the second perf run because I noticed that the primary regression in it was very commonly seen in spurious regression reports.

I do not know what the perf run will report when this is merged. I would not be surprised to see regression or neutral, but the cachegrind diffs for the regression point at `try_mark_previous_green` which is a common source of inexplicable regressions and I don't think should be perturbed by this PR.

I'm not opposed to adding a regression test such as
```rust
fn main() {
    println!("{}", [37; 1 << 30].len());
}
```
But that program takes 1 minute to compile and consumes 4.6 GB of memory then writes that much to disk. Is that a concerning amount of resource use for a test?

r? `@nnethercote`
CI: build CMake 3.20 to support LLVM 17

LLVM 17 will require CMake at least 3.20, so we have to go back to building our own CMake on the Linux x64 dist builder.

r? `@nikic`
…-obk

miri: fail when calling a function that requires an unavailable target feature

miri will report an UB when calling a function that has a `#[target_feature(enable = ...)]` attribute is called and the required feature is not available.

"Available features" are the same that `is_x86_feature_detected!` (or equivalent) reports to be available during miri execution (which can be enabled or disabled with the `-C target-feature` flag).
Add support for allocators in `Rc` & `Arc`

Adds the ability for `std::rc:Rc`, `std::rc::Weak`, `std::sync::Arc`, and `std::sync::Weak` to live in custom allocators
Add x86_64-unknown-linux-ohos target

This complements the existing `aarch64-unknown-linux-ohos` and `armv7-unknown-linux-ohos` targets.

This should be covered by the existing MCP (rust-lang/compiler-team#568), but I can also create a new MCP if that is preferred.
…, r=aDotInTheVoid,notriddle

Strip impl if not re-exported and is doc(hidden)

Part of #112852.

r? `@aDotInTheVoid`
@oli-obk
Copy link
Contributor

oli-obk commented Jul 18, 2023

@bors r+

@bors
Copy link
Collaborator

bors commented Jul 18, 2023

📌 Commit 9a1c5ef has been approved by oli-obk

It is now in the queue for this repository.

@bors
Copy link
Collaborator

bors commented Jul 18, 2023

⌛ Testing commit 9a1c5ef with merge 67c2ccd...

bors added a commit that referenced this pull request Jul 18, 2023
@bors
Copy link
Collaborator

bors commented Jul 18, 2023

💔 Test failed - checks-actions

@RalfJung
Copy link
Member

@bors r+

@bors
Copy link
Collaborator

bors commented Jul 18, 2023

📌 Commit 0bb8603 has been approved by RalfJung

It is now in the queue for this repository.

@bors
Copy link
Collaborator

bors commented Jul 18, 2023

⌛ Testing commit 0bb8603 with merge 21d63c3...

@bors
Copy link
Collaborator

bors commented Jul 18, 2023

☀️ Test successful - checks-actions
Approved by: RalfJung
Pushing 21d63c3 to master...

@bors bors merged commit 21d63c3 into master Jul 18, 2023
4 checks passed
@oli-obk oli-obk deleted the rustup-2023-07-18 branch July 18, 2023 10:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants