mirror of
https://github.com/rust-lang/rust.git
synced 2025-10-02 10:18:25 +00:00
Rollup merge of #144356 - GuillaumeGomez:gcc-ignore-tests, r=jieyouxu
Add `ignore-backends` annotations in failing GCC backend ui tests Follow-up of https://github.com/rust-lang/rust/pull/144125. In the GCC backend, we don't support all ui tests yet and we have a list of tests we currently ignore available [here](https://github.com/rust-lang/rustc_codegen_gcc/blob/master/tests/failing-ui-tests.txt). This PR adds the `ignore-backends` annotations to the corresponding ui tests. The second commit is a fix to compiletest, complaining about `ignore-backends`. r? ```@jieyouxu```
This commit is contained in:
commit
6b1b68f4ee
@ -285,6 +285,11 @@ fn parse_cfg_name_directive<'a>(
|
||||
if name == "gdb-version" {
|
||||
outcome = MatchOutcome::External;
|
||||
}
|
||||
|
||||
// Don't error out for ignore-backends,as it is handled elsewhere.
|
||||
if name == "backends" {
|
||||
outcome = MatchOutcome::External;
|
||||
}
|
||||
}
|
||||
|
||||
ParsedNameDirective {
|
||||
|
@ -2,6 +2,7 @@
|
||||
//@ ignore-android no libc
|
||||
//@ ignore-emscripten no libc
|
||||
//@ ignore-sgx no libc
|
||||
//@ ignore-backends: gcc
|
||||
//@ only-linux
|
||||
//@ compile-flags:-C panic=abort
|
||||
//@ aux-build:helper.rs
|
||||
|
@ -2,6 +2,7 @@
|
||||
//@ ignore-android no libc
|
||||
//@ ignore-emscripten no libc
|
||||
//@ ignore-sgx no libc
|
||||
//@ ignore-backends: gcc
|
||||
//@ only-linux
|
||||
//@ compile-flags:-C panic=abort
|
||||
//@ aux-build:helper.rs
|
||||
|
@ -1,6 +1,7 @@
|
||||
//@ run-pass
|
||||
//@ needs-asm-support
|
||||
//@ needs-unwind
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
#![feature(asm_unwind)]
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
//@ run-pass
|
||||
//@ needs-asm-support
|
||||
//@ needs-unwind
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
#![feature(asm_unwind)]
|
||||
|
||||
|
@ -1,3 +1,4 @@
|
||||
//@ ignore-backends: gcc
|
||||
//@ build-pass
|
||||
//@ compile-flags: -Copt-level=s -Clto=fat
|
||||
//@ no-prefer-dynamic
|
||||
|
@ -1,3 +1,4 @@
|
||||
//@ ignore-backends: gcc
|
||||
//@ edition: 2021
|
||||
//@ known-bug: #108309
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
error[E0053]: method `foo` has an incompatible type for trait
|
||||
--> $DIR/dont-project-to-specializable-projection.rs:13:5
|
||||
--> $DIR/dont-project-to-specializable-projection.rs:14:5
|
||||
|
|
||||
LL | default async fn foo(_: T) -> &'static str {
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected associated type, found future
|
||||
|
|
||||
note: type in trait
|
||||
--> $DIR/dont-project-to-specializable-projection.rs:9:5
|
||||
--> $DIR/dont-project-to-specializable-projection.rs:10:5
|
||||
|
|
||||
LL | async fn foo(_: T) -> &'static str;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
@ -13,7 +13,7 @@ LL | async fn foo(_: T) -> &'static str;
|
||||
found signature `fn(_) -> impl Future<Output = &'static str>`
|
||||
|
||||
error: async associated function in trait cannot be specialized
|
||||
--> $DIR/dont-project-to-specializable-projection.rs:13:5
|
||||
--> $DIR/dont-project-to-specializable-projection.rs:14:5
|
||||
|
|
||||
LL | default async fn foo(_: T) -> &'static str {
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
@ -21,7 +21,7 @@ LL | default async fn foo(_: T) -> &'static str {
|
||||
= note: specialization behaves in inconsistent and surprising ways with async functions in traits, and for now is disallowed
|
||||
|
||||
error[E0599]: no method named `poll` found for struct `Pin<&mut impl Future<Output = ()>>` in the current scope
|
||||
--> $DIR/dont-project-to-specializable-projection.rs:48:28
|
||||
--> $DIR/dont-project-to-specializable-projection.rs:49:28
|
||||
|
|
||||
LL | match fut.as_mut().poll(ctx) {
|
||||
| ^^^^ method not found in `Pin<&mut impl Future<Output = ()>>`
|
||||
|
@ -8,6 +8,7 @@
|
||||
//@ ignore-fuchsia Backtraces not symbolized
|
||||
//@ ignore-musl musl doesn't support dynamic libraries (at least when the original test was written).
|
||||
//@ needs-unwind
|
||||
//@ ignore-backends: gcc
|
||||
//@ compile-flags: -g -Copt-level=0 -Cstrip=none -Cforce-frame-pointers=yes
|
||||
//@ ignore-emscripten Requires custom symbolization code
|
||||
//@ aux-crate: dylib_dep_helper=dylib-dep-helper.rs
|
||||
|
@ -1,6 +1,7 @@
|
||||
//@ build-pass
|
||||
//@ compile-flags: -C panic=abort
|
||||
//@ no-prefer-dynamic
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
#[cfg(panic = "unwind")]
|
||||
pub fn bad() -> i32 { }
|
||||
|
@ -1,4 +1,6 @@
|
||||
//@ run-pass
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
#![allow(dead_code)]
|
||||
// check that we don't have linear stack usage with multiple calls to `push`
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
//@ known-bug: #107975
|
||||
//@ compile-flags: -Copt-level=2
|
||||
//@ run-pass
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
// Based on https://github.com/rust-lang/rust/issues/107975#issuecomment-1432161340
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
//@ known-bug: #107975
|
||||
//@ compile-flags: -Copt-level=2
|
||||
//@ run-pass
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
// Based on https://github.com/rust-lang/rust/issues/107975#issuecomment-1432161340
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
//@ known-bug: #107975
|
||||
//@ compile-flags: -Copt-level=2
|
||||
//@ run-pass
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
// https://github.com/rust-lang/rust/issues/107975#issuecomment-1431758601
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
//@ known-bug: #107975
|
||||
//@ compile-flags: -Copt-level=2
|
||||
//@ run-pass
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
// Derived from https://github.com/rust-lang/rust/issues/107975#issuecomment-1431758601
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
//@ known-bug: #107975
|
||||
//@ compile-flags: -Copt-level=2
|
||||
//@ run-pass
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
// Based on https://github.com/rust-lang/rust/issues/107975#issuecomment-1432161340
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
//@ known-bug: #107975
|
||||
//@ compile-flags: -Copt-level=2
|
||||
//@ run-pass
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
// Based on https://github.com/rust-lang/rust/issues/107975#issuecomment-1432161340
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
//@ known-bug: #107975
|
||||
//@ compile-flags: -Copt-level=2
|
||||
//@ run-pass
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
// https://github.com/rust-lang/rust/issues/107975#issuecomment-1431758601
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
//@ known-bug: #107975
|
||||
//@ compile-flags: -Copt-level=2
|
||||
//@ run-pass
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
// Derived from https://github.com/rust-lang/rust/issues/107975#issuecomment-1431758601
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
//@ known-bug: #107975
|
||||
//@ compile-flags: -Copt-level=2
|
||||
//@ run-pass
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
// Based on https://github.com/rust-lang/rust/issues/107975#issuecomment-1432161340
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
//@ known-bug: #107975
|
||||
//@ compile-flags: -Copt-level=2
|
||||
//@ run-pass
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
// Based on https://github.com/rust-lang/rust/issues/107975#issuecomment-1432161340
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
//@ known-bug: #107975
|
||||
//@ compile-flags: -Copt-level=2
|
||||
//@ run-pass
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
// https://github.com/rust-lang/rust/issues/107975#issuecomment-1431758601
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
//@ known-bug: #107975
|
||||
//@ compile-flags: -Copt-level=2
|
||||
//@ run-pass
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
// Derived from https://github.com/rust-lang/rust/issues/107975#issuecomment-1431758601
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
const _OK: () = match i32::from_str_radix("-1234", 10) {
|
||||
Ok(x) => assert!(x == -1234),
|
||||
Err(_) => panic!(),
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0080]: evaluation panicked: from_ascii_radix: radix must lie in the range `[2, 36]`
|
||||
--> $DIR/parse_ints.rs:5:24
|
||||
--> $DIR/parse_ints.rs:7:24
|
||||
|
|
||||
LL | const _TOO_LOW: () = { u64::from_str_radix("12345ABCD", 1); };
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of `_TOO_LOW` failed inside this call
|
||||
@ -11,7 +11,7 @@ note: inside `core::num::<impl u64>::from_ascii_radix`
|
||||
= note: this error originates in the macro `from_str_int_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0080]: evaluation panicked: from_ascii_radix: radix must lie in the range `[2, 36]`
|
||||
--> $DIR/parse_ints.rs:6:25
|
||||
--> $DIR/parse_ints.rs:8:25
|
||||
|
|
||||
LL | const _TOO_HIGH: () = { u64::from_str_radix("12345ABCD", 37); };
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of `_TOO_HIGH` failed inside this call
|
||||
|
@ -1,3 +1,4 @@
|
||||
//@ ignore-backends: gcc
|
||||
//@ compile-flags: -Znext-solver
|
||||
#![feature(const_type_id, const_trait_impl, const_cmp)]
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0015]: cannot call non-const operator in constants
|
||||
--> $DIR/const_cmp_type_id.rs:10:18
|
||||
--> $DIR/const_cmp_type_id.rs:11:18
|
||||
|
|
||||
LL | let _a = TypeId::of::<u8>() < TypeId::of::<u16>();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
@ -1,3 +1,4 @@
|
||||
//@ ignore-backends: gcc
|
||||
//@ check-pass
|
||||
//
|
||||
// This test is complement to the test in issue-73976-polymorphic.rs.
|
||||
|
@ -1,3 +1,5 @@
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
#![feature(const_trait_impl)]
|
||||
|
||||
struct Foo<'a> {
|
||||
|
@ -1,17 +1,17 @@
|
||||
error[E0277]: the trait bound `Vec<usize>: [const] Index<_>` is not satisfied
|
||||
--> $DIR/issue-94675.rs:9:9
|
||||
--> $DIR/issue-94675.rs:11:9
|
||||
|
|
||||
LL | self.bar[0] = baz.len();
|
||||
| ^^^^^^^^^^^
|
||||
|
||||
error[E0277]: the trait bound `Vec<usize>: [const] IndexMut<usize>` is not satisfied
|
||||
--> $DIR/issue-94675.rs:9:9
|
||||
--> $DIR/issue-94675.rs:11:9
|
||||
|
|
||||
LL | self.bar[0] = baz.len();
|
||||
| ^^^^^^^^^^^
|
||||
|
||||
error[E0277]: the trait bound `Vec<usize>: [const] Index<usize>` is not satisfied
|
||||
--> $DIR/issue-94675.rs:9:9
|
||||
--> $DIR/issue-94675.rs:11:9
|
||||
|
|
||||
LL | self.bar[0] = baz.len();
|
||||
| ^^^^^^^^^^^
|
||||
|
@ -1,3 +1,4 @@
|
||||
//@ ignore-backends: gcc
|
||||
//@ error-pattern unable to turn pointer into raw bytes
|
||||
//@ normalize-stderr: "alloc[0-9]+\+0x[a-z0-9]+" -> "ALLOC"
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0080]: unable to turn pointer into integer
|
||||
--> $DIR/issue-miri-1910.rs:7:5
|
||||
--> $DIR/issue-miri-1910.rs:8:5
|
||||
|
|
||||
LL | (&foo as *const _ as *const u8).add(one_and_a_half_pointers).read();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of `C` failed here
|
||||
|
@ -1,3 +1,4 @@
|
||||
//@ ignore-backends: gcc
|
||||
//@ compile-flags: -Z ui-testing=no
|
||||
|
||||
use std::{
|
||||
|
@ -1,11 +1,11 @@
|
||||
error[E0080]: unable to copy parts of a pointer from memory at ALLOC0
|
||||
--> $DIR/missing_span_in_backtrace.rs:14:9
|
||||
--> $DIR/missing_span_in_backtrace.rs:15:9
|
||||
|
|
||||
14 | / ptr::swap_nonoverlapping(
|
||||
15 | | &mut ptr1 as *mut _ as *mut MaybeUninit<u8>,
|
||||
16 | | &mut ptr2 as *mut _ as *mut MaybeUninit<u8>,
|
||||
17 | | mem::size_of::<&i32>(),
|
||||
18 | | );
|
||||
15 | / ptr::swap_nonoverlapping(
|
||||
16 | | &mut ptr1 as *mut _ as *mut MaybeUninit<u8>,
|
||||
17 | | &mut ptr2 as *mut _ as *mut MaybeUninit<u8>,
|
||||
18 | | mem::size_of::<&i32>(),
|
||||
19 | | );
|
||||
| |_________^ evaluation of `X` failed inside this call
|
||||
|
|
||||
= help: this code performed an operation that depends on the underlying bytes representing a pointer
|
||||
|
@ -1,3 +1,4 @@
|
||||
//@ ignore-backends: gcc
|
||||
//@ run-pass
|
||||
|
||||
#![feature(try_trait_v2)]
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
//@ run-pass
|
||||
//@ needs-unwind
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
#![feature(coroutines, coroutine_trait, stmt_expr_attributes)]
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
//@ run-pass
|
||||
//@ needs-unwind
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
#![feature(coroutines, coroutine_trait, stmt_expr_attributes)]
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
//@ run-pass
|
||||
//@ needs-unwind
|
||||
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
#![feature(coroutines, coroutine_trait, stmt_expr_attributes)]
|
||||
|
||||
|
@ -1,3 +1,4 @@
|
||||
//@ ignore-backends: gcc
|
||||
//@ run-pass
|
||||
//@ needs-unwind
|
||||
|
||||
|
@ -6,6 +6,7 @@
|
||||
//@ aux-build:unwind-aux.rs
|
||||
//@ compile-flags: -Cpanic=abort
|
||||
//@ needs-unwind
|
||||
//@ ignore-backends: gcc
|
||||
extern crate unwind_aux;
|
||||
|
||||
pub fn main() {
|
||||
|
@ -1,6 +1,7 @@
|
||||
//@ check-pass
|
||||
//@ edition:2018
|
||||
//@ aux-crate:fn_header_aux=fn-header-aux.rs
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
#![feature(c_variadic)]
|
||||
#![feature(fn_delegation)]
|
||||
|
@ -6,6 +6,7 @@
|
||||
//@ run-pass
|
||||
//@ needs-unwind
|
||||
//@ edition:2018
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
#![allow(unused)]
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
//@ run-pass
|
||||
//@ needs-unwind
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
#![feature(coroutines, coroutine_trait, stmt_expr_attributes)]
|
||||
#![feature(if_let_guard)]
|
||||
|
@ -4,6 +4,7 @@
|
||||
//@ revisions: default strict
|
||||
//@ [strict]compile-flags: -Zstrict-init-checks
|
||||
//@ needs-subprocess
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
#![allow(deprecated, invalid_value)]
|
||||
#![feature(never_type)]
|
||||
|
@ -1,5 +1,6 @@
|
||||
//@ run-pass
|
||||
//@ needs-unwind
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
// Check that values are not leaked when a dtor panics (#14875)
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
//@ run-pass
|
||||
//@ needs-unwind
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
use std::panic;
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
//@ run-pass
|
||||
//@ needs-unwind
|
||||
//@ ignore-backends: gcc
|
||||
//@ compile-flags: -C debug_assertions=yes
|
||||
|
||||
use std::panic;
|
||||
|
@ -1,5 +1,6 @@
|
||||
//@ run-pass
|
||||
//@ needs-unwind
|
||||
//@ ignore-backends: gcc
|
||||
//@ compile-flags: -C overflow-checks
|
||||
|
||||
use std::panic;
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
//@ compile-flags: -Clto=thin
|
||||
//@ no-prefer-dynamic
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
fn main() {
|
||||
println!("hello!");
|
||||
|
@ -1,3 +1,4 @@
|
||||
//@ ignore-backends: gcc
|
||||
//@ compile-flags: -C lto=thin
|
||||
//@ aux-build:lto-rustc-loads-linker-plugin.rs
|
||||
//@ run-pass
|
||||
|
@ -4,6 +4,7 @@
|
||||
//@ aux-build:thin-lto-inlines-aux.rs
|
||||
//@ no-prefer-dynamic
|
||||
//@ ignore-emscripten can't inspect instructions on emscripten
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
// We want to assert here that ThinLTO will inline across codegen units. There's
|
||||
// not really a great way to do that in general so we sort of hack around it by
|
||||
|
@ -1,5 +1,6 @@
|
||||
//@ run-pass
|
||||
//@ needs-unwind
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
use std::cell::RefCell;
|
||||
use std::panic;
|
||||
|
@ -1,5 +1,6 @@
|
||||
//@ run-pass
|
||||
//@ needs-unwind
|
||||
//@ ignore-backends: gcc
|
||||
//@ edition: 2024
|
||||
|
||||
// See `mir_drop_order.rs` for more information
|
||||
|
@ -1,5 +1,6 @@
|
||||
//@ run-pass
|
||||
//@ needs-unwind
|
||||
//@ ignore-backends: gcc
|
||||
//@ revisions: edition2021 edition2024
|
||||
//@ [edition2021] edition: 2021
|
||||
//@ [edition2024] edition: 2024
|
||||
|
@ -1,4 +1,5 @@
|
||||
//@ run-pass
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
#![feature(test)]
|
||||
#![deny(overflowing_literals)]
|
||||
|
@ -3,6 +3,7 @@
|
||||
//@ aux-build:exit-success-if-unwind.rs
|
||||
//@ no-prefer-dynamic
|
||||
//@ needs-subprocess
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
extern crate exit_success_if_unwind;
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
//@ compile-flags:-C panic=abort
|
||||
//@ no-prefer-dynamic
|
||||
//@ needs-subprocess
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
use std::env;
|
||||
use std::process::Command;
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
//@ compile-flags:-C panic=abort
|
||||
//@ no-prefer-dynamic
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
#![feature(panic_abort)]
|
||||
|
||||
|
@ -1,3 +1,4 @@
|
||||
//@ ignore-backends: gcc
|
||||
//@ run-pass
|
||||
//@ compile-flags:-C lto -C panic=abort
|
||||
//@ no-prefer-dynamic
|
||||
|
@ -1,3 +1,5 @@
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
mod unclosed_delim_mod;
|
||||
|
||||
fn main() {
|
||||
|
@ -7,6 +7,8 @@
|
||||
//@ only-linux
|
||||
//@ no-prefer-dynamic
|
||||
//@ compile-flags: -Ctarget-feature=+crt-static -Crpath=no -Crelocation-model=static
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
#![feature(exit_status_error)]
|
||||
#![feature(rustc_private)]
|
||||
extern crate libc;
|
||||
|
@ -5,6 +5,7 @@
|
||||
//@ ignore-fuchsia
|
||||
//@ ignore-horizon
|
||||
//@ ignore-android
|
||||
//@ ignore-backends: gcc
|
||||
//@ normalize-stderr: ".rs:\d+:\d+" -> ".rs:LL:CC"
|
||||
//@ compile-flags: -Zon-broken-pipe=error
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
//@ run-pass
|
||||
//@ needs-unwind
|
||||
//@ ignore-backends: gcc
|
||||
//@ revisions: default mir-opt
|
||||
//@[mir-opt] compile-flags: -Zmir-opt-level=4
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
//@ revisions: default error kill inherit
|
||||
//@ ignore-cross-compile because aux-bin does not yet support it
|
||||
//@ only-unix because SIGPIPE is a unix thing
|
||||
//@ ignore-backends: gcc
|
||||
//@ run-pass
|
||||
//@ aux-bin:assert-sigpipe-disposition.rs
|
||||
//@ aux-crate:sigpipe_utils=sigpipe-utils.rs
|
||||
|
@ -1,6 +1,7 @@
|
||||
//@ run-pass
|
||||
//@ needs-unwind
|
||||
//@ needs-subprocess
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
use std::env;
|
||||
use std::process::Command;
|
||||
|
@ -6,6 +6,7 @@
|
||||
//@ edition: 2021
|
||||
//@ no-prefer-dynamic
|
||||
//@ only-x86_64-unknown-linux-gnu
|
||||
//@ ignore-backends: gcc
|
||||
//@ build-pass
|
||||
|
||||
trait Iterable {
|
||||
|
@ -4,6 +4,7 @@
|
||||
//@ revisions: cfi kcfi
|
||||
// FIXME(#122848) Remove only-linux once OSX CFI binaries work
|
||||
//@ only-linux
|
||||
//@ ignore-backends: gcc
|
||||
//@ [cfi] needs-sanitizer-cfi
|
||||
//@ [kcfi] needs-sanitizer-kcfi
|
||||
//@ compile-flags: -C target-feature=-crt-static
|
||||
|
@ -2,6 +2,7 @@
|
||||
//@ compile-flags: -Ccodegen-units=1 -Clto -Ctarget-feature=-crt-static -Zsanitizer=cfi
|
||||
//@ no-prefer-dynamic
|
||||
//@ only-x86_64-unknown-linux-gnu
|
||||
//@ ignore-backends: gcc
|
||||
//@ build-pass
|
||||
|
||||
// See comment below for why this test exists.
|
||||
|
@ -3,6 +3,7 @@
|
||||
//@ revisions: cfi kcfi
|
||||
// FIXME(#122848) Remove only-linux once OSX CFI binaries work
|
||||
//@ only-linux
|
||||
//@ ignore-backends: gcc
|
||||
//@ [cfi] needs-sanitizer-cfi
|
||||
//@ [kcfi] needs-sanitizer-kcfi
|
||||
//@ compile-flags: -C target-feature=-crt-static
|
||||
|
@ -5,6 +5,7 @@
|
||||
//@ revisions: cfi kcfi
|
||||
// FIXME(#122848) Remove only-linux once OSX CFI binaries work
|
||||
//@ only-linux
|
||||
//@ ignore-backends: gcc
|
||||
//@ [cfi] needs-sanitizer-cfi
|
||||
//@ [kcfi] needs-sanitizer-kcfi
|
||||
//@ compile-flags: -C target-feature=-crt-static
|
||||
|
@ -3,6 +3,7 @@
|
||||
//@ revisions: cfi kcfi
|
||||
// FIXME(#122848) Remove only-linux once OSX CFI binaries work
|
||||
//@ only-linux
|
||||
//@ ignore-backends: gcc
|
||||
//@ edition: 2024
|
||||
//@ [cfi] needs-sanitizer-cfi
|
||||
//@ [kcfi] needs-sanitizer-kcfi
|
||||
|
@ -2,6 +2,7 @@
|
||||
//
|
||||
// FIXME(#122848): Remove only-linux when fixed.
|
||||
//@ only-linux
|
||||
//@ ignore-backends: gcc
|
||||
//@ needs-sanitizer-cfi
|
||||
//@ compile-flags: -Clto -Copt-level=0 -Cprefer-dynamic=off -Ctarget-feature=-crt-static -Zsanitizer=cfi
|
||||
//@ run-pass
|
||||
|
@ -3,6 +3,7 @@
|
||||
//@ needs-sanitizer-cfi
|
||||
// FIXME(#122848) Remove only-linux once OSX CFI binaries works
|
||||
//@ only-linux
|
||||
//@ ignore-backends: gcc
|
||||
//@ compile-flags: --crate-type=bin -Cprefer-dynamic=off -Clto -Zsanitizer=cfi
|
||||
//@ compile-flags: -C target-feature=-crt-static -C codegen-units=1 -C opt-level=0
|
||||
// FIXME(#118761) Should be run-pass once the labels on drop are compatible.
|
||||
|
@ -3,6 +3,7 @@
|
||||
//@ revisions: cfi kcfi
|
||||
// FIXME(#122848) Remove only-linux once OSX CFI binaries work
|
||||
//@ only-linux
|
||||
//@ ignore-backends: gcc
|
||||
//@ [cfi] needs-sanitizer-cfi
|
||||
//@ [kcfi] needs-sanitizer-kcfi
|
||||
//@ compile-flags: -C target-feature=-crt-static
|
||||
|
@ -3,6 +3,7 @@
|
||||
//@ revisions: cfi kcfi
|
||||
// FIXME(#122848) Remove only-linux once OSX CFI binaries work
|
||||
//@ only-linux
|
||||
//@ ignore-backends: gcc
|
||||
//@ [cfi] needs-sanitizer-cfi
|
||||
//@ [kcfi] needs-sanitizer-kcfi
|
||||
//@ compile-flags: -C target-feature=-crt-static
|
||||
|
@ -4,6 +4,7 @@
|
||||
//@ revisions: cfi kcfi
|
||||
// FIXME(#122848) Remove only-linux once OSX CFI binaries work
|
||||
//@ only-linux
|
||||
//@ ignore-backends: gcc
|
||||
//@ [cfi] needs-sanitizer-cfi
|
||||
//@ [kcfi] needs-sanitizer-kcfi
|
||||
//@ compile-flags: -C target-feature=-crt-static
|
||||
|
@ -3,6 +3,7 @@
|
||||
//@ revisions: cfi kcfi
|
||||
// FIXME(#122848) Remove only-linux once OSX CFI binaries work
|
||||
//@ only-linux
|
||||
//@ ignore-backends: gcc
|
||||
//@ [cfi] needs-sanitizer-cfi
|
||||
//@ [kcfi] needs-sanitizer-kcfi
|
||||
//@ compile-flags: -C target-feature=-crt-static
|
||||
|
@ -3,6 +3,7 @@
|
||||
//@ revisions: cfi kcfi
|
||||
// FIXME(#122848) Remove only-linux once OSX CFI binaries work
|
||||
//@ only-linux
|
||||
//@ ignore-backends: gcc
|
||||
//@ [cfi] needs-sanitizer-cfi
|
||||
//@ [kcfi] needs-sanitizer-kcfi
|
||||
//@ compile-flags: -C target-feature=-crt-static
|
||||
|
@ -4,6 +4,7 @@
|
||||
//@ no-prefer-dynamic
|
||||
//@ compile-flags: -C panic=abort -Zsanitizer=kcfi -C symbol-mangling-version=v0
|
||||
//@ build-pass
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
trait Foo {
|
||||
fn foo(&self);
|
||||
|
@ -1,4 +1,6 @@
|
||||
//@ run-pass
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
#![allow(non_camel_case_types)]
|
||||
#![feature(repr_simd, core_intrinsics)]
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
//@ run-pass
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
#![feature(repr_simd, core_intrinsics)]
|
||||
|
||||
|
@ -1,4 +1,6 @@
|
||||
//@ run-pass
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
#![feature(repr_simd)]
|
||||
|
||||
#[repr(simd)]
|
||||
|
@ -1,4 +1,5 @@
|
||||
//@ run-pass
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
#![feature(repr_simd, core_intrinsics)]
|
||||
|
||||
|
@ -1,3 +1,4 @@
|
||||
//@ ignore-backends: gcc
|
||||
//@ run-pass
|
||||
#![feature(repr_simd, core_intrinsics)]
|
||||
|
||||
|
@ -1,3 +1,4 @@
|
||||
//@ ignore-backends: gcc
|
||||
//@ run-pass
|
||||
|
||||
#![feature(repr_simd, core_intrinsics)]
|
||||
|
@ -2,6 +2,8 @@
|
||||
// FIXME: broken codegen on big-endian (https://github.com/rust-lang/rust/issues/127205)
|
||||
// This should be merged into `simd-bitmask` once that's fixed.
|
||||
//@ ignore-endian-big
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
#![feature(repr_simd, core_intrinsics)]
|
||||
|
||||
#[path = "../../auxiliary/minisimd.rs"]
|
||||
|
@ -3,6 +3,7 @@
|
||||
//! This is not an intentional guarantee, it just describes the status quo.
|
||||
|
||||
//@ run-pass
|
||||
//@ ignore-backends: gcc
|
||||
// With optimizations, LLVM will deduplicate the constant `X` whose
|
||||
// value is `&42` to just be a reference to the static. This is correct,
|
||||
// but obscures the issue we're trying to show.
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0277]: the trait bound `NonTrivialDrop: const Destruct` is not satisfied
|
||||
--> $DIR/const-drop-fail.rs:33:5
|
||||
--> $DIR/const-drop-fail.rs:34:5
|
||||
|
|
||||
LL | const _: () = check($exp);
|
||||
| ----- required by a bound introduced by this call
|
||||
@ -8,13 +8,13 @@ LL | NonTrivialDrop,
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
|
||||
note: required by a bound in `check`
|
||||
--> $DIR/const-drop-fail.rs:24:19
|
||||
--> $DIR/const-drop-fail.rs:25:19
|
||||
|
|
||||
LL | const fn check<T: [const] Destruct>(_: T) {}
|
||||
| ^^^^^^^^^^^^^^^^ required by this bound in `check`
|
||||
|
||||
error[E0277]: the trait bound `NonTrivialDrop: const Destruct` is not satisfied
|
||||
--> $DIR/const-drop-fail.rs:35:5
|
||||
--> $DIR/const-drop-fail.rs:36:5
|
||||
|
|
||||
LL | const _: () = check($exp);
|
||||
| ----- required by a bound introduced by this call
|
||||
@ -23,7 +23,7 @@ LL | ConstImplWithDropGlue(NonTrivialDrop),
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
note: required by a bound in `check`
|
||||
--> $DIR/const-drop-fail.rs:24:19
|
||||
--> $DIR/const-drop-fail.rs:25:19
|
||||
|
|
||||
LL | const fn check<T: [const] Destruct>(_: T) {}
|
||||
| ^^^^^^^^^^^^^^^^ required by this bound in `check`
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0277]: the trait bound `NonTrivialDrop: const Destruct` is not satisfied
|
||||
--> $DIR/const-drop-fail.rs:33:5
|
||||
--> $DIR/const-drop-fail.rs:34:5
|
||||
|
|
||||
LL | const _: () = check($exp);
|
||||
| ----- required by a bound introduced by this call
|
||||
@ -8,13 +8,13 @@ LL | NonTrivialDrop,
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
|
||||
note: required by a bound in `check`
|
||||
--> $DIR/const-drop-fail.rs:24:19
|
||||
--> $DIR/const-drop-fail.rs:25:19
|
||||
|
|
||||
LL | const fn check<T: [const] Destruct>(_: T) {}
|
||||
| ^^^^^^^^^^^^^^^^ required by this bound in `check`
|
||||
|
||||
error[E0277]: the trait bound `NonTrivialDrop: const Destruct` is not satisfied
|
||||
--> $DIR/const-drop-fail.rs:35:5
|
||||
--> $DIR/const-drop-fail.rs:36:5
|
||||
|
|
||||
LL | const _: () = check($exp);
|
||||
| ----- required by a bound introduced by this call
|
||||
@ -23,7 +23,7 @@ LL | ConstImplWithDropGlue(NonTrivialDrop),
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
note: required by a bound in `check`
|
||||
--> $DIR/const-drop-fail.rs:24:19
|
||||
--> $DIR/const-drop-fail.rs:25:19
|
||||
|
|
||||
LL | const fn check<T: [const] Destruct>(_: T) {}
|
||||
| ^^^^^^^^^^^^^^^^ required by this bound in `check`
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0277]: the trait bound `NonTrivialDrop: const Destruct` is not satisfied
|
||||
--> $DIR/const-drop-fail.rs:33:5
|
||||
--> $DIR/const-drop-fail.rs:34:5
|
||||
|
|
||||
LL | const _: () = check($exp);
|
||||
| ----- required by a bound introduced by this call
|
||||
@ -8,13 +8,13 @@ LL | NonTrivialDrop,
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
|
||||
note: required by a bound in `check`
|
||||
--> $DIR/const-drop-fail.rs:24:19
|
||||
--> $DIR/const-drop-fail.rs:25:19
|
||||
|
|
||||
LL | const fn check<T: [const] Destruct>(_: T) {}
|
||||
| ^^^^^^^^^^^^^^^^ required by this bound in `check`
|
||||
|
||||
error[E0277]: the trait bound `NonTrivialDrop: const Destruct` is not satisfied
|
||||
--> $DIR/const-drop-fail.rs:35:5
|
||||
--> $DIR/const-drop-fail.rs:36:5
|
||||
|
|
||||
LL | const _: () = check($exp);
|
||||
| ----- required by a bound introduced by this call
|
||||
@ -23,7 +23,7 @@ LL | ConstImplWithDropGlue(NonTrivialDrop),
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
note: required by a bound in `check`
|
||||
--> $DIR/const-drop-fail.rs:24:19
|
||||
--> $DIR/const-drop-fail.rs:25:19
|
||||
|
|
||||
LL | const fn check<T: [const] Destruct>(_: T) {}
|
||||
| ^^^^^^^^^^^^^^^^ required by this bound in `check`
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0277]: the trait bound `NonTrivialDrop: const Destruct` is not satisfied
|
||||
--> $DIR/const-drop-fail.rs:33:5
|
||||
--> $DIR/const-drop-fail.rs:34:5
|
||||
|
|
||||
LL | const _: () = check($exp);
|
||||
| ----- required by a bound introduced by this call
|
||||
@ -8,13 +8,13 @@ LL | NonTrivialDrop,
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
|
||||
note: required by a bound in `check`
|
||||
--> $DIR/const-drop-fail.rs:24:19
|
||||
--> $DIR/const-drop-fail.rs:25:19
|
||||
|
|
||||
LL | const fn check<T: [const] Destruct>(_: T) {}
|
||||
| ^^^^^^^^^^^^^^^^ required by this bound in `check`
|
||||
|
||||
error[E0277]: the trait bound `NonTrivialDrop: const Destruct` is not satisfied
|
||||
--> $DIR/const-drop-fail.rs:35:5
|
||||
--> $DIR/const-drop-fail.rs:36:5
|
||||
|
|
||||
LL | const _: () = check($exp);
|
||||
| ----- required by a bound introduced by this call
|
||||
@ -23,7 +23,7 @@ LL | ConstImplWithDropGlue(NonTrivialDrop),
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
note: required by a bound in `check`
|
||||
--> $DIR/const-drop-fail.rs:24:19
|
||||
--> $DIR/const-drop-fail.rs:25:19
|
||||
|
|
||||
LL | const fn check<T: [const] Destruct>(_: T) {}
|
||||
| ^^^^^^^^^^^^^^^^ required by this bound in `check`
|
||||
|
@ -1,6 +1,7 @@
|
||||
//@[new_precise] compile-flags: -Znext-solver
|
||||
//@[new_stock] compile-flags: -Znext-solver
|
||||
//@ revisions: new_stock old_stock new_precise old_precise
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
#![feature(const_trait_impl, const_destruct)]
|
||||
#![cfg_attr(any(new_precise, old_precise), feature(const_precise_live_drops))]
|
||||
|
@ -1,5 +1,6 @@
|
||||
//@ run-pass
|
||||
//@ needs-unwind
|
||||
//@ ignore-backends: gcc
|
||||
// See https://github.com/rust-lang/rust/issues/135802
|
||||
|
||||
enum Void {}
|
||||
|
Loading…
x
Reference in New Issue
Block a user