Files
rust/tests/ui
Matthias Krüger 1762f018f7 Rollup merge of #137860 - taiki-e:powerpcspe-msync, r=workingjubilee
rustc_target: Add msync target feature and enable it on powerpcspe targets

Some older PowerPC processors do not have the `sync` (`sync 0`) and `lwsync` (`sync 1`) instructions, but instead have the `msync` instruction. (IIRC `msync` and `sync` will be assembled into the same bit-pattern, but `lwsync` will be SIGILL. See also https://gcc.gnu.org/legacy-ml/gcc-patches/2006-11/msg01238.html.)

LLVM recognizes this as the [`msync` feature](cc5d8a4b2f/llvm/lib/Target/PowerPC/PPC.td (L140)) and enables for some cpus such as [e500](cc5d8a4b2f/llvm/lib/Target/PowerPC/PPC.td (L644)).

powerpcspe is a target for CPUs such as e500 ([Debian Wiki](https://wiki.debian.org/PowerPCSPEPort)). However, the `msync` feature is currently not enabled except for vxworks, and at least since 2022-04, powerpc-unknown-linux-gnuspe was known to not work on real hardware without `-C target-cpu` (e.g., #96394, #117361).

8c392966a0/compiler/rustc_target/src/spec/targets/powerpc_wrs_vxworks_spe.rs (L28)

Fixes #117361

cc `@BKPepe` ([powerpc-unknown-linux-muslspe target maintainer](https://doc.rust-lang.org/nightly/rustc/platform-support/powerpc-unknown-linux-muslspe.html#target-maintainers))
cc `@glaubitz` (who added powerpc-unknown-linux-gnuspe in https://github.com/rust-lang/rust/pull/48484)
cc `@th0ma7` (who opened #117361)

r? workingjubilee

`@rustbot` label +O-PowerPC +A-target-feature
2025-03-02 22:44:25 +01:00
..
2025-02-26 19:27:19 +00:00
2025-02-28 08:42:06 +11:00
2025-02-13 23:49:09 +01:00
2025-02-21 00:41:17 +00:00
2025-02-24 09:26:54 +00:00
2025-02-21 00:41:17 +00:00
2025-02-24 09:26:54 +00:00
2025-02-28 08:42:06 +11:00
2025-02-14 00:37:23 +01:00
2025-02-24 14:31:19 +01:00
2025-02-26 19:03:29 +00:00
2025-02-21 00:41:17 +00:00
2025-02-28 08:42:14 +11:00
2024-12-31 23:46:39 +08:00
2025-02-14 00:37:23 +01:00
2025-02-24 14:31:19 +01:00
2025-02-24 18:48:40 +00:00
2025-02-07 16:02:19 +00:00
2025-02-28 08:42:14 +11:00
2025-02-21 00:41:17 +00:00
2025-02-24 09:26:54 +00:00
2025-01-28 19:35:51 +00:00
2025-02-21 00:41:17 +00:00
2025-01-07 16:04:14 +01:00
2025-01-26 13:55:59 +00:00
2025-02-28 08:42:06 +11:00
2025-02-25 16:56:04 +00:00
2025-01-30 20:37:56 -07:00
2025-02-25 16:56:04 +00:00
2025-02-21 00:41:17 +00:00
2025-02-27 20:02:25 +00:00
2025-02-24 18:48:40 +00:00
2025-02-24 09:26:54 +00:00
2025-02-21 00:41:17 +00:00
2025-02-13 23:49:09 +01:00
2025-02-24 09:26:54 +00:00
2025-02-21 00:41:17 +00:00
2025-02-24 09:26:54 +00:00
2025-01-29 15:45:13 +00:00
2025-02-28 12:16:48 +01:00
2025-02-25 16:56:04 +00:00
2025-01-23 10:55:01 +00:00
2025-02-04 21:42:43 +05:30

UI Tests

This folder contains rustc's UI tests.

Test Directives (Headers)

Typically, a UI test will have some test directives / headers which are special comments that tell compiletest how to build and interpret a test.

As part of an ongoing effort to rewrite compiletest (see https://github.com/rust-lang/compiler-team/issues/536), a major change proposal to change legacy compiletest-style headers // <directive> to ui_test-style headers //@ <directive> was accepted (see https://github.com/rust-lang/compiler-team/issues/512.

An example directive is ignore-test. In legacy compiletest style, the header would be written as

// ignore-test

but in ui_test style, the header would be written as

//@ ignore-test

compiletest is changed to accept only //@ directives for UI tests (currently), and will reject and report an error if it encounters any comments // <content> that may be parsed as a legacy compiletest-style test header. To fix this, you should migrate to the ui_test-style header //@ <content>.