Commit graph

1801 commits

Author SHA1 Message Date
Nicholas Nethercote
700a396520 Add missing DiagnosticBuilder::eager_diagnostic method.
This lets us avoid the use of `DiagnosticBuilder::into_diagnostic` in
miri, when then means that `DiagnosticBuilder::into_diagnostic` can
become private, being now only used by `stash` and `buffer`.
2024-01-10 07:40:44 +11:00
Guillaume Gomez
4a24b5bc05
Rollup merge of #117556 - obeis:static-mut-ref-lint, r=davidtwco
Disallow reference to `static mut` and adding `static_mut_ref` lint

Closes #114447

r? `@scottmcm`
2024-01-09 13:23:15 +01:00
bors
8d4a5c7304 Auto merge of #3261 - RalfJung:jemalloc, r=RalfJung
only use jemalloc on Linux and macOS

hopefully fixes [this](https://github.com/rust-lang/rust/pull/119707#issuecomment-1880212449)
2024-01-08 07:41:42 +00:00
Ralf Jung
56ff1b878e only use jemalloc on Linux and macOS 2024-01-08 08:39:17 +01:00
bors
d475e62159 Auto merge of #3260 - saethlin:build-all-tier-2, r=RalfJung
Check if tier 2 targets build in the nightly cron job

This PR adds a CI job that only runs nightly which will install Miri built from the latest commit, and try to build every Tier 2 without host tools target, as documented on https://doc.rust-lang.org/nightly/rustc/platform-support.html.

I'm not really excited about the idea of scraping the tier 2 without host tools list, but also keeping the list up-to-date by hand seems prone to forgetting to update it. And that update seems like the sort of manual maintenance we should automate.
2024-01-07 20:43:06 +00:00
Ben Kimock
7d5de709c8 Check if tier 2 targets build in the nightly cron job 2024-01-07 15:40:43 -05:00
bors
6f017d22cc Auto merge of #3257 - RalfJung:build-tests, r=RalfJung
./miri build: also build tests, to avoid rebuilds later
2024-01-07 15:24:42 +00:00
Obei Sideg
a8aa6878f6 Update test for E0796 and static_mut_ref lint 2024-01-07 17:29:25 +03:00
bors
8675aa1ebf Auto merge of #3256 - RalfJung:rounding, r=RalfJung
implement the rounding intrinsics using apfloat rounding

No reason to use host floats for these. Also merge two files that were both testing various float things.
2024-01-07 14:21:57 +00:00
Ralf Jung
c4a11ea93e only use jemalloc on Unix 2024-01-07 13:15:53 +01:00
Ralf Jung
b8209e2ef1 use jemalloc as global allocator 2024-01-07 12:38:37 +01:00
Ralf Jung
66b15ae591 cargo update 2024-01-06 16:10:52 +01:00
Ralf Jung
643e7f08da ./miri build: also build tests, to avoid rebuilds later 2024-01-06 16:05:41 +01:00
Ralf Jung
ac4526d28c these should be exact 2024-01-06 12:08:44 +01:00
Ralf Jung
58c80a0239 merge intrinsics-math into float tests 2024-01-06 12:07:28 +01:00
Ralf Jung
1c98b78eb7 implement the rounding intrinsics using apfloat rounding 2024-01-06 12:02:08 +01:00
The Miri Conjob Bot
46f53c8b5d fmt 2024-01-06 05:02:47 +00:00
The Miri Conjob Bot
078f228085 Merge from rustc 2024-01-06 05:01:35 +00:00
The Miri Conjob Bot
7e4e9ada0f Preparing for merge from rustc 2024-01-06 04:54:11 +00:00
Matthias Krüger
80ee0c08d6 remove redundant clone 2024-01-05 21:19:45 +01:00
Michael Goulet
f361b591ef
Rollup merge of #119538 - nnethercote:cleanup-errors-5, r=compiler-errors
Cleanup error handlers: round 5

More rustc_errors cleanups. A sequel to https://github.com/rust-lang/rust/pull/119171.

r? ````@compiler-errors````
2024-01-05 10:57:21 -05:00
The Miri Conjob Bot
d11a2bdc1d Merge from rustc 2024-01-05 05:12:56 +00:00
The Miri Conjob Bot
4c4c6a6de3 Preparing for merge from rustc 2024-01-05 05:06:22 +00:00
bors
5113ed28ea Auto merge of #118297 - shepmaster:warn-dead-tuple-fields, r=WaffleLapkin
Merge `unused_tuple_struct_fields` into `dead_code`

This implicitly upgrades the lint from `allow` to `warn` and places it into the `unused` lint group.

[Discussion on Zulip](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/Moving.20.60unused_tuple_struct_fields.60.20from.20allow.20to.20warn)
2024-01-05 04:51:55 +00:00
Matthias Krüger
657937850b
Rollup merge of #119574 - RalfJung:miri, r=oli-obk
Miri subtree update

r? `@ghost`
2024-01-04 15:34:01 +01:00
Ralf Jung
5aa15b6ee7 miri: do not forward RUSTFLAGS to deps build 2024-01-04 12:30:38 +01:00
Nicholas Nethercote
8388112970 Remove is_lint field from Level::Error.
Because it's redundant w.r.t. `Diagnostic::is_lint`, which is present
for every diagnostic level.

`struct_lint_level_impl` was the only place that set the `Error` field
to `true`, and it's also the only place that calls
`Diagnostic::is_lint()` to set the `is_lint` field.
2024-01-04 16:09:31 +11:00
Nicholas Nethercote
505c1371d0 Rename some Diagnostic setters.
`Diagnostic` has 40 methods that return `&mut Self` and could be
considered setters. Four of them have a `set_` prefix. This doesn't seem
necessary for a type that implements the builder pattern. This commit
removes the `set_` prefixes on those four methods.
2024-01-03 19:40:20 +11:00
Jake Goulding
10f4023192 Allow unused tuple struct fields in Miri tests
Otherwise the newly-detected dead code causes new output
2024-01-02 15:34:37 -05:00
bors
38847aeb76 Auto merge of #3239 - beepster4096:windows_sys_tests, r=RalfJung
Use `windows-sys` in windows tests

This PR adds `windows-sys` to `test_dependencies` so that we don't have to write out windows api bindings for each test.
2023-12-30 19:57:21 +00:00
DrMeepster
109ada8e9e undo some lockfile changes, add explicit types to tests 2023-12-29 12:33:27 -08:00
Ben Kimock
4da47a4180 Fix integer overflow ICEs from round_up_to_next_multiple_of 2023-12-28 15:43:05 -05:00
bors
a63fd5ea6b Auto merge of #3244 - RalfJung:nan-nondet, r=RalfJung
NaN non-determinism for intrinsics and libm functions
2023-12-28 11:57:27 +00:00
Ralf Jung
771e47929f don't test unspecified case 2023-12-28 12:56:07 +01:00
Ralf Jung
ee42d1eb9f NaN non-determinism for SIMD intrinsics 2023-12-28 12:14:06 +01:00
Ralf Jung
0f98c0e610 add NaN-nondet to libm functions 2023-12-28 11:07:56 +01:00
Ralf Jung
86198a15d7 make float intrinsics return non-deterministic NaN 2023-12-28 09:29:24 +01:00
bors
0c2c93e78a Auto merge of #3240 - Jefffrey:tempfile, r=RalfJung
Support for tempfile crate on UNIX hosts

Reviving old PR: https://github.com/rust-lang/miri/pull/2720

Attempted to apply the changes as suggested by https://github.com/rust-lang/miri/pull/2720#issuecomment-1347867264

To fix tempfile to work for UNIX targets only and fall back to previous behaviour of only supporting default mode for Windows targets
2023-12-27 21:45:18 +00:00
Pointerbender
cf2ef7dc79 Support for tempfile crate on UNIX hosts
Co-authored-by: Jefffrey <22608443+Jefffrey@users.noreply.github.com>
Co-authored-by: Ralf Jung <post@ralfj.de>
2023-12-28 08:18:50 +11:00
Ralf Jung
dae48ea4bb fast_math: detect non-finite results 2023-12-27 20:31:28 +01:00
Ralf Jung
0f9baa8a31 custom mir: make it clear what the return block is 2023-12-26 20:15:26 +01:00
The Miri Conjob Bot
236ae9905a Merge from rustc 2023-12-26 05:00:54 +00:00
The Miri Conjob Bot
f2407d98de Preparing for merge from rustc 2023-12-26 04:54:17 +00:00
DrMeepster
ac9368ab1e have windows tests use windows-sys 2023-12-25 17:09:14 -08:00
The Miri Conjob Bot
29f25ee3f3 Merge from rustc 2023-12-24 05:00:43 +00:00
The Miri Conjob Bot
f3db65df94 Preparing for merge from rustc 2023-12-24 04:54:07 +00:00
Nicholas Nethercote
8a9db25459 Remove more Session methods that duplicate DiagCtxt methods. 2023-12-24 08:17:47 +11:00
Nicholas Nethercote
99472c7049 Remove Session methods that duplicate DiagCtxt methods.
Also add some `dcx` methods to types that wrap `TyCtxt`, for easier
access.
2023-12-24 08:05:28 +11:00
Michael Goulet
e0d7a72c46
Rollup merge of #119171 - nnethercote:cleanup-errors-4, r=compiler-errors
Cleanup error handlers: round 4

More `rustc_errors` cleanups. A sequel to #118933.

r? `@compiler-errors`
2023-12-22 21:41:03 -05:00
Nicholas Nethercote
00e8485057 Remove all uses of DiagnosticBuilder::forget_guarantee().
There are only three. It's simpler to make the type
`DiagnosticBuilder<'_, ()>` from the start, no matter the level, than to
change the guarantee later.
2023-12-23 13:23:28 +11:00