Skip to content

Commit 9b6a6b8

Browse files
committed
Auto merge of #3375 - rust-lang:rustup-2024-03-12, r=oli-obk
Automatic Rustup
2 parents 7a5b6eb + 19378ca commit 9b6a6b8

File tree

1,351 files changed

+19370
-10689
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,351 files changed

+19370
-10689
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,7 @@ jobs:
337337
- name: dist-x86_64-apple
338338
env:
339339
SCRIPT: "./x.py dist bootstrap --include-default-paths --host=x86_64-apple-darwin --target=x86_64-apple-darwin"
340-
RUST_CONFIGURE_ARGS: "--enable-full-tools --enable-sanitizers --enable-profiler --set rust.jemalloc --set rust.lto=thin"
340+
RUST_CONFIGURE_ARGS: "--enable-full-tools --enable-sanitizers --enable-profiler --set rust.jemalloc --set rust.lto=thin --set rust.codegen-units=1"
341341
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
342342
MACOSX_DEPLOYMENT_TARGET: 10.12
343343
SELECT_XCODE: /Applications/Xcode_14.3.1.app
@@ -442,7 +442,7 @@ jobs:
442442
os: windows-2019-8core-32gb
443443
- name: dist-x86_64-msvc
444444
env:
445-
RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-msvc --host=x86_64-pc-windows-msvc --target=x86_64-pc-windows-msvc --enable-full-tools --enable-profiler"
445+
RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-msvc --host=x86_64-pc-windows-msvc --target=x86_64-pc-windows-msvc --enable-full-tools --enable-profiler --set rust.codegen-units=1"
446446
SCRIPT: python x.py build --set rust.debug=true opt-dist && PGO_HOST=x86_64-pc-windows-msvc ./build/x86_64-pc-windows-msvc/stage0-tools-bin/opt-dist windows-ci -- python x.py dist bootstrap --include-default-paths
447447
DIST_REQUIRE_ALL_TOOLS: 1
448448
os: windows-2019-8core-32gb

Cargo.lock

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2265,6 +2265,17 @@ checksum = "f9d642685b028806386b2b6e75685faadd3eb65a85fff7df711ce18446a422da"
22652265
name = "lld-wrapper"
22662266
version = "0.1.0"
22672267

