Commit Graph

1207 Commits

Author SHA1 Message Date
Guillaume Gomez
eee04a48d9 Add support for "download" 2024-02-13 15:43:42 +01:00
Antoni Boucher
5d5137cebc Rework the download function to only contain the platform-specific code 2024-02-12 21:20:12 -04:00
Oli Scherer
64dfa4f455 Teach llvm backend how to fall back to default bodies 2024-02-12 17:50:39 +00:00
Guillaume Gomez
588db24344 Correctly handle --use-system-gcc 2024-02-12 14:42:37 +01:00
antoyo
560e65c323
Merge pull request #427 from GuillaumeGomez/config-file
Switch to `config.toml` instead of `gcc-path`
2024-02-11 17:47:56 -05:00
Guillaume Gomez
de9d1b63b4 Add --config-file option to override default location of config.toml 2024-02-11 23:15:50 +01:00
Guillaume Gomez
79241b8a4e Update tests to use config.toml instead 2024-02-11 23:15:50 +01:00
Guillaume Gomez
0b2402fdfc Update CI scripts to work with config.toml 2024-02-11 23:15:50 +01:00
Guillaume Gomez
2640b316e2 Switch to config.toml instead of gcc-path 2024-02-11 21:53:56 +01:00
antoyo
357cae82ad
Merge pull request #426 from rust-lang/ci/projects
Run the tests of popular crates in the CI
2024-02-10 10:07:22 -05:00
Antoni Boucher
6b05753cb3 Run the tests of popular crates in the CI 2024-02-10 09:32:44 -05:00
Matthias Krüger
5a12a89992 Rollup merge of #120693 - nnethercote:invert-diagnostic-lints, r=davidtwco
Invert diagnostic lints.

That is, change `diagnostic_outside_of_impl` and `untranslatable_diagnostic` from `allow` to `deny`, because more than half of the compiler has been converted to use translated diagnostics.

This commit removes more `deny` attributes than it adds `allow` attributes, which proves that this change is warranted.

r? ````@davidtwco````
2024-02-09 14:41:50 +01:00
antoyo
8235b26062
Merge pull request #423 from rust-lang/fix/bswap128
Renable intrinsics-integer.rs test
2024-02-07 17:15:11 -05:00
Matthias Krüger
1f5316a769 Rollup merge of #120502 - clubby789:remove-ffi-returns-twice, r=compiler-errors
Remove `ffi_returns_twice` feature

