Commit Graph

1407 Commits

Author SHA1 Message Date
Guillaume Gomez
6c9156717e Regen intrinsics conversions 2024-03-13 16:44:54 +01:00
Arthur Carcano
a64942a3e9 Mark codegen_gcc fields used only on feature master as such
The dead_code lint was previously eroneously missing those.
Since this lint bug has been fixed, the unused fields need
to be feature gated.
2024-03-12 10:59:41 +01:00
Oli Scherer
e7795ed0fe Some comment nits 2024-03-12 08:51:20 +00:00
Oli Scherer
6d573e9e31 Ensure nested allocations in statics do not get deduplicated 2024-03-12 05:53:46 +00:00
Oli Scherer
8fdfbf54ff Make some functions private that are only ever used in the same module 2024-03-12 05:53:46 +00:00
Oli Scherer
e3a9b1dbec Check whether a static is mutable instead of passing it down 2024-03-12 05:53:46 +00:00
Guillaume Gomez
be24d391bc Use published gccjit dependency instead of git repository 2024-03-11 16:29:00 +01:00
Jacob Pratt
a6202e2a77 Rollup merge of #121840 - oli-obk:freeze, r=dtolnay
Expose the Freeze trait again (unstably) and forbid implementing it manually

non-emoji version of https://github.com/rust-lang/rust/pull/121501

cc #60715

This trait is useful for generic constants (associated consts of generic traits). See the test (`tests/ui/associated-consts/freeze.rs`) added in this PR for a usage example. The builtin `Freeze` trait is the only way to do it, users cannot work around this issue.

It's also a useful trait for building some very specific abstrations, as shown by the usage by the `zerocopy` crate: https://github.com/google/zerocopy/issues/941

cc ```@RalfJung```

T-lang signed off on reexposing this unstably: https://github.com/rust-lang/rust/pull/121501#issuecomment-1969827742
2024-03-11 03:47:19 -04:00
tempdragon
a7d39b852a fix(from_low_high): Renamed according to clippy requirements
Changed for clippy naming convention requirement:
```
warning: methods called `from_*` usually take no `self`
   --> src/int.rs:996:22
    |
996 |     fn from_low_high(&self, typ: Type<'gcc>, low: i64, high: i64) -> RValue<'gcc> {
    |                      ^^^^^
    |
    = help: consider choosing a less ambiguous name
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention
    = note: `#[warn(clippy::wrong_self_convention)]` on by default
