Commit Graph

1114 Commits

Author SHA1 Message Date
Ralf Jung
cb32ffd8da ctfe interpreter: extend provenance so that it can track whether a pointer is immutable 2023-12-07 17:46:36 +01:00
Urgau
3cfff05ac7 Allow internal_features in rustc_codegen_gcc examples 2023-12-07 15:26:18 +01:00
Urgau
19e11760ab Update rustc_codegen_gcc libc 2023-12-07 14:59:37 +01:00
quininer
2baa073fb1 Add emulated TLS support
Currently LLVM uses emutls by default
for some targets (such as android, openbsd),
but rust does not use it, because `has_thread_local` is false.

This commit has some changes to allow users to enable emutls:

1. add `-Zhas-thread-local` flag to specify
    that std uses `#[thread_local]` instead of pthread key.
2. when using emutls, decorate symbol names
    to find thread local symbol correctly.
3. change `-Zforce-emulated-tls` to `-Ztls-model=emulated`
    to explicitly specify whether to generate emutls.
2023-12-07 00:21:32 +08:00
Guillaume Gomez
ebb7aa0b85 Apply suggestions 2023-12-04 17:33:18 +01:00
Guillaume Gomez
996635bad6 Fix chroot command 2023-12-04 15:29:23 +01:00
Guillaume Gomez
2ec8d46dd1 Correctly handle OVERWRITE_TARGET_TRIPLE env variable 2023-12-04 15:29:23 +01:00
Guillaume Gomez
53b2759bef Show command which failed 2023-12-04 15:29:23 +01:00
Guillaume Gomez
ff04316243 Remove --target option 2023-12-04 15:29:23 +01:00
Guillaume Gomez
970b2c7700 Fix build_sysroot by adding missing RUSTFLAGS environment variable 2023-12-04 15:29:23 +01:00
Guillaume Gomez
7d71b87691 Correctly set --cap-lints when running regex tests 2023-12-04 15:29:23 +01:00
Guillaume Gomez
ad1d5417e7 Set RUSTDOCFLAGS environment variable in run_cargo_command_with_callback function 2023-12-04 15:29:23 +01:00
Guillaume Gomez
7013eccc05 Add missing code comment 2023-12-04 15:29:23 +01:00
Guillaume Gomez
3c6bae7fa8 Use the correct folder when deleting rust UI tests 2023-12-04 15:29:23 +01:00
Guillaume Gomez
4bed89f79b Correctly pass toolchain to cargo command 2023-12-04 15:29:23 +01:00
Guillaume Gomez
d793f80bd4 Correctly pass cfg option 2023-12-04 15:29:23 +01:00
Guillaume Gomez
673661db8b Remove newline for llvm FileCheck binary path 2023-12-04 15:29:23 +01:00
Guillaume Gomez
23c97b545d Replace xargs command with pure Rust 2023-12-04 15:29:23 +01:00
Guillaume Gomez
87c284c9bc Only read rust test files 2023-12-04 15:29:23 +01:00
Guillaume Gomez
9d104a0cbf Clone rust repository before modifying it 2023-12-04 15:29:23 +01:00
Guillaume Gomez
c27fe3e036 Correctly handle channel in config 2023-12-04 15:29:23 +01:00
Guillaume Gomez
694a80d372 Add missing --build-sysroot option 2023-12-04 15:29:23 +01:00
Guillaume Gomez
8cc024c84d Fix invalid path in build_sysroot_inner 2023-12-04 15:29:23 +01:00
Guillaume Gomez
d3e14a49c9 Display stdout and stderr if a command failed to run 2023-12-04 15:29:23 +01:00
Guillaume Gomez
84ca4f59c2 Remove test.sh, config.sh and all calls and documentation pointing to it 2023-12-04 15:29:22 +01:00
Guillaume Gomez
7b76ac4eb7 Rustify test.sh 2023-12-04 15:28:53 +01:00
Guillaume Gomez
04f32f2016 Allow rustfmt to run on build_system 2023-12-04 15:28:53 +01:00
Nicholas Nethercote
f9a228df48 Rename some arguments.
`sess` is a terribly misleading name for a `Handler`! This confused me
for a bit.
2023-12-04 18:57:41 +11:00
antoyo
0a67e9cd60
Merge pull request #391 from GuillaumeGomez/fix-build-instructions
Fix build instructions
2023-12-02 11:42:37 -05:00
Guillaume Gomez
bb4d0be014 Fix build instructions 2023-12-02 16:28:28 +01:00
Andy Sadler
17b2c46c88
remove generic-arithmetic-pass from failing tests
This test now passes when tested with a patched libgccjit.  However, due
to [some compiler bugs][1], we can't enable this for non-patched
libgccjit yet.