2268+
[[package]]
2269+
name = "llvm-bitcode-linker"
2270+
version = "0.0.1"
2271+
dependencies = [
2272+
"anyhow",
2273+
"clap",
2274+
"thiserror",
2275+
"tracing",
2276+
"tracing-subscriber",
2277+
]
2278+
22682279
[[package]]
22692280
name = "lock_api"
22702281
version = "0.4.11"
@@ -3298,6 +3309,9 @@ dependencies = [
32983309
[[package]]
32993310
name = "run_make_support"
33003311
version = "0.0.0"
3312+
dependencies = [
3313+
"wasmparser",
3314+
]
33013315

33023316
[[package]]
33033317
name = "rust-demangler"

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ members = [
3434
"src/tools/expand-yaml-anchors",
3535
"src/tools/jsondocck",
3636
"src/tools/jsondoclint",
37+
"src/tools/llvm-bitcode-linker",
3738
"src/tools/html-checker",
3839
"src/tools/bump-stage0",
3940
"src/tools/replace-version-placeholder",

INSTALL.md

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,15 @@ toolchain.
145145

146146
1. Download the latest [MSYS2 installer][msys2] and go through the installer.
147147

148+
2. Download and install [Git for Windows](https://git-scm.com/download/win).
149+
Make sure that it's in your Windows PATH. To enable access to it from within
150+
MSYS2, edit the relevant `mingw[32|64].ini` file in your MSYS2 installation
151+
directory and uncomment the line `MSYS2_PATH_TYPE=inherit`.
152+
153+
You could install and use MSYS2's version of git instead with `pacman`,
154+
however this is not recommended as it's excrutiatingly slow, and not frequently
155+
tested for compatability.
156+
148157
2. Start a MINGW64 or MINGW32 shell (depending on whether you want 32-bit
149158
or 64-bit Rust) either from your start menu, or by running `mingw64.exe`
150159
or `mingw32.exe` from your MSYS2 installation directory (e.g. `C:\msys64`).
@@ -160,8 +169,7 @@ toolchain.
160169
# Note that it is important that you do **not** use the 'python2', 'cmake',
161170
# and 'ninja' packages from the 'msys2' subsystem.
162171
# The build has historically been known to fail with these packages.
163-
pacman -S git \
164-
make \
172+
pacman -S make \
165173
diffutils \
166174
tar \
167175
mingw-w64-x86_64-python \
@@ -176,11 +184,9 @@ toolchain.
176184
python x.py setup dist && python x.py build && python x.py install
177185
```
178186

179-
If you want to use the native versions of Git, Python, or CMake you can remove
180-
them from the above pacman command and install them from another source. Make
181-
sure that they're in your Windows PATH, and edit the relevant `mingw[32|64].ini`
182-
file in your MSYS2 installation directory by uncommenting the line
183-
`MSYS2_PATH_TYPE=inherit` to include them in your MSYS2 PATH.
187+
If you want to try the native Windows versions of Python or CMake, you can remove
188+
them from the above pacman command and install them from another source. Follow
189+
the instructions in step 2 to get them on PATH.
184190

185191
Using Windows native Python can be helpful if you get errors when building LLVM.
186192
You may also want to use Git for Windows, as it is often *much* faster. Turning

compiler/rustc_ast_lowering/src/errors.rs

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
use rustc_errors::{
2-
codes::*, AddToDiagnostic, Diag, DiagArgFromDisplay, EmissionGuarantee, SubdiagMessageOp,
2+
codes::*, Diag, DiagArgFromDisplay, EmissionGuarantee, SubdiagMessageOp, Subdiagnostic,
33
};
44
use rustc_macros::{Diagnostic, Subdiagnostic};
55
use rustc_span::{symbol::Ident, Span, Symbol};
66

7-
#[derive(Diagnostic, Clone, Copy)]
7+
#[derive(Diagnostic)]
88
#[diag(ast_lowering_generic_type_with_parentheses, code = E0214)]
99
pub struct GenericTypeWithParentheses {
1010
#[primary_span]
@@ -14,7 +14,7 @@ pub struct GenericTypeWithParentheses {
1414
pub sub: Option<UseAngleBrackets>,
1515
}
1616

17-
#[derive(Clone, Copy, Subdiagnostic)]
17+
#[derive(Subdiagnostic)]
1818
#[multipart_suggestion(ast_lowering_use_angle_brackets, applicability = "maybe-incorrect")]
1919
pub struct UseAngleBrackets {
2020
#[suggestion_part(code = "<")]
@@ -40,8 +40,8 @@ pub struct InvalidAbi {
4040

4141
pub struct InvalidAbiReason(pub &'static str);
4242

43-
impl AddToDiagnostic for InvalidAbiReason {
44-
fn add_to_diagnostic_with<G: EmissionGuarantee, F: SubdiagMessageOp<G>>(
43+
impl Subdiagnostic for InvalidAbiReason {
44+
fn add_to_diag_with<G: EmissionGuarantee, F: SubdiagMessageOp<G>>(
4545
self,
4646
diag: &mut Diag<'_, G>,
4747
_: F,
@@ -63,7 +63,7 @@ pub struct InvalidAbiSuggestion {
6363
pub suggestion: String,
6464
}
6565

66-
#[derive(Diagnostic, Clone, Copy)]
66+
#[derive(Diagnostic)]
6767
#[diag(ast_lowering_assoc_ty_parentheses)]
6868
pub struct AssocTyParentheses {
6969
#[primary_span]
@@ -72,7 +72,7 @@ pub struct AssocTyParentheses {
7272
pub sub: AssocTyParenthesesSub,
7373
}
7474

75-
#[derive(Clone, Copy, Subdiagnostic)]
75+
#[derive(Subdiagnostic)]
7676
pub enum AssocTyParenthesesSub {
7777
#[multipart_suggestion(ast_lowering_remove_parentheses)]
7878
Empty {
@@ -106,23 +106,23 @@ pub struct MisplacedAssocTyBinding {
106106
pub suggestion: Option<Span>,
107107
}
108108

109-
#[derive(Diagnostic, Clone, Copy)]
109+
#[derive(Diagnostic)]
110110
#[diag(ast_lowering_underscore_expr_lhs_assign)]
111111
pub struct UnderscoreExprLhsAssign {
112112
#[primary_span]
113113
#[label]
114114
pub span: Span,
115115
}
116116

117-
#[derive(Diagnostic, Clone, Copy)]
117+
#[derive(Diagnostic)]
118118
#[diag(ast_lowering_base_expression_double_dot, code = E0797)]
119119
pub struct BaseExpressionDoubleDot {
120120
#[primary_span]
121121
#[suggestion(code = "/* expr */", applicability = "has-placeholders", style = "verbose")]
122122
pub span: Span,
123123
}
124124

125-
#[derive(Diagnostic, Clone, Copy)]
125+
#[derive(Diagnostic)]
126126
#[diag(ast_lowering_await_only_in_async_fn_and_blocks, code = E0728)]
127127
pub struct AwaitOnlyInAsyncFnAndBlocks {
128128
#[primary_span]
@@ -132,50 +132,50 @@ pub struct AwaitOnlyInAsyncFnAndBlocks {
132132
pub item_span: Option<Span>,
133133
}
134134

135-
#[derive(Diagnostic, Clone, Copy)]
135+
#[derive(Diagnostic)]
136136
#[diag(ast_lowering_coroutine_too_many_parameters, code = E0628)]
137137
pub struct CoroutineTooManyParameters {
138138
#[primary_span]
139139
pub fn_decl_span: Span,
140140
}
141141

142-
#[derive(Diagnostic, Clone, Copy)]
142+
#[derive(Diagnostic)]
143143
#[diag(ast_lowering_closure_cannot_be_static, code = E0697)]
144144
pub struct ClosureCannotBeStatic {
145145
#[primary_span]
146146
pub fn_decl_span: Span,
147147
}
148148

149-
#[derive(Diagnostic, Clone, Copy)]
149+
#[derive(Diagnostic)]
150150
#[diag(ast_lowering_functional_record_update_destructuring_assignment)]
151151
pub struct FunctionalRecordUpdateDestructuringAssignment {
152152
#[primary_span]
153153
#[suggestion(code = "", applicability = "machine-applicable")]
154154
pub span: Span,
155155
}
156156

157-
#[derive(Diagnostic, Clone, Copy)]
157+
#[derive(Diagnostic)]
158158
#[diag(ast_lowering_async_coroutines_not_supported, code = E0727)]
159159
pub struct AsyncCoroutinesNotSupported {
160160
#[primary_span]
161161
pub span: Span,
162162
}
163163

164-
#[derive(Diagnostic, Clone, Copy)]
164+
#[derive(Diagnostic)]
165165
#[diag(ast_lowering_inline_asm_unsupported_target, code = E0472)]
166166
pub struct InlineAsmUnsupportedTarget {
167167
#[primary_span]
168168
pub span: Span,
169169
}
170170

171-
#[derive(Diagnostic, Clone, Copy)]
171+
#[derive(Diagnostic)]
172172
#[diag(ast_lowering_att_syntax_only_x86)]
173173
pub struct AttSyntaxOnlyX86 {
174174
#[primary_span]
175175
pub span: Span,
176176
}
177177

178-
#[derive(Diagnostic, Clone, Copy)]
178+
#[derive(Diagnostic)]
179179
#[diag(ast_lowering_abi_specified_multiple_times)]
180180
pub struct AbiSpecifiedMultipleTimes {
181181
#[primary_span]
@@ -187,7 +187,7 @@ pub struct AbiSpecifiedMultipleTimes {
187187
pub equivalent: Option<()>,
188188
}
189189

190-
#[derive(Diagnostic, Clone, Copy)]
190+
#[derive(Diagnostic)]
191191
#[diag(ast_lowering_clobber_abi_not_supported)]
192192
pub struct ClobberAbiNotSupported {
193193
#[primary_span]
@@ -203,7 +203,7 @@ pub struct InvalidAbiClobberAbi {
203203
pub supported_abis: String,
204204
}
205205

206-
#[derive(Diagnostic, Clone, Copy)]
206+
#[derive(Diagnostic)]
207207
#[diag(ast_lowering_invalid_register)]
208208
pub struct InvalidRegister<'a> {
209209
#[primary_span]
@@ -212,7 +212,7 @@ pub struct InvalidRegister<'a> {
212212
pub error: &'a str,
213213
}
214214

215-
#[derive(Diagnostic, Clone, Copy)]
215+
#[derive(Diagnostic)]
216216
#[diag(ast_lowering_invalid_register_class)]
217217
pub struct InvalidRegisterClass<'a> {
218218
#[primary_span]
@@ -241,7 +241,7 @@ pub enum InvalidAsmTemplateModifierRegClassSub {
241241
DoesNotSupportModifier { class_name: Symbol },
242242
}
243243

244-
#[derive(Diagnostic, Clone, Copy)]
244+
#[derive(Diagnostic)]
245245
#[diag(ast_lowering_invalid_asm_template_modifier_const)]
246246
pub struct InvalidAsmTemplateModifierConst {
247247
#[primary_span]
@@ -251,7 +251,7 @@ pub struct InvalidAsmTemplateModifierConst {
251251
pub op_span: Span,
252252
}
253253

254-
#[derive(Diagnostic, Clone, Copy)]
254+
#[derive(Diagnostic)]
255255
#[diag(ast_lowering_invalid_asm_template_modifier_sym)]
256256
pub struct InvalidAsmTemplateModifierSym {
257257
#[primary_span]
@@ -261,7 +261,7 @@ pub struct InvalidAsmTemplateModifierSym {
261261
pub op_span: Span,
262262
}
263263

264-
#[derive(Diagnostic, Clone, Copy)]
264+
#[derive(Diagnostic)]
265265
#[diag(ast_lowering_invalid_asm_template_modifier_label)]
266266
pub struct InvalidAsmTemplateModifierLabel {
267267
#[primary_span]
@@ -271,15 +271,15 @@ pub struct InvalidAsmTemplateModifierLabel {
271271
pub op_span: Span,
272272
}
273273

274-
#[derive(Diagnostic, Clone, Copy)]
274+
#[derive(Diagnostic)]
275275
#[diag(ast_lowering_register_class_only_clobber)]
276276
pub struct RegisterClassOnlyClobber {
277277
#[primary_span]
278278
pub op_span: Span,
279279
pub reg_class_name: Symbol,
280280
}
281281

282-
#[derive(Diagnostic, Clone, Copy)]
282+
#[derive(Diagnostic)]
283283
#[diag(ast_lowering_register_conflict)]
284284
pub struct RegisterConflict<'a> {
285285
#[primary_span]
@@ -293,7 +293,7 @@ pub struct RegisterConflict<'a> {
293293
pub in_out: Option<Span>,
294294
}
295295

296-
#[derive(Diagnostic, Clone, Copy)]
296+
#[derive(Diagnostic)]
297297
#[help]
298298
#[diag(ast_lowering_sub_tuple_binding)]
299299
pub struct SubTupleBinding<'a> {
@@ -311,7 +311,7 @@ pub struct SubTupleBinding<'a> {
311311
pub ctx: &'a str,
312312
}
313313

314-
#[derive(Diagnostic, Clone, Copy)]
314+
#[derive(Diagnostic)]
315315
#[diag(ast_lowering_extra_double_dot)]
316316
pub struct ExtraDoubleDot<'a> {
317317
#[primary_span]
@@ -322,15 +322,15 @@ pub struct ExtraDoubleDot<'a> {
322322
pub ctx: &'a str,
323323
}
324324

325-
#[derive(Diagnostic, Clone, Copy)]
325+
#[derive(Diagnostic)]
326326
#[note]
327327
#[diag(ast_lowering_misplaced_double_dot)]
328328
pub struct MisplacedDoubleDot {
329329
#[primary_span]
330330
pub span: Span,
331331
}
332332

333-
#[derive(Diagnostic, Clone, Copy)]
333+
#[derive(Diagnostic)]
334334
#[diag(ast_lowering_misplaced_relax_trait_bound)]
335335
pub struct MisplacedRelaxTraitBound {
336336
#[primary_span]
@@ -363,14 +363,14 @@ pub struct NeverPatternWithGuard {
363363
pub span: Span,
364364
}
365365

366-
#[derive(Diagnostic, Clone, Copy)]
366+
#[derive(Diagnostic)]
367367
#[diag(ast_lowering_arbitrary_expression_in_pattern)]
368368
pub struct ArbitraryExpressionInPattern {
369369
#[primary_span]
370370
pub span: Span,
371371
}
372372

373-
#[derive(Diagnostic, Clone, Copy)]
373+
#[derive(Diagnostic)]
374374
#[diag(ast_lowering_inclusive_range_with_no_end)]
375375
pub struct InclusiveRangeWithNoEnd {
376376
#[primary_span]

compiler/rustc_ast_passes/src/errors.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
33
use rustc_ast::ParamKindOrd;
44
use rustc_errors::{
5-
codes::*, AddToDiagnostic, Applicability, Diag, EmissionGuarantee, SubdiagMessageOp,
5+
codes::*, Applicability, Diag, EmissionGuarantee, SubdiagMessageOp, Subdiagnostic,
66
};
77
use rustc_macros::{Diagnostic, Subdiagnostic};
88
use rustc_span::{symbol::Ident, Span, Symbol};
@@ -373,8 +373,8 @@ pub struct ArgsBeforeConstraint {
373373
pub struct EmptyLabelManySpans(pub Vec<Span>);
374374

375375
// The derive for `Vec<Span>` does multiple calls to `span_label`, adding commas between each
376-
impl AddToDiagnostic for EmptyLabelManySpans {
377-
fn add_to_diagnostic_with<G: EmissionGuarantee, F: SubdiagMessageOp<G>>(
376+
impl Subdiagnostic for EmptyLabelManySpans {
377+
fn add_to_diag_with<G: EmissionGuarantee, F: SubdiagMessageOp<G>>(
378378
self,
379379
diag: &mut Diag<'_, G>,
380380
_: F,
@@ -742,8 +742,8 @@ pub struct StableFeature {
742742
pub since: Symbol,
743743
}
744744

745-
impl AddToDiagnostic for StableFeature {
746-
fn add_to_diagnostic_with<G: EmissionGuarantee, F: SubdiagMessageOp<G>>(
745+
impl Subdiagnostic for StableFeature {
746+
fn add_to_diag_with<G: EmissionGuarantee, F: SubdiagMessageOp<G>>(
747747
self,
748748
diag: &mut Diag<'_, G>,
749749
_: F,

0 commit comments

Comments
 (0)