The [tracking issue](https://github.com/rust-lang/rust/issues/58314) and [RFC](https://github.com/rust-lang/rfcs/pull/2633) have been closed for a couple of years.

There is also an attribute gate in R-A which should be removed if this lands.
2024-02-06 22:45:42 +01:00
Michael Goulet
31f7f03c2a Add CoroutineClosure to TyKind, AggregateKind, UpvarArgs 2024-02-06 02:22:58 +00:00
Nicholas Nethercote
007cea3238 Invert diagnostic lints.
That is, change `diagnostic_outside_of_impl` and
`untranslatable_diagnostic` from `allow` to `deny`, because more than
half of the compiler has be converted to use translated diagnostics.

This commit removes more `deny` attributes than it adds `allow`
attributes, which proves that this change is warranted.
2024-02-06 13:12:33 +11:00
Matthias Krüger
fe7be54b91 Rollup merge of #119543 - usamoi:avx512fp16, r=oli-obk
add avx512fp16 to x86 target features

std_detect avx512fp16: https://github.com/rust-lang/stdarch/pull/1508
2024-02-03 21:29:40 +01:00
Antoni Boucher
0a38748d8a Renable intrinsics-integer.rs test 2024-02-03 13:26:06 -05:00
antoyo
b04824a3b2
Merge pull request #421 from rust-lang/update/gcc
Update for rebased gcc
2024-02-02 12:11:57 -05:00
Antoni Boucher
ad8e820139 Update for rebased gcc 2024-02-02 11:49:32 -05:00
antoyo
2a36f58475
Merge pull request #416 from Liewyec/feature/improve-iterator-for-file-suppression
Improve iterator for files suppression
2024-02-01 09:10:38 -05:00
clubby789
04e4c5ddbc Remove ffi_returns_twice feature 2024-01-30 22:09:09 +00:00
Nicholas Nethercote
b9d44eef7a Remove the lifetime from DiagnosticArgValue.
Because it's almost always static.

This makes `impl IntoDiagnosticArg for DiagnosticArgValue` trivial,
which is nice.

There are a few diagnostics constructed in
`compiler/rustc_mir_build/src/check_unsafety.rs` and
`compiler/rustc_mir_transform/src/errors.rs` that now need symbols
converted to `String` with `to_string` instead of `&str` with `as_str`,
but that' no big deal, and worth it for the simplifications elsewhere.
2024-01-30 18:46:06 +11:00
bors
bb121d111d Auto merge of #116167 - RalfJung:structural-eq, r=lcnr
remove StructuralEq trait

The documentation given for the trait is outdated: *all* function pointers implement `PartialEq` and `Eq` these days. So the `StructuralEq` trait doesn't really seem to have any reason to exist any more.

One side-effect of this PR is that we allow matching on some consts that do not implement `Eq`. However, we already allowed matching on floats and consts containing floats, so this is not new, it is just allowed in more cases now. IMO it makes no sense at all to allow float matching but also sometimes require an `Eq` instance. If we want to require `Eq` we should adjust https://github.com/rust-lang/rust/pull/115893 to check for `Eq`, and rule out float matching for good.

Fixes https://github.com/rust-lang/rust/issues/115881
2024-01-26 00:17:00 +00:00
bors
d645e1638d Auto merge of #119911 - NCGThompson:is-statically-known, r=oli-obk
Replacement of #114390: Add new intrinsic `is_var_statically_known` and optimize pow for powers of two

This adds a new intrinsic `is_val_statically_known` that lowers to [``@llvm.is.constant.*`](https://llvm.org/docs/LangRef.html#llvm-is-constant-intrinsic).` It also applies the intrinsic in the int_pow methods to recognize and optimize the idiom `2isize.pow(x)`. See #114390 for more discussion.

While I have extended the scope of the power of two optimization from #114390, I haven't added any new uses for the intrinsic. That can be done in later pull requests.

Note: When testing or using the library, be sure to use `--stage 1` or higher. Otherwise, the intrinsic will be a noop and the doctests will be skipped. If you are trying out edits, you may be interested in [`--keep-stage 0`](https://rustc-dev-guide.rust-lang.org/building/suggested.html#faster-builds-with---keep-stage).

Fixes #47234
Resolves #114390
`@Centri3`
2024-01-25 05:16:53 +00:00
Ralf Jung
215284a490 remove StructuralEq trait 2024-01-24 07:56:23 +01:00
Nicholas Thompson
b2a7afd898 Further Implement is_val_statically_known 2024-01-23 12:02:31 -05:00
liewyec
599492a3d5 replace filter with skip and take 2024-01-21 09:22:32 +01:00
antoyo
e747d42bfd
Merge pull request #415 from rowan-sl/rename-clean-ui-tests
Rename `y.sh test --clean-ui-tests` to `y.sh clean ui-tests`
2024-01-19 15:05:33 -05:00
Rowan S-L
d34789f5d2 update Intel Software Development Emulator 2024-01-19 11:18:40 -05:00
antoyo
e4e9365882
Merge pull request #413 from NCGThompson/check-rustup-home-flag
Honor `$RUSTUP_HOME`
2024-01-19 10:46:23 -05:00
Rowan S-L
94ed9d16cf rename y.sh test --clean-ui-tests to y.sh clean ui-tests 2024-01-18 12:41:25 -05:00
Nic
dcb531f130
Update build_system/src/test.rs
Co-authored-by: antoyo <antoyo@users.noreply.github.com>
2024-01-16 12:57:34 -05:00
Nicholas Thompson
7dd3f6fffb call rustup which 2024-01-14 14:19:40 -05:00
Nicholas Thompson
52946377dc Honor $RUSTUP_HOME 2024-01-14 11:52:06 -05:00
usamoi
0783d45057 add avx512fp16 to x86 target features 2024-01-13 13:50:10 +08:00
antoyo
1a8e0c39fa
Merge pull request #412 from tgross35/gha-update
Switch from actions-rs to preinstalled rustup
2024-01-12 17:36:10 -05:00
Trevor Gross
0fe5c7fee3 Switch from actions-rs to preinstalled rustup
actions-rs is deprecated. Switch to using the preinstalled rustup to install
the toolchain, and https://github.com/Swatinem/rust-cache to configure
cacheing.
2024-01-12 14:28:10 -05:00
antoyo
5032d33628
Merge pull request #411 from rust-lang/fix/sysroot-copy-path
Fix the destination path of the sysroot copy
2024-01-11 18:29:15 -05:00
Antoni Boucher
45137ddd32 Fix the destination path of the sysroot copy 2024-01-11 17:41:37 -05:00
Nicholas Nethercote
558d051b1d Rename {create,emit}_warning as {create,emit}_warn.
For consistency with `warn`/`struct_warn`, and also `{create,emit}_err`,
all of which use an abbreviated form.
2024-01-10 07:33:06 +11:00
antoyo
47373be793
Merge pull request #410 from vuittont60/master
Fix typos
2024-01-09 07:40:25 -05:00
vuittont60
f8e079a171
Fix typo src/intrinsic/llvm.rs 2024-01-09 10:53:11 +08:00
vuittont60
4e8627cf89
Fix typo src/base.rs 2024-01-09 10:53:00 +08:00
vuittont60
b10f5dd3b9
Fix typo Readme.md 2024-01-09 10:52:52 +08:00
Obei Sideg
47b06069b3 Update test for E0796 and static_mut_ref lint 2024-01-07 17:29:25 +03:00
Michael Goulet
41b758f437 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
Matthias Krüger
fe71e04f7f Rollup merge of #119431 - taiki-e:asm-s390x-reg-addr, r=Amanieu
Support reg_addr register class in s390x inline assembly

In s390x, `r0` cannot be used as an address register (it is evaluated as zero in an address context).

Therefore, currently, in assemblies involving memory accesses, `r0` must be [marked as clobbered](1a1155653a/src/arch/s390x.rs (L58)) or [explicitly used to a non-address](1a1155653a/src/arch/s390x.rs (L135)) or explicitly use an address register to prevent `r0` from being allocated to a register for the address.

This patch adds a register class for allocating general-purpose registers, except `r0`, to make it easier to use address registers. (powerpc already has a register class (reg_nonzero) for a similar purpose.)

This is identical to the `a` constraint in LLVM and GCC:

https://llvm.org/docs/LangRef.html#supported-constraint-code-list
> a: A 32, 64, or 128-bit integer address register (excludes R0, which in an address context evaluates as zero).

https://gcc.gnu.org/onlinedocs/gcc/Machine-Constraints.html
> a
> Address register (general purpose register except r0)

cc ``@uweigand``

r? ``@Amanieu``
2024-01-04 15:33:59 +01:00
antoyo
fac7c3109d
Merge pull request #408 from GuillaumeGomez/intrinsics-conversion
Update intrinsics conversion
2024-01-03 10:00:56 -05:00
Guillaume Gomez
b5681ca4aa Update intrinsics conversion 2024-01-03 15:27:19 +01:00