[1]: https://github.com/sadlerap/rustc_codegen_gcc/actions/runs/6820180639/job/18548672444#step:15:4375

Signed-off-by: Andy Sadler <andrewsadler122@gmail.com>
2023-11-28 21:25:43 -06:00
Andy Sadler
3a221320eb
fix simd_neg implementation for ints
gcc_not would panic upon encountering a vector type, which is not what
we want here.

Signed-off-by: Andy Sadler <andrewsadler122@gmail.com>
2023-11-28 21:25:42 -06:00
Andy Sadler
03e11a214e
impl simd_ctlz/simd_cttz intrinsic
Signed-off-by: Andy Sadler <andrewsadler122@gmail.com>
2023-11-28 21:25:42 -06:00
Andy Sadler
8d42a82b6e
impl simd_bitreverse intrinsic
If we're running against a patched libgccjit, use an algorithm similar
to what LLVM uses for this intrinsic.  Otherwise, fallback to a
per-element bitreverse.

Signed-off-by: Andy Sadler <andrewsadler122@gmail.com>
2023-11-28 21:25:34 -06:00
Andy Sadler
70586a23a7
fix simd_frem intrinsic implementation
The simd intrinsic handler was delegating implementation of `simd_frem`
to `Builder::frem`, which wasn't able to handle vector-typed inputs.  To
fix this, teach this method how to handle vector inputs.

Signed-off-by: Andy Sadler <andrewsadler122@gmail.com>
2023-11-28 21:25:23 -06:00
Andy Sadler
6d13f949ee
remove generic-bswap-byte from failing test list
Signed-off-by: Andy Sadler <andrewsadler122@gmail.com>
2023-11-28 21:25:23 -06:00
Andy Sadler
cc7c9bea15
implement simd_bswap intrinsic
Implements lane-local byte swapping through vector shuffles.  While this
is more setup than non-vector shuffles, this implementation can shuffle
multiple integers concurrently.

Signed-off-by: Andy Sadler <andrewsadler122@gmail.com>
2023-11-28 21:25:17 -06:00
Nicholas Nethercote
8e13be084a Use rustc_fluent_macro::fluent_messages! directly.
Currently we always do this:
```
use rustc_fluent_macro::fluent_messages;
...
fluent_messages! { "./example.ftl" }
```
But there is no need, we can just do this everywhere:
```
rustc_fluent_macro::fluent_messages! { "./example.ftl" }
```
which is shorter.
2023-11-26 08:38:40 +11:00
Nicholas Nethercote
4de5d372aa Avoid need for {D,Subd}iagnosticMessage imports.
The `fluent_messages!` macro produces uses of
`crate::{D,Subd}iagnosticMessage`, which means that every crate using
the macro must have this import:
```
use rustc_errors::{DiagnosticMessage, SubdiagnosticMessage};
```

This commit changes the macro to instead use
`rustc_errors::{D,Subd}iagnosticMessage`, which avoids the need for the
imports.
2023-11-26 08:38:00 +11:00
antoyo
bcd0bf5450
Merge pull request #388 from rust-lang/sync_from_rust_2023_11_21
Sync from rust 2023/11/21
2023-11-22 08:11:06 -05:00
Antoni Boucher
fbb97bd593 Merge branch 'master' into sync_from_rust_2023_11_21 2023-11-22 07:41:52 -05:00
Antoni Boucher
a412e9c411 Update README 2023-11-22 07:40:14 -05:00
Antoni Boucher
456754c21a Pass TyCtxt by value 2023-11-19 14:04:40 -05:00
Antoni Boucher
75fce09751 Merge commit '2e8386e9fb3506cef991d04f8b3bc78f9a0c2630' into subtree-update_cg_gcc_2023-11-17 2023-11-19 13:42:13 -05:00
antoyo
2e8386e9fb
Merge pull request #387 from rust-lang/sync_from_rust_2023_11_17
Sync from rust 2023/11/17
2023-11-19 09:28:06 -05:00
Antoni Boucher
a3b6444909 Fix CI 2023-11-18 13:19:32 -05:00
Antoni Boucher
4d8b25c395 Update patch disabling portable-simd 2023-11-18 10:51:35 -05:00
Antoni Boucher
0e8e60c128 Merge branch 'master' into sync_from_rust_2023_11_17 2023-11-17 17:30:12 -05:00
Mark Rousskov
a6493c1f65 Bump cfg(bootstrap)s 2023-11-15 19:41:28 -05:00
Ralf Jung
b2add8a63e target_feature: make it more clear what that 'Option' means 2023-11-12 12:46:05 +01:00