```
2024-03-11 12:55:28 +08:00
tempdragon
3fd9db31bf fix(fmt): Rewrite a condition according to clippy
This looks like an (inverted) exclusive-or but I still leave it as it is in clippy.
2024-03-11 12:41:37 +08:00
tempdragon
d2cda90e4e fix(clippy): redundant variables in simd.rs 2024-03-11 12:36:39 +08:00
tempdragon
091de55db8 fix(fmt): Try to comply to the format requirement 2024-03-11 12:31:16 +08:00
tempdragon
ad97b8c061 fix(liftime): Gen. by cargo clippy
cmd: `cargo clippy --fix --lib -p rustc_codegen_gcc --allow-dirtyxs`
2024-03-11 12:20:36 +08:00
tempdragon
8d4d87859b fix(clippy): Clone-related clippy workarounds
1. Use `clone_from` in place of `clone()` in `builder.rs`
2. Change `&name` to `name.clone()` in `debuginfo.rs`(Is this really
efficient? But I can't find other workarounds.)
2024-03-11 12:13:30 +08:00
tempdragon
c6b75581d0 fix(declare.rs): Clone name when buiding without the master feat. 2024-03-11 10:24:22 +08:00
tempdragon
9ea3c19055 fix(fmt/style): Further apply Clippy suggestions manually
1. Fix Pattern Type Mismatch by Adding deref's
2. Move commented `else if` to previous block in `intrinsic.rs`
2024-03-11 10:24:22 +08:00
tempdragon
6f76488b2f fix(fmt/style): Remove unncessary clones, into's and deref's 2024-03-11 10:24:22 +08:00
bors
0031b219b6 Auto merge of #122132 - nnethercote:diag-renaming3, r=nnethercote
Diagnostic renaming 3

A sequel to https://github.com/rust-lang/rust/pull/121780.

r? `@davidtwco`
2024-03-11 00:34:44 +00:00
antoyo
47207949ae
Merge pull request #468 from GuillaumeGomez/sync
Sync Rust 2024-03-10
2024-03-10 18:57:50 -04:00
Guillaume Gomez
ca883bdbe4 Remove unused files 2024-03-10 23:34:00 +01:00
Nicholas Nethercote
915646fe79 Rename IntoDiagnostic as Diagnostic.
To match `derive(Diagnostic)`.

Also rename `into_diagnostic` as `into_diag`.
2024-03-11 09:15:09 +11:00
Guillaume Gomez
ba52317518 Add code comment about the --backend option usage 2024-03-10 22:10:05 +01:00
Guillaume Gomez
fc2d1edad7 Add new failing tests 2024-03-10 22:08:21 +01:00
Guillaume Gomez
f7622d11a7 fmt 2024-03-10 22:08:21 +01:00
Guillaume Gomez
45aa965bd5 Update rustc version to 2024-03-10 2024-03-10 17:19:48 +01:00
Guillaume Gomez
5a89328710 Merge branch 'master' into sync_branch_name 2024-03-10 17:18:06 +01:00
Ralf Jung
dd9407dcbe use Instance::expect_resolve() instead of unwraping Instance::resolve() 2024-03-10 11:49:33 +01:00
daxpedda
d0dc94334b Introduce perma-unstable wasm-c-abi flag 2024-03-10 09:00:01 +01:00
Guillaume Gomez
ed5c3bc397 Fix cg_gcc merge 2024-03-10 01:01:52 +01:00
Guillaume Gomez
d9a491b776 Merge remote-tracking branch 'upstream/master' into HEAD 2024-03-09 18:04:39 +01:00
Michael Goulet
929e12d199 Stabilize associated type bounds 2024-03-08 20:56:25 +00:00
Matthias Krüger
568d3949c1 Rollup merge of #119365 - nbdd0121:asm-goto, r=Amanieu
Add asm goto support to `asm!`

Tracking issue: #119364

This PR implements asm-goto support, using the syntax described in "future possibilities" section of [RFC2873](https://rust-lang.github.io/rfcs/2873-inline-asm.html#asm-goto).

Currently I have only implemented the `label` part, not the `fallthrough` part (i.e. fallthrough is implicit). This doesn't reduce the expressive though, since you can use label-break to get arbitrary control flow or simply set a value and rely on jump threading optimisation to get the desired control flow. I can add that later if deemed necessary.

r? ``@Amanieu``
cc ``@ojeda``
2024-03-08 08:19:17 +01:00
Guillaume Gomez
c860ac459e Correctly handle cargo_target_dir 2024-03-06 16:24:02 +01:00
Guillaume Gomez
9aa01ca9e9 Correctly handle "master" feature 2024-03-05 20:17:29 +01:00
Guillaume Gomez
17aa31bfe2 Fix cg_gcc build 2024-03-05 20:17:29 +01:00
Guillaume Gomez
06d07f816a Remove unneeded special case for rust CI 2024-03-05 19:59:40 +01:00
Guillaume Gomez
faebf73983 Merge commit 'b385428e3ddf330805241e7758e773f933357c4b' into subtree-update_cg_gcc_2024-03-05 2024-03-05 19:58:36 +01:00
antoyo
b385428e3d
Merge pull request #464 from rust-lang/sync_from_rust_2024_03_04
Sync from rust 2024/03/04
2024-03-05 13:27:49 -05:00
Antoni Boucher
3b4c58d7f5 Fix rand tests 2024-03-05 12:53:40 -05:00
Antoni Boucher
86a2bb760c Fix CI 2024-03-05 11:55:51 -05:00
Guillaume Gomez
42a0d63238 Ignore rand tests warnings 2024-03-05 15:50:28 +01:00
Antoni Boucher
499d3c229d Fix CI 2024-03-05 09:19:03 -05:00
Ralf Jung
0975461837 only set noalias on Box with the global allocator 2024-03-05 15:03:33 +01:00
Antoni Boucher
cd75da1f2c Fix formatting 2024-03-05 08:33:42 -05:00
Antoni Boucher
b76515708b Workaround for linker error about missing -lLLVM-18-rust-1.78.0-nightly 2024-03-05 08:23:27 -05:00
Antoni Boucher
1605928023 Merge branch 'master' into sync_from_rust_2024_03_04 2024-03-05 08:21:27 -05:00
antoyo
e4ec64a1c4
Merge pull request #459 from tempdragon/master
fix(fmt/style): Clippy-generated Code Correction
2024-03-04 08:07:26 -05:00
antoyo
3937fd15b5
Merge pull request #460 from mu001999/patch-1
Remove unused structs
2024-03-03 20:21:05 -05:00
bors
1abbf610fe Auto merge of #121665 - erikdesjardins:ptradd, r=nikic
Always generate GEP i8 / ptradd for struct offsets

This implements #98615, and goes a bit further to remove `struct_gep` entirely.

Upstream LLVM is in the beginning stages of [migrating to `ptradd`](https://discourse.llvm.org/t/rfc-replacing-getelementptr-with-ptradd/68699). LLVM 19 will [canonicalize](https://github.com/llvm/llvm-project/pull/68882) all constant-offset GEPs to i8, which has roughly the same effect as this change.

Fixes #121719.

Split out from #121577.

r? `@nikic`
2024-03-03 22:21:53 +00:00
antoyo
5178a8d6e8
Merge pull request #463 from rust-lang/fix/panic-doesnt-fail-tests
Update lang_tester so that panicking in a test results in the test failing
2024-03-01 19:13:37 -05:00