diff options
Diffstat (limited to 'gcc/testsuite/rust')
476 files changed, 854 insertions, 101 deletions
diff --git a/gcc/testsuite/rust/borrowck/reference.rs b/gcc/testsuite/rust/borrowck/reference.rs index c4b9f7d..1bef938 100644 --- a/gcc/testsuite/rust/borrowck/reference.rs +++ b/gcc/testsuite/rust/borrowck/reference.rs @@ -1,6 +1,7 @@ // { dg-additional-options "-frust-compile-until=compilation -frust-borrowcheck -fdiagnostics-show-caret -fdiagnostics-show-line-numbers" } // { dg-enable-nn-line-numbers "" } +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/borrowck/tmp.rs b/gcc/testsuite/rust/borrowck/tmp.rs index 545a278..210153f 100644 --- a/gcc/testsuite/rust/borrowck/tmp.rs +++ b/gcc/testsuite/rust/borrowck/tmp.rs @@ -1,6 +1,7 @@ // { dg-additional-options "-frust-compile-until=compilation -frust-borrowcheck -fdiagnostics-show-caret -fdiagnostics-show-line-numbers" } // { dg-enable-nn-line-numbers "" } +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/additional-trait-bounds1.rs b/gcc/testsuite/rust/compile/additional-trait-bounds1.rs index 449a72f..c629aba 100644 --- a/gcc/testsuite/rust/compile/additional-trait-bounds1.rs +++ b/gcc/testsuite/rust/compile/additional-trait-bounds1.rs @@ -1,4 +1,4 @@ -#![feature(optin_builtin_traits)] +#![feature(optin_builtin_traits, lang_items)] pub unsafe auto trait Send {} #[lang = "sync"] diff --git a/gcc/testsuite/rust/compile/additional-trait-bounds2.rs b/gcc/testsuite/rust/compile/additional-trait-bounds2.rs index 1c49b75..7140b3b 100644 --- a/gcc/testsuite/rust/compile/additional-trait-bounds2.rs +++ b/gcc/testsuite/rust/compile/additional-trait-bounds2.rs @@ -1,4 +1,4 @@ -#![feature(optin_builtin_traits)] +#![feature(optin_builtin_traits, lang_items)] pub unsafe auto trait Send {} #[lang = "sync"] diff --git a/gcc/testsuite/rust/compile/additional-trait-bounds2nr2.rs b/gcc/testsuite/rust/compile/additional-trait-bounds2nr2.rs index 1c49b75..7140b3b 100644 --- a/gcc/testsuite/rust/compile/additional-trait-bounds2nr2.rs +++ b/gcc/testsuite/rust/compile/additional-trait-bounds2nr2.rs @@ -1,4 +1,4 @@ -#![feature(optin_builtin_traits)] +#![feature(optin_builtin_traits, lang_items)] pub unsafe auto trait Send {} #[lang = "sync"] diff --git a/gcc/testsuite/rust/compile/auto_traits1.rs b/gcc/testsuite/rust/compile/auto_traits1.rs index 192052d..e9f5e0a 100644 --- a/gcc/testsuite/rust/compile/auto_traits1.rs +++ b/gcc/testsuite/rust/compile/auto_traits1.rs @@ -1,6 +1,6 @@ // { dg-additional-options "-frust-compile-until=typecheck" } -#![feature(optin_builtin_traits)] +#![feature(optin_builtin_traits, lang_items)] pub unsafe auto trait Send {} #[lang = "sync"] diff --git a/gcc/testsuite/rust/compile/auto_traits2.rs b/gcc/testsuite/rust/compile/auto_traits2.rs index 7004761..eda22b5 100644 --- a/gcc/testsuite/rust/compile/auto_traits2.rs +++ b/gcc/testsuite/rust/compile/auto_traits2.rs @@ -1,4 +1,4 @@ -#![feature(optin_builtin_traits)] +#![feature(optin_builtin_traits, lang_items)] pub unsafe auto trait Send {} #[lang = "sync"] diff --git a/gcc/testsuite/rust/compile/bad-rpit1.rs b/gcc/testsuite/rust/compile/bad-rpit1.rs index d8c21b1..c728e36 100644 --- a/gcc/testsuite/rust/compile/bad-rpit1.rs +++ b/gcc/testsuite/rust/compile/bad-rpit1.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/black_box.rs b/gcc/testsuite/rust/compile/black_box.rs index 80615af..35d9e9e 100644 --- a/gcc/testsuite/rust/compile/black_box.rs +++ b/gcc/testsuite/rust/compile/black_box.rs @@ -1,5 +1,5 @@ // { dg-options "-fdump-tree-gimple" } -#![feature(rustc_attrs)] +#![feature(rustc_attrs, lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/bounds1.rs b/gcc/testsuite/rust/compile/bounds1.rs index a02e6f6..5891f71 100644 --- a/gcc/testsuite/rust/compile/bounds1.rs +++ b/gcc/testsuite/rust/compile/bounds1.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/box_syntax_feature_gate.rs b/gcc/testsuite/rust/compile/box_syntax_feature_gate.rs index 5f62a59..62e7c10 100644 --- a/gcc/testsuite/rust/compile/box_syntax_feature_gate.rs +++ b/gcc/testsuite/rust/compile/box_syntax_feature_gate.rs @@ -1,4 +1,5 @@ // { dg-options "-frust-compile-until=lowering" } +#![feature(lang_items)] #[lang = "owned_box"] pub struct Box<T>; diff --git a/gcc/testsuite/rust/compile/braced_macro_arm.rs b/gcc/testsuite/rust/compile/braced_macro_arm.rs index 1446878..8782cf9 100644 --- a/gcc/testsuite/rust/compile/braced_macro_arm.rs +++ b/gcc/testsuite/rust/compile/braced_macro_arm.rs @@ -7,12 +7,9 @@ macro_rules! m { fn h(c: bool) { match c { - // { dg-error "failed to parse statement or expression in block expression" "" { target *-*-* } .-1 } true => m! {} false => () // { dg-error "exprwithoutblock requires comma after match case expression in match arm \\(if not final case\\)" "" { target *-*-* } .-1 } - // { dg-error "unrecognised token .false. for start of item" "" { target *-*-* } .-2 } - // { dg-error "failed to parse item in crate" "" { target *-*-* } .-3 } }; } diff --git a/gcc/testsuite/rust/compile/bug-with-default-generic.rs b/gcc/testsuite/rust/compile/bug-with-default-generic.rs index 25f46a0..3f31fcc 100644 --- a/gcc/testsuite/rust/compile/bug-with-default-generic.rs +++ b/gcc/testsuite/rust/compile/bug-with-default-generic.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/canonical_paths1.rs b/gcc/testsuite/rust/compile/canonical_paths1.rs index bd6f3b2..f80d6e6 100644 --- a/gcc/testsuite/rust/compile/canonical_paths1.rs +++ b/gcc/testsuite/rust/compile/canonical_paths1.rs @@ -1,4 +1,5 @@ // { dg-additional-options "-w -fdump-tree-gimple -frust-crate=example" } +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/cast_generics.rs b/gcc/testsuite/rust/compile/cast_generics.rs index 469fa94..6da9193 100644 --- a/gcc/testsuite/rust/compile/cast_generics.rs +++ b/gcc/testsuite/rust/compile/cast_generics.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/closure_no_type_anno.rs b/gcc/testsuite/rust/compile/closure_no_type_anno.rs index b647da7..2aab16f 100644 --- a/gcc/testsuite/rust/compile/closure_no_type_anno.rs +++ b/gcc/testsuite/rust/compile/closure_no_type_anno.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/cmp1.rs b/gcc/testsuite/rust/compile/cmp1.rs index 4da5b1c..db1589e 100644 --- a/gcc/testsuite/rust/compile/cmp1.rs +++ b/gcc/testsuite/rust/compile/cmp1.rs @@ -1,6 +1,7 @@ // { dg-options "-w" } // taken from https://github.com/rust-lang/rust/blob/e1884a8e3c3e813aada8254edfa120e85bf5ffca/library/core/src/cmp.rs#L98 +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/complex_qualified_path_in_expr.rs b/gcc/testsuite/rust/compile/complex_qualified_path_in_expr.rs index 5036410..85bdaf0 100644 --- a/gcc/testsuite/rust/compile/complex_qualified_path_in_expr.rs +++ b/gcc/testsuite/rust/compile/complex_qualified_path_in_expr.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/const-issue1440.rs b/gcc/testsuite/rust/compile/const-issue1440.rs index 3a2989c..43748cf2 100644 --- a/gcc/testsuite/rust/compile/const-issue1440.rs +++ b/gcc/testsuite/rust/compile/const-issue1440.rs @@ -1,6 +1,7 @@ // { dg-additional-options "-w" } #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/const_generics_1.rs b/gcc/testsuite/rust/compile/const_generics_1.rs index 5d4ca64..b22e07e 100644 --- a/gcc/testsuite/rust/compile/const_generics_1.rs +++ b/gcc/testsuite/rust/compile/const_generics_1.rs @@ -3,6 +3,7 @@ // There are errors about unused generic parameters, but we can't handle that yet. // Still, this code is invalid Rust. +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/const_generics_10.rs b/gcc/testsuite/rust/compile/const_generics_10.rs index 7e3bc86..1300126 100644 --- a/gcc/testsuite/rust/compile/const_generics_10.rs +++ b/gcc/testsuite/rust/compile/const_generics_10.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/const_generics_11.rs b/gcc/testsuite/rust/compile/const_generics_11.rs index de902ee..381d9f4 100644 --- a/gcc/testsuite/rust/compile/const_generics_11.rs +++ b/gcc/testsuite/rust/compile/const_generics_11.rs @@ -1,5 +1,5 @@ // { dg-options "-w" } - +#![feature(lang_items)] #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/const_generics_12.rs b/gcc/testsuite/rust/compile/const_generics_12.rs index a17c525..88b151f 100644 --- a/gcc/testsuite/rust/compile/const_generics_12.rs +++ b/gcc/testsuite/rust/compile/const_generics_12.rs @@ -1,5 +1,5 @@ // { dg-options "-w" } - +#![feature(lang_items)] #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/const_generics_13.rs b/gcc/testsuite/rust/compile/const_generics_13.rs index 20dd0b9..bf8e78e 100644 --- a/gcc/testsuite/rust/compile/const_generics_13.rs +++ b/gcc/testsuite/rust/compile/const_generics_13.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/const_generics_14.rs b/gcc/testsuite/rust/compile/const_generics_14.rs index 4d52efb..e0d206f 100644 --- a/gcc/testsuite/rust/compile/const_generics_14.rs +++ b/gcc/testsuite/rust/compile/const_generics_14.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/const_generics_15.rs b/gcc/testsuite/rust/compile/const_generics_15.rs index a160abf..158548c 100644 --- a/gcc/testsuite/rust/compile/const_generics_15.rs +++ b/gcc/testsuite/rust/compile/const_generics_15.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/const_generics_16.rs b/gcc/testsuite/rust/compile/const_generics_16.rs index 060dbda..467be6a 100644 --- a/gcc/testsuite/rust/compile/const_generics_16.rs +++ b/gcc/testsuite/rust/compile/const_generics_16.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/const_generics_17.rs b/gcc/testsuite/rust/compile/const_generics_17.rs new file mode 100644 index 0000000..f65ca22 --- /dev/null +++ b/gcc/testsuite/rust/compile/const_generics_17.rs @@ -0,0 +1,3 @@ +struct Foo<const N: u32 = 1, const O: bool>; // { dg-error "invalid order for generic parameters: generic parameters with a default must be trailing" } + +impl<const N: u32> Foo<N> {} diff --git a/gcc/testsuite/rust/compile/const_generics_18.rs b/gcc/testsuite/rust/compile/const_generics_18.rs new file mode 100644 index 0000000..09bb860 --- /dev/null +++ b/gcc/testsuite/rust/compile/const_generics_18.rs @@ -0,0 +1,11 @@ +#![feature(lang_items)] +#[lang = "sized"] +trait Sized {} + +struct Foo<const N: usize>; +type Alias = Foo<4>; + +fn main() -> i32 { + let _x: Alias = Foo::<4> {}; + 0 +} diff --git a/gcc/testsuite/rust/compile/const_generics_19.rs b/gcc/testsuite/rust/compile/const_generics_19.rs new file mode 100644 index 0000000..73c1419 --- /dev/null +++ b/gcc/testsuite/rust/compile/const_generics_19.rs @@ -0,0 +1,11 @@ +#![feature(lang_items)] +#[lang = "sized"] +trait Sized {} + +struct Foo<const N: usize>; +struct Wrapper<T>(T); + +fn main() -> i32 { + let _: Wrapper<Foo<3>> = Wrapper(Foo::<3> {}); + 0 +} diff --git a/gcc/testsuite/rust/compile/const_generics_3.rs b/gcc/testsuite/rust/compile/const_generics_3.rs index 3415f17..528cf69 100644 --- a/gcc/testsuite/rust/compile/const_generics_3.rs +++ b/gcc/testsuite/rust/compile/const_generics_3.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/const_generics_8.rs b/gcc/testsuite/rust/compile/const_generics_8.rs index ce5e1b5..32b7a19 100644 --- a/gcc/testsuite/rust/compile/const_generics_8.rs +++ b/gcc/testsuite/rust/compile/const_generics_8.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/const_generics_9.rs b/gcc/testsuite/rust/compile/const_generics_9.rs index 98e2d3f..a3f7485 100644 --- a/gcc/testsuite/rust/compile/const_generics_9.rs +++ b/gcc/testsuite/rust/compile/const_generics_9.rs @@ -1,5 +1,5 @@ // { dg-options "-w" } - +#![feature(lang_items)] #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/decl_macro6.rs b/gcc/testsuite/rust/compile/decl_macro6.rs index 5c5e700..b290b4c 100644 --- a/gcc/testsuite/rust/compile/decl_macro6.rs +++ b/gcc/testsuite/rust/compile/decl_macro6.rs @@ -2,4 +2,3 @@ macro m {} // { dg-error "unexpected token .\}. - expecting delimiters .for a macro matcher." "" { target *-*-* } .-1 } // { dg-error "required first macro rule in declarative macro definition could not be parsed" "" { target *-*-* } .-2 } -// { dg-error "failed to parse item in crate" "" { target *-*-* } .-3 } diff --git a/gcc/testsuite/rust/compile/decl_macro7.rs b/gcc/testsuite/rust/compile/decl_macro7.rs index 7327fb5..8007544 100644 --- a/gcc/testsuite/rust/compile/decl_macro7.rs +++ b/gcc/testsuite/rust/compile/decl_macro7.rs @@ -1,4 +1,3 @@ #![feature(decl_macro)] pub macro hello() [ "Hello" ] // { dg-error "only braces can be used for a macro transcriber in declarative macro definition" "" { target *-*-* } .-1 } -// { dg-error "failed to parse item in crate" }
\ No newline at end of file diff --git a/gcc/testsuite/rust/compile/derive-debug1.rs b/gcc/testsuite/rust/compile/derive-debug1.rs index 5927374..f69be0d 100644 --- a/gcc/testsuite/rust/compile/derive-debug1.rs +++ b/gcc/testsuite/rust/compile/derive-debug1.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/derive-default1.rs b/gcc/testsuite/rust/compile/derive-default1.rs index 902c65e..ad31d5a 100644 --- a/gcc/testsuite/rust/compile/derive-default1.rs +++ b/gcc/testsuite/rust/compile/derive-default1.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[derive(Default)] struct Foo { _a: i32, _b: i64, _c: u8 } diff --git a/gcc/testsuite/rust/compile/derive-eq-invalid.rs b/gcc/testsuite/rust/compile/derive-eq-invalid.rs index b0bf856..47fac78 100644 --- a/gcc/testsuite/rust/compile/derive-eq-invalid.rs +++ b/gcc/testsuite/rust/compile/derive-eq-invalid.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + mod core { mod cmp { #[lang = "eq"] diff --git a/gcc/testsuite/rust/compile/derive-hash1.rs b/gcc/testsuite/rust/compile/derive-hash1.rs index 80e1e2d..cdcc9b1 100644 --- a/gcc/testsuite/rust/compile/derive-hash1.rs +++ b/gcc/testsuite/rust/compile/derive-hash1.rs @@ -1,4 +1,4 @@ -#![feature(intrinsics)] +#![feature(intrinsics, lang_items)] #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/derive-partialeq1.rs b/gcc/testsuite/rust/compile/derive-partialeq1.rs index 35e33fb..fbeb054 100644 --- a/gcc/testsuite/rust/compile/derive-partialeq1.rs +++ b/gcc/testsuite/rust/compile/derive-partialeq1.rs @@ -1,4 +1,4 @@ -#![feature(intrinsics)] +#![feature(intrinsics, lang_items)] #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/derive_clone_enum1.rs b/gcc/testsuite/rust/compile/derive_clone_enum1.rs index 947dc5c6..7dc0a80 100644 --- a/gcc/testsuite/rust/compile/derive_clone_enum1.rs +++ b/gcc/testsuite/rust/compile/derive_clone_enum1.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[lang = "clone"] trait Clone { pub fn clone(&self) -> Self; diff --git a/gcc/testsuite/rust/compile/derive_clone_enum2.rs b/gcc/testsuite/rust/compile/derive_clone_enum2.rs index c7a4ad5..6f5b29a 100644 --- a/gcc/testsuite/rust/compile/derive_clone_enum2.rs +++ b/gcc/testsuite/rust/compile/derive_clone_enum2.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[lang = "clone"] trait Clone { pub fn clone(&self) -> Self; diff --git a/gcc/testsuite/rust/compile/derive_clone_enum3.rs b/gcc/testsuite/rust/compile/derive_clone_enum3.rs index 92fd6ee..7c76ab2 100644 --- a/gcc/testsuite/rust/compile/derive_clone_enum3.rs +++ b/gcc/testsuite/rust/compile/derive_clone_enum3.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[lang = "clone"] trait Clone { pub fn clone(&self) -> Self; diff --git a/gcc/testsuite/rust/compile/derive_macro1.rs b/gcc/testsuite/rust/compile/derive_macro1.rs index 8c42aba..df7c8e3 100644 --- a/gcc/testsuite/rust/compile/derive_macro1.rs +++ b/gcc/testsuite/rust/compile/derive_macro1.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/derive_macro3.rs b/gcc/testsuite/rust/compile/derive_macro3.rs index ad40cae..37b1d50 100644 --- a/gcc/testsuite/rust/compile/derive_macro3.rs +++ b/gcc/testsuite/rust/compile/derive_macro3.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/derive_macro4.rs b/gcc/testsuite/rust/compile/derive_macro4.rs index 8bf1bca..7429019 100644 --- a/gcc/testsuite/rust/compile/derive_macro4.rs +++ b/gcc/testsuite/rust/compile/derive_macro4.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/derive_macro6.rs b/gcc/testsuite/rust/compile/derive_macro6.rs index 412144d..d575ff1 100644 --- a/gcc/testsuite/rust/compile/derive_macro6.rs +++ b/gcc/testsuite/rust/compile/derive_macro6.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/derive_partial_ord1.rs b/gcc/testsuite/rust/compile/derive_partial_ord1.rs index eeca62d..4d26de5 100644 --- a/gcc/testsuite/rust/compile/derive_partial_ord1.rs +++ b/gcc/testsuite/rust/compile/derive_partial_ord1.rs @@ -1,6 +1,6 @@ // { dg-additional-options "-w" } -#![feature(intrinsics)] +#![feature(intrinsics, lang_items)] mod core { mod option { diff --git a/gcc/testsuite/rust/compile/e0579-neg-float-fail.rs b/gcc/testsuite/rust/compile/e0579-neg-float-fail.rs new file mode 100644 index 0000000..fefe221 --- /dev/null +++ b/gcc/testsuite/rust/compile/e0579-neg-float-fail.rs @@ -0,0 +1,9 @@ +#![feature(exclusive_range_pattern)] + +fn main() { + let x = 1.0; + + match x { // { dg-message "sorry, unimplemented: match on floating-point types is not yet supported" } + -1.0f32..-1.2f32 => 2, // { dg-error "lower range bound must be less than upper .E0579." } + }; +}
\ No newline at end of file diff --git a/gcc/testsuite/rust/compile/e0579-neg-float.rs b/gcc/testsuite/rust/compile/e0579-neg-float.rs new file mode 100644 index 0000000..cc60e80 --- /dev/null +++ b/gcc/testsuite/rust/compile/e0579-neg-float.rs @@ -0,0 +1,9 @@ +#![feature(exclusive_range_pattern)] + +fn main() { + let x = 1.0; + + match x { // { dg-message "sorry, unimplemented: match on floating-point types is not yet supported" } + -1.2f32..-1.0f32 => 2, + }; +}
\ No newline at end of file diff --git a/gcc/testsuite/rust/compile/expand_macro_qual_path_in_type.rs b/gcc/testsuite/rust/compile/expand_macro_qual_path_in_type.rs index 2d60197..16d120f 100644 --- a/gcc/testsuite/rust/compile/expand_macro_qual_path_in_type.rs +++ b/gcc/testsuite/rust/compile/expand_macro_qual_path_in_type.rs @@ -1,5 +1,6 @@ // this SEGVs in lowering for now // { dg-additional-options "-frust-compile-until=nameresolution" } +#![feature(lang_items)] macro_rules! forward_ref_binop { (impl $imp:ident, $method:ident for $t:ty, $u:ty) => { diff --git a/gcc/testsuite/rust/compile/expected_type_args2.rs b/gcc/testsuite/rust/compile/expected_type_args2.rs index 11a70be..22702e3 100644 --- a/gcc/testsuite/rust/compile/expected_type_args2.rs +++ b/gcc/testsuite/rust/compile/expected_type_args2.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/expected_type_args3.rs b/gcc/testsuite/rust/compile/expected_type_args3.rs index 7003f7a..0916ec9 100644 --- a/gcc/testsuite/rust/compile/expected_type_args3.rs +++ b/gcc/testsuite/rust/compile/expected_type_args3.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/extern_generics.rs b/gcc/testsuite/rust/compile/extern_generics.rs index 26f97a6..0312626 100644 --- a/gcc/testsuite/rust/compile/extern_generics.rs +++ b/gcc/testsuite/rust/compile/extern_generics.rs @@ -1,4 +1,5 @@ -#[lang="sized"] +#![feature(lang_items)] +#[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/extern_type_item_missing_semi.rs b/gcc/testsuite/rust/compile/extern_type_item_missing_semi.rs index a42af02..cd4d4e2 100644 --- a/gcc/testsuite/rust/compile/extern_type_item_missing_semi.rs +++ b/gcc/testsuite/rust/compile/extern_type_item_missing_semi.rs @@ -4,4 +4,3 @@ extern "C" { type F; type E // { dg-error "failed to parse" } } // { dg-error "expecting" } -// { dg-error "failed to parse item in crate" "" { target *-*-* } .-1 } diff --git a/gcc/testsuite/rust/compile/for-loop1.rs b/gcc/testsuite/rust/compile/for-loop1.rs index 21e0399..d42cf67 100644 --- a/gcc/testsuite/rust/compile/for-loop1.rs +++ b/gcc/testsuite/rust/compile/for-loop1.rs @@ -1,5 +1,5 @@ // { dg-output "loop\r*\nloop\r*\n" } -#![feature(intrinsics)] +#![feature(intrinsics, lang_items)] pub use option::Option::{self, None, Some}; pub use result::Result::{self, Err, Ok}; diff --git a/gcc/testsuite/rust/compile/for-loop2.rs b/gcc/testsuite/rust/compile/for-loop2.rs index a0ad066..680fd86 100644 --- a/gcc/testsuite/rust/compile/for-loop2.rs +++ b/gcc/testsuite/rust/compile/for-loop2.rs @@ -1,5 +1,5 @@ // { dg-output "1\r*\n2\r*\n" } -#![feature(intrinsics)] +#![feature(intrinsics, lang_items)] pub use option::Option::{self, None, Some}; pub use result::Result::{self, Err, Ok}; diff --git a/gcc/testsuite/rust/compile/format_args_basic_expansion.rs b/gcc/testsuite/rust/compile/format_args_basic_expansion.rs index cedb62c..59101ac 100644 --- a/gcc/testsuite/rust/compile/format_args_basic_expansion.rs +++ b/gcc/testsuite/rust/compile/format_args_basic_expansion.rs @@ -1,4 +1,4 @@ -#![feature(rustc_attrs)] +#![feature(rustc_attrs, lang_items)] #[rustc_builtin_macro] macro_rules! format_args { diff --git a/gcc/testsuite/rust/compile/format_args_concat.rs b/gcc/testsuite/rust/compile/format_args_concat.rs index b180667..695cde65 100644 --- a/gcc/testsuite/rust/compile/format_args_concat.rs +++ b/gcc/testsuite/rust/compile/format_args_concat.rs @@ -1,4 +1,4 @@ -#![feature(rustc_attrs)] +#![feature(rustc_attrs, lang_items)] #[rustc_builtin_macro] macro_rules! format_args { diff --git a/gcc/testsuite/rust/compile/format_args_extra_comma.rs b/gcc/testsuite/rust/compile/format_args_extra_comma.rs index dc48a3a..5b8fee5 100644 --- a/gcc/testsuite/rust/compile/format_args_extra_comma.rs +++ b/gcc/testsuite/rust/compile/format_args_extra_comma.rs @@ -1,4 +1,4 @@ -#![feature(rustc_attrs)] +#![feature(rustc_attrs, lang_items)] #[rustc_builtin_macro] macro_rules! format_args { diff --git a/gcc/testsuite/rust/compile/gat1.rs b/gcc/testsuite/rust/compile/gat1.rs new file mode 100644 index 0000000..032f64e --- /dev/null +++ b/gcc/testsuite/rust/compile/gat1.rs @@ -0,0 +1,4 @@ +trait Foo { + type Bar<T>; + type Baz<'a>; +} diff --git a/gcc/testsuite/rust/compile/generics1.rs b/gcc/testsuite/rust/compile/generics1.rs index 9e440af..cf3c9e4 100644 --- a/gcc/testsuite/rust/compile/generics1.rs +++ b/gcc/testsuite/rust/compile/generics1.rs @@ -1,5 +1,6 @@ // { dg-error "mismatched types, expected .i32. but got .i8." "" { target *-*-* } 0 } +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/generics11.rs b/gcc/testsuite/rust/compile/generics11.rs index 10b5880..7202baf 100644 --- a/gcc/testsuite/rust/compile/generics11.rs +++ b/gcc/testsuite/rust/compile/generics11.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/generics12.rs b/gcc/testsuite/rust/compile/generics12.rs index b32f566..21613fb 100644 --- a/gcc/testsuite/rust/compile/generics12.rs +++ b/gcc/testsuite/rust/compile/generics12.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/generics14.rs b/gcc/testsuite/rust/compile/generics14.rs new file mode 100644 index 0000000..d97fd35 --- /dev/null +++ b/gcc/testsuite/rust/compile/generics14.rs @@ -0,0 +1 @@ +struct Foo<const N: i32, 'a>; // { dg-error "invalid order for generic parameters: lifetime parameters must be declared prior to type and const parameters" } diff --git a/gcc/testsuite/rust/compile/generics2.rs b/gcc/testsuite/rust/compile/generics2.rs index 4c95fd1..0ed8a5f 100644 --- a/gcc/testsuite/rust/compile/generics2.rs +++ b/gcc/testsuite/rust/compile/generics2.rs @@ -1,5 +1,6 @@ // { dg-error "mismatched types, expected .i32. but got .i8." "" { target *-*-* } 0 } +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/generics3.rs b/gcc/testsuite/rust/compile/generics3.rs index 514d713..112a247 100644 --- a/gcc/testsuite/rust/compile/generics3.rs +++ b/gcc/testsuite/rust/compile/generics3.rs @@ -1,4 +1,5 @@ // { dg-error "mismatched types, expected .i32. but got .i8." "" { target *-*-* } 0 } +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/generics4.rs b/gcc/testsuite/rust/compile/generics4.rs index c4dbc43..e8333d6 100644 --- a/gcc/testsuite/rust/compile/generics4.rs +++ b/gcc/testsuite/rust/compile/generics4.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/generics6.rs b/gcc/testsuite/rust/compile/generics6.rs index d77c559..67029cd0 100644 --- a/gcc/testsuite/rust/compile/generics6.rs +++ b/gcc/testsuite/rust/compile/generics6.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/generics7.rs b/gcc/testsuite/rust/compile/generics7.rs index dcedead..e2283a4 100644 --- a/gcc/testsuite/rust/compile/generics7.rs +++ b/gcc/testsuite/rust/compile/generics7.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/generics8.rs b/gcc/testsuite/rust/compile/generics8.rs index 2d30a9e..b38b277 100644 --- a/gcc/testsuite/rust/compile/generics8.rs +++ b/gcc/testsuite/rust/compile/generics8.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/if_let_expr.rs b/gcc/testsuite/rust/compile/if_let_expr.rs index b0879e5..407abd4 100644 --- a/gcc/testsuite/rust/compile/if_let_expr.rs +++ b/gcc/testsuite/rust/compile/if_let_expr.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/impl_fnptr.rs b/gcc/testsuite/rust/compile/impl_fnptr.rs index 20c9d88..e7c1bb1 100644 --- a/gcc/testsuite/rust/compile/impl_fnptr.rs +++ b/gcc/testsuite/rust/compile/impl_fnptr.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/impl_trait_diag.rs b/gcc/testsuite/rust/compile/impl_trait_diag.rs index 54a0cd2..e78d2f5 100644 --- a/gcc/testsuite/rust/compile/impl_trait_diag.rs +++ b/gcc/testsuite/rust/compile/impl_trait_diag.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/impl_trait_generic_arg.rs b/gcc/testsuite/rust/compile/impl_trait_generic_arg.rs index ecdb088..a304bd6 100644 --- a/gcc/testsuite/rust/compile/impl_trait_generic_arg.rs +++ b/gcc/testsuite/rust/compile/impl_trait_generic_arg.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-1005.rs b/gcc/testsuite/rust/compile/issue-1005.rs index 15d4bef..4c51b30 100644 --- a/gcc/testsuite/rust/compile/issue-1005.rs +++ b/gcc/testsuite/rust/compile/issue-1005.rs @@ -1,4 +1,5 @@ // { dg-additional-options "-w" } +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-1019.rs b/gcc/testsuite/rust/compile/issue-1019.rs index 1f77ba9..5bf786c 100644 --- a/gcc/testsuite/rust/compile/issue-1019.rs +++ b/gcc/testsuite/rust/compile/issue-1019.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-1031.rs b/gcc/testsuite/rust/compile/issue-1031.rs index cd1da47..785573a 100644 --- a/gcc/testsuite/rust/compile/issue-1031.rs +++ b/gcc/testsuite/rust/compile/issue-1031.rs @@ -1,5 +1,6 @@ #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-1034.rs b/gcc/testsuite/rust/compile/issue-1034.rs index d40005e..ef5f7c7 100644 --- a/gcc/testsuite/rust/compile/issue-1034.rs +++ b/gcc/testsuite/rust/compile/issue-1034.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-1128.rs b/gcc/testsuite/rust/compile/issue-1128.rs index 8960ebb..de46919 100644 --- a/gcc/testsuite/rust/compile/issue-1128.rs +++ b/gcc/testsuite/rust/compile/issue-1128.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-1129-2.rs b/gcc/testsuite/rust/compile/issue-1129-2.rs index cfe01b5..4b4f004 100644 --- a/gcc/testsuite/rust/compile/issue-1129-2.rs +++ b/gcc/testsuite/rust/compile/issue-1129-2.rs @@ -1,4 +1,5 @@ // { dg-additional-options "-w" } +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-1130.rs b/gcc/testsuite/rust/compile/issue-1130.rs index 115e6aa..0219ed2 100644 --- a/gcc/testsuite/rust/compile/issue-1130.rs +++ b/gcc/testsuite/rust/compile/issue-1130.rs @@ -1,6 +1,7 @@ // { dg-additional-options "-w" } #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-1131.rs b/gcc/testsuite/rust/compile/issue-1131.rs index 86eeb98..c014e73 100644 --- a/gcc/testsuite/rust/compile/issue-1131.rs +++ b/gcc/testsuite/rust/compile/issue-1131.rs @@ -1,5 +1,6 @@ #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-1165.rs b/gcc/testsuite/rust/compile/issue-1165.rs index a637823..ce57ebf 100644 --- a/gcc/testsuite/rust/compile/issue-1165.rs +++ b/gcc/testsuite/rust/compile/issue-1165.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-1173.rs b/gcc/testsuite/rust/compile/issue-1173.rs index a8fd93e..59b0adf 100644 --- a/gcc/testsuite/rust/compile/issue-1173.rs +++ b/gcc/testsuite/rust/compile/issue-1173.rs @@ -2,6 +2,7 @@ #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-1235.rs b/gcc/testsuite/rust/compile/issue-1235.rs index 7c85ac4..6376e9e 100644 --- a/gcc/testsuite/rust/compile/issue-1235.rs +++ b/gcc/testsuite/rust/compile/issue-1235.rs @@ -1,4 +1,5 @@ // { dg-additional-options "-w" } +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-1237.rs b/gcc/testsuite/rust/compile/issue-1237.rs index 79b60b0..506a6bf 100644 --- a/gcc/testsuite/rust/compile/issue-1237.rs +++ b/gcc/testsuite/rust/compile/issue-1237.rs @@ -1,6 +1,7 @@ // { dg-additional-options "-w" } #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-1289.rs b/gcc/testsuite/rust/compile/issue-1289.rs index 9251d79..58ab0b6 100644 --- a/gcc/testsuite/rust/compile/issue-1289.rs +++ b/gcc/testsuite/rust/compile/issue-1289.rs @@ -1,5 +1,6 @@ #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-1383.rs b/gcc/testsuite/rust/compile/issue-1383.rs index dac4b2a..f8ccd57 100644 --- a/gcc/testsuite/rust/compile/issue-1383.rs +++ b/gcc/testsuite/rust/compile/issue-1383.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-1447.rs b/gcc/testsuite/rust/compile/issue-1447.rs index 6d58f7a..afeef17 100644 --- a/gcc/testsuite/rust/compile/issue-1447.rs +++ b/gcc/testsuite/rust/compile/issue-1447.rs @@ -1,4 +1,5 @@ // { dg-options "-w" } +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-1483.rs b/gcc/testsuite/rust/compile/issue-1483.rs index eda7e13..96ca72e 100644 --- a/gcc/testsuite/rust/compile/issue-1483.rs +++ b/gcc/testsuite/rust/compile/issue-1483.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-1485.rs b/gcc/testsuite/rust/compile/issue-1485.rs index a0cd5a0..958fcd1 100644 --- a/gcc/testsuite/rust/compile/issue-1485.rs +++ b/gcc/testsuite/rust/compile/issue-1485.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-1487.rs b/gcc/testsuite/rust/compile/issue-1487.rs index 4a4d759..dd34651 100644 --- a/gcc/testsuite/rust/compile/issue-1487.rs +++ b/gcc/testsuite/rust/compile/issue-1487.rs @@ -1,4 +1,6 @@ // { dg-options "-w" } +#![feature(lang_items)] + #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-1589.rs b/gcc/testsuite/rust/compile/issue-1589.rs index 1dd7a45..dd7b4c0 100644 --- a/gcc/testsuite/rust/compile/issue-1589.rs +++ b/gcc/testsuite/rust/compile/issue-1589.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-1725-1.rs b/gcc/testsuite/rust/compile/issue-1725-1.rs index a02e6f6..5891f71 100644 --- a/gcc/testsuite/rust/compile/issue-1725-1.rs +++ b/gcc/testsuite/rust/compile/issue-1725-1.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-1725-2.rs b/gcc/testsuite/rust/compile/issue-1725-2.rs index d6a2d68..3386f27 100644 --- a/gcc/testsuite/rust/compile/issue-1725-2.rs +++ b/gcc/testsuite/rust/compile/issue-1725-2.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-1786.rs b/gcc/testsuite/rust/compile/issue-1786.rs index 1c46fee..e4f94bd 100644 --- a/gcc/testsuite/rust/compile/issue-1786.rs +++ b/gcc/testsuite/rust/compile/issue-1786.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-1893.rs b/gcc/testsuite/rust/compile/issue-1893.rs index 46c53e9..47cde45 100644 --- a/gcc/testsuite/rust/compile/issue-1893.rs +++ b/gcc/testsuite/rust/compile/issue-1893.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-1901.rs b/gcc/testsuite/rust/compile/issue-1901.rs index b43e34f..110b939 100644 --- a/gcc/testsuite/rust/compile/issue-1901.rs +++ b/gcc/testsuite/rust/compile/issue-1901.rs @@ -1,5 +1,6 @@ #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-1930.rs b/gcc/testsuite/rust/compile/issue-1930.rs index 071b3da..5eea229 100644 --- a/gcc/testsuite/rust/compile/issue-1930.rs +++ b/gcc/testsuite/rust/compile/issue-1930.rs @@ -1,4 +1,5 @@ // { dg-options "-w" } +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-1981.rs b/gcc/testsuite/rust/compile/issue-1981.rs index de9588c..c71cecf 100644 --- a/gcc/testsuite/rust/compile/issue-1981.rs +++ b/gcc/testsuite/rust/compile/issue-1981.rs @@ -1,5 +1,6 @@ #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2015.rs b/gcc/testsuite/rust/compile/issue-2015.rs index 7e03651..5763096 100644 --- a/gcc/testsuite/rust/compile/issue-2015.rs +++ b/gcc/testsuite/rust/compile/issue-2015.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2019-1.rs b/gcc/testsuite/rust/compile/issue-2019-1.rs index e91e347..e3174b1 100644 --- a/gcc/testsuite/rust/compile/issue-2019-1.rs +++ b/gcc/testsuite/rust/compile/issue-2019-1.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2019-2.rs b/gcc/testsuite/rust/compile/issue-2019-2.rs index 9f7c0c0..eefe44d 100644 --- a/gcc/testsuite/rust/compile/issue-2019-2.rs +++ b/gcc/testsuite/rust/compile/issue-2019-2.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2019-3.rs b/gcc/testsuite/rust/compile/issue-2019-3.rs index c95ce43..7f00d82 100644 --- a/gcc/testsuite/rust/compile/issue-2019-3.rs +++ b/gcc/testsuite/rust/compile/issue-2019-3.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2036.rs b/gcc/testsuite/rust/compile/issue-2036.rs index 8701b20..03b8ed0 100644 --- a/gcc/testsuite/rust/compile/issue-2036.rs +++ b/gcc/testsuite/rust/compile/issue-2036.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2037.rs b/gcc/testsuite/rust/compile/issue-2037.rs index 8adcb97..0d929d5 100644 --- a/gcc/testsuite/rust/compile/issue-2037.rs +++ b/gcc/testsuite/rust/compile/issue-2037.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2070.rs b/gcc/testsuite/rust/compile/issue-2070.rs index 981e599..f4dc360 100644 --- a/gcc/testsuite/rust/compile/issue-2070.rs +++ b/gcc/testsuite/rust/compile/issue-2070.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2105.rs b/gcc/testsuite/rust/compile/issue-2105.rs index 28f170e..4446b26 100644 --- a/gcc/testsuite/rust/compile/issue-2105.rs +++ b/gcc/testsuite/rust/compile/issue-2105.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2106.rs b/gcc/testsuite/rust/compile/issue-2106.rs index 4af57c8..a75d21b 100644 --- a/gcc/testsuite/rust/compile/issue-2106.rs +++ b/gcc/testsuite/rust/compile/issue-2106.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2135.rs b/gcc/testsuite/rust/compile/issue-2135.rs index 9f4d3e1..e2d5ed2 100644 --- a/gcc/testsuite/rust/compile/issue-2135.rs +++ b/gcc/testsuite/rust/compile/issue-2135.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2136-1.rs b/gcc/testsuite/rust/compile/issue-2136-1.rs index f0af551..eee8a68 100644 --- a/gcc/testsuite/rust/compile/issue-2136-1.rs +++ b/gcc/testsuite/rust/compile/issue-2136-1.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2136-2.rs b/gcc/testsuite/rust/compile/issue-2136-2.rs index b25820d..b30c9d2 100644 --- a/gcc/testsuite/rust/compile/issue-2136-2.rs +++ b/gcc/testsuite/rust/compile/issue-2136-2.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2139.rs b/gcc/testsuite/rust/compile/issue-2139.rs index 65f82f3..ba3736f 100644 --- a/gcc/testsuite/rust/compile/issue-2139.rs +++ b/gcc/testsuite/rust/compile/issue-2139.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2142.rs b/gcc/testsuite/rust/compile/issue-2142.rs index a3ec228..e4c0c92 100644 --- a/gcc/testsuite/rust/compile/issue-2142.rs +++ b/gcc/testsuite/rust/compile/issue-2142.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2165.rs b/gcc/testsuite/rust/compile/issue-2165.rs index 5bbde65..38288e9 100644 --- a/gcc/testsuite/rust/compile/issue-2165.rs +++ b/gcc/testsuite/rust/compile/issue-2165.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2166.rs b/gcc/testsuite/rust/compile/issue-2166.rs index 142ed17..d9e07a6 100644 --- a/gcc/testsuite/rust/compile/issue-2166.rs +++ b/gcc/testsuite/rust/compile/issue-2166.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2187.rs b/gcc/testsuite/rust/compile/issue-2187.rs index deef417..78d843e 100644 --- a/gcc/testsuite/rust/compile/issue-2187.rs +++ b/gcc/testsuite/rust/compile/issue-2187.rs @@ -8,4 +8,3 @@ const D: &'static str = " "; ERROR_TIME // { dg-error "unrecognised token" "" { target *-*-* } .-1 } -// { dg-error "failed to parse item in crate" "" { target *-*-* } .-2 } diff --git a/gcc/testsuite/rust/compile/issue-2190-1.rs b/gcc/testsuite/rust/compile/issue-2190-1.rs index 927f90d..ad0f168 100644 --- a/gcc/testsuite/rust/compile/issue-2190-1.rs +++ b/gcc/testsuite/rust/compile/issue-2190-1.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2190-2.rs b/gcc/testsuite/rust/compile/issue-2190-2.rs index 1c93338..c1abfb6 100644 --- a/gcc/testsuite/rust/compile/issue-2190-2.rs +++ b/gcc/testsuite/rust/compile/issue-2190-2.rs @@ -1,4 +1,5 @@ // { dg-options "-w" } +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2195.rs b/gcc/testsuite/rust/compile/issue-2195.rs index fc158c3..0a917a8 100644 --- a/gcc/testsuite/rust/compile/issue-2195.rs +++ b/gcc/testsuite/rust/compile/issue-2195.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2238.rs b/gcc/testsuite/rust/compile/issue-2238.rs index 6a43a13..6bbbca4 100644 --- a/gcc/testsuite/rust/compile/issue-2238.rs +++ b/gcc/testsuite/rust/compile/issue-2238.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2304.rs b/gcc/testsuite/rust/compile/issue-2304.rs index 8313033..cef8fc8 100644 --- a/gcc/testsuite/rust/compile/issue-2304.rs +++ b/gcc/testsuite/rust/compile/issue-2304.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2323.rs b/gcc/testsuite/rust/compile/issue-2323.rs index 02a3f90..2c69214 100644 --- a/gcc/testsuite/rust/compile/issue-2323.rs +++ b/gcc/testsuite/rust/compile/issue-2323.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2330.rs b/gcc/testsuite/rust/compile/issue-2330.rs index 6ab46c7..21637cb 100644 --- a/gcc/testsuite/rust/compile/issue-2330.rs +++ b/gcc/testsuite/rust/compile/issue-2330.rs @@ -1,5 +1,5 @@ // { dg-options "-w" } -#![feature(intrinsics)] +#![feature(intrinsics, lang_items)] pub use option::Option::{self, None, Some}; pub use result::Result::{self, Err, Ok}; diff --git a/gcc/testsuite/rust/compile/issue-2369.rs b/gcc/testsuite/rust/compile/issue-2369.rs index 9475aef..e5a3030 100644 --- a/gcc/testsuite/rust/compile/issue-2369.rs +++ b/gcc/testsuite/rust/compile/issue-2369.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2375.rs b/gcc/testsuite/rust/compile/issue-2375.rs index a61fef8..e3b9c9f 100644 --- a/gcc/testsuite/rust/compile/issue-2375.rs +++ b/gcc/testsuite/rust/compile/issue-2375.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2478.rs b/gcc/testsuite/rust/compile/issue-2478.rs index 7fe4e2d..1cce4b2 100644 --- a/gcc/testsuite/rust/compile/issue-2478.rs +++ b/gcc/testsuite/rust/compile/issue-2478.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2499.rs b/gcc/testsuite/rust/compile/issue-2499.rs index 662d58f..f6d40d8 100644 --- a/gcc/testsuite/rust/compile/issue-2499.rs +++ b/gcc/testsuite/rust/compile/issue-2499.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2723-1.rs b/gcc/testsuite/rust/compile/issue-2723-1.rs index 261956d..5c77383 100644 --- a/gcc/testsuite/rust/compile/issue-2723-1.rs +++ b/gcc/testsuite/rust/compile/issue-2723-1.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2723-2.rs b/gcc/testsuite/rust/compile/issue-2723-2.rs index c7609d1..4baf088 100644 --- a/gcc/testsuite/rust/compile/issue-2723-2.rs +++ b/gcc/testsuite/rust/compile/issue-2723-2.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2725.rs b/gcc/testsuite/rust/compile/issue-2725.rs index a344bc8..06b1a89 100644 --- a/gcc/testsuite/rust/compile/issue-2725.rs +++ b/gcc/testsuite/rust/compile/issue-2725.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} trait Trait: ?Sized {} // { dg-error ".?Trait. is not permitted in supertraits" } diff --git a/gcc/testsuite/rust/compile/issue-2747.rs b/gcc/testsuite/rust/compile/issue-2747.rs index a9c09e7..fe4b572 100644 --- a/gcc/testsuite/rust/compile/issue-2747.rs +++ b/gcc/testsuite/rust/compile/issue-2747.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2772-1.rs b/gcc/testsuite/rust/compile/issue-2772-1.rs index 69977db..aad8591 100644 --- a/gcc/testsuite/rust/compile/issue-2772-1.rs +++ b/gcc/testsuite/rust/compile/issue-2772-1.rs @@ -1,4 +1,5 @@ // { dg-options "-w" } +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2772-2.rs b/gcc/testsuite/rust/compile/issue-2772-2.rs index b05f2b1..0e18324 100644 --- a/gcc/testsuite/rust/compile/issue-2772-2.rs +++ b/gcc/testsuite/rust/compile/issue-2772-2.rs @@ -1,4 +1,5 @@ // { dg-options "-w" } +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2775.rs b/gcc/testsuite/rust/compile/issue-2775.rs index 3ad7085..d67ced3 100644 --- a/gcc/testsuite/rust/compile/issue-2775.rs +++ b/gcc/testsuite/rust/compile/issue-2775.rs @@ -1,4 +1,5 @@ // { dg-options "-w" } +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2782.rs b/gcc/testsuite/rust/compile/issue-2782.rs index e199c88..61fc20c 100644 --- a/gcc/testsuite/rust/compile/issue-2782.rs +++ b/gcc/testsuite/rust/compile/issue-2782.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2907.rs b/gcc/testsuite/rust/compile/issue-2907.rs index fdf1953..8c0d496 100644 --- a/gcc/testsuite/rust/compile/issue-2907.rs +++ b/gcc/testsuite/rust/compile/issue-2907.rs @@ -1,5 +1,6 @@ #![feature(lang_items)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2951.rs b/gcc/testsuite/rust/compile/issue-2951.rs index d30a3bf..218332d 100644 --- a/gcc/testsuite/rust/compile/issue-2951.rs +++ b/gcc/testsuite/rust/compile/issue-2951.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2953-1.rs b/gcc/testsuite/rust/compile/issue-2953-1.rs index d07059e..d3289b9 100644 --- a/gcc/testsuite/rust/compile/issue-2953-1.rs +++ b/gcc/testsuite/rust/compile/issue-2953-1.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[lang = "sized"] pub trait Sized { // Empty. diff --git a/gcc/testsuite/rust/compile/issue-2953-2.rs b/gcc/testsuite/rust/compile/issue-2953-2.rs index 5927624..5fbd6c4 100644 --- a/gcc/testsuite/rust/compile/issue-2953-2.rs +++ b/gcc/testsuite/rust/compile/issue-2953-2.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[lang = "sized"] pub trait Sized { // Empty. diff --git a/gcc/testsuite/rust/compile/issue-2954.rs b/gcc/testsuite/rust/compile/issue-2954.rs index 52f7c91..973ee0a 100644 --- a/gcc/testsuite/rust/compile/issue-2954.rs +++ b/gcc/testsuite/rust/compile/issue-2954.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-2987.rs b/gcc/testsuite/rust/compile/issue-2987.rs index 1ab5fdc..9560bde 100644 --- a/gcc/testsuite/rust/compile/issue-2987.rs +++ b/gcc/testsuite/rust/compile/issue-2987.rs @@ -1,5 +1,6 @@ // { dg-options "-w" } Currently there are a lot of warnings produced from inside clone/copy // builtins +#![feature(lang_items)] #[lang = "copy"] trait Copy {} diff --git a/gcc/testsuite/rust/compile/issue-3009.rs b/gcc/testsuite/rust/compile/issue-3009.rs index 2eb4ef3..3d6fb9f 100644 --- a/gcc/testsuite/rust/compile/issue-3009.rs +++ b/gcc/testsuite/rust/compile/issue-3009.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-3022.rs b/gcc/testsuite/rust/compile/issue-3022.rs index b8b8e6f..e9358c9 100644 --- a/gcc/testsuite/rust/compile/issue-3022.rs +++ b/gcc/testsuite/rust/compile/issue-3022.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-3030.rs b/gcc/testsuite/rust/compile/issue-3030.rs index 0a1866d..94222b7 100644 --- a/gcc/testsuite/rust/compile/issue-3030.rs +++ b/gcc/testsuite/rust/compile/issue-3030.rs @@ -1,5 +1,6 @@ #![feature(negative_impls)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-3032-1.rs b/gcc/testsuite/rust/compile/issue-3032-1.rs index e9eb027..7338cb9 100644 --- a/gcc/testsuite/rust/compile/issue-3032-1.rs +++ b/gcc/testsuite/rust/compile/issue-3032-1.rs @@ -1,4 +1,4 @@ -#![feature(negative_impls)] +#![feature(negative_impls, lang_items)] #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-3032-2.rs b/gcc/testsuite/rust/compile/issue-3032-2.rs index 9e09d41..37c081b 100644 --- a/gcc/testsuite/rust/compile/issue-3032-2.rs +++ b/gcc/testsuite/rust/compile/issue-3032-2.rs @@ -1,4 +1,4 @@ -#![feature(negative_impls)] +#![feature(negative_impls, lang_items)] #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-3033.rs b/gcc/testsuite/rust/compile/issue-3033.rs index 9085b76..7adce5b 100644 --- a/gcc/testsuite/rust/compile/issue-3033.rs +++ b/gcc/testsuite/rust/compile/issue-3033.rs @@ -1,4 +1,4 @@ -#![feature(negative_impls)] +#![feature(negative_impls, lang_items)] #[lang = "copy"] trait Copy {} diff --git a/gcc/testsuite/rust/compile/issue-3035.rs b/gcc/testsuite/rust/compile/issue-3035.rs index 3266d84..80c2ab6 100644 --- a/gcc/testsuite/rust/compile/issue-3035.rs +++ b/gcc/testsuite/rust/compile/issue-3035.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-3036.rs b/gcc/testsuite/rust/compile/issue-3036.rs index 4418ccc..39856d5 100644 --- a/gcc/testsuite/rust/compile/issue-3036.rs +++ b/gcc/testsuite/rust/compile/issue-3036.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-3045-1.rs b/gcc/testsuite/rust/compile/issue-3045-1.rs index a1328f2..1f62e368 100644 --- a/gcc/testsuite/rust/compile/issue-3045-1.rs +++ b/gcc/testsuite/rust/compile/issue-3045-1.rs @@ -1,4 +1,4 @@ -#![feature(dropck_eyepatch)] +#![feature(dropck_eyepatch, lang_items)] #[allow(dead_code)] #[lang = "sized"] diff --git a/gcc/testsuite/rust/compile/issue-3045-2.rs b/gcc/testsuite/rust/compile/issue-3045-2.rs index 177707fb..4c90d4d 100644 --- a/gcc/testsuite/rust/compile/issue-3045-2.rs +++ b/gcc/testsuite/rust/compile/issue-3045-2.rs @@ -1,4 +1,4 @@ -#![feature(dropck_eyepatch)] +#![feature(dropck_eyepatch, lang_items)] #[allow(dead_code)] #[lang = "sized"] diff --git a/gcc/testsuite/rust/compile/issue-3144.rs b/gcc/testsuite/rust/compile/issue-3144.rs index 4e61078..02c6ff6 100644 --- a/gcc/testsuite/rust/compile/issue-3144.rs +++ b/gcc/testsuite/rust/compile/issue-3144.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-3242.rs b/gcc/testsuite/rust/compile/issue-3242.rs index a4542aea0..a6bd1c8 100644 --- a/gcc/testsuite/rust/compile/issue-3242.rs +++ b/gcc/testsuite/rust/compile/issue-3242.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-3304.rs b/gcc/testsuite/rust/compile/issue-3304.rs index cc376fa..aa857e2 100644 --- a/gcc/testsuite/rust/compile/issue-3304.rs +++ b/gcc/testsuite/rust/compile/issue-3304.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-3382.rs b/gcc/testsuite/rust/compile/issue-3382.rs index 6f4382f..c26494c 100644 --- a/gcc/testsuite/rust/compile/issue-3382.rs +++ b/gcc/testsuite/rust/compile/issue-3382.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-3402-1.rs b/gcc/testsuite/rust/compile/issue-3402-1.rs index ed603ce..cd13b74 100644 --- a/gcc/testsuite/rust/compile/issue-3402-1.rs +++ b/gcc/testsuite/rust/compile/issue-3402-1.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + pub struct Foo { a: i32, // { dg-warning "field is never read" "" { target *-*-* } .-1 } diff --git a/gcc/testsuite/rust/compile/issue-3402-2.rs b/gcc/testsuite/rust/compile/issue-3402-2.rs index b665af2..33d72e0 100644 --- a/gcc/testsuite/rust/compile/issue-3402-2.rs +++ b/gcc/testsuite/rust/compile/issue-3402-2.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + pub struct Bar(i32); #[lang = "sized"] diff --git a/gcc/testsuite/rust/compile/issue-3403.rs b/gcc/testsuite/rust/compile/issue-3403.rs index ced6b4e..6a3f720 100644 --- a/gcc/testsuite/rust/compile/issue-3403.rs +++ b/gcc/testsuite/rust/compile/issue-3403.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + pub struct Foo { a: i32, // { dg-warning "field is never read" "" { target *-*-* } .-1 } diff --git a/gcc/testsuite/rust/compile/issue-3454.rs b/gcc/testsuite/rust/compile/issue-3454.rs index 2a3c0c7..e2a5a39 100644 --- a/gcc/testsuite/rust/compile/issue-3454.rs +++ b/gcc/testsuite/rust/compile/issue-3454.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-3551.rs b/gcc/testsuite/rust/compile/issue-3551.rs index 6d6a812..55303b2 100644 --- a/gcc/testsuite/rust/compile/issue-3551.rs +++ b/gcc/testsuite/rust/compile/issue-3551.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-3554-2.rs b/gcc/testsuite/rust/compile/issue-3554-2.rs index e455a8b..3710e57 100644 --- a/gcc/testsuite/rust/compile/issue-3554-2.rs +++ b/gcc/testsuite/rust/compile/issue-3554-2.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-3599.rs b/gcc/testsuite/rust/compile/issue-3599.rs index 1d29fac..a41d2b3 100644 --- a/gcc/testsuite/rust/compile/issue-3599.rs +++ b/gcc/testsuite/rust/compile/issue-3599.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-3617.rs b/gcc/testsuite/rust/compile/issue-3617.rs new file mode 100644 index 0000000..64c2166 --- /dev/null +++ b/gcc/testsuite/rust/compile/issue-3617.rs @@ -0,0 +1,14 @@ +macro_rules! quote_tokens { + () => { + #[macro_export] + macro_rules! inner { + () => { + $crate:: + } + } + }; +} + +pub fn main() { + quote_tokens!(); +} diff --git a/gcc/testsuite/rust/compile/issue-3642.rs b/gcc/testsuite/rust/compile/issue-3642.rs index 6d9decc..30abfd3 100644 --- a/gcc/testsuite/rust/compile/issue-3642.rs +++ b/gcc/testsuite/rust/compile/issue-3642.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-3659.rs b/gcc/testsuite/rust/compile/issue-3659.rs new file mode 100644 index 0000000..ffbc634 --- /dev/null +++ b/gcc/testsuite/rust/compile/issue-3659.rs @@ -0,0 +1,10 @@ +#![feature(exclusive_range_pattern)] + +fn main() { + let x = 3; + + match x { + 0..-1 => 2, // { dg-error "lower range bound must be less than upper .E0579." } + _ => 3, + }; +} diff --git a/gcc/testsuite/rust/compile/issue-3711.rs b/gcc/testsuite/rust/compile/issue-3711.rs index a3f9c39..911d4ad 100644 --- a/gcc/testsuite/rust/compile/issue-3711.rs +++ b/gcc/testsuite/rust/compile/issue-3711.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-3836.rs b/gcc/testsuite/rust/compile/issue-3836.rs index a228795..8cc661f 100644 --- a/gcc/testsuite/rust/compile/issue-3836.rs +++ b/gcc/testsuite/rust/compile/issue-3836.rs @@ -1,4 +1,6 @@ // { dg-options "-w" } +#![feature(lang_items)] + mod core { mod option { pub enum Option<T> { diff --git a/gcc/testsuite/rust/compile/issue-3898.rs b/gcc/testsuite/rust/compile/issue-3898.rs index 114370c..8199267 100644 --- a/gcc/testsuite/rust/compile/issue-3898.rs +++ b/gcc/testsuite/rust/compile/issue-3898.rs @@ -1,4 +1,5 @@ // { dg-additional-options "-frust-compile-until=lowering" } +#![feature(lang_items)] #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-3915.rs b/gcc/testsuite/rust/compile/issue-3915.rs index 7132036..5cd8dc0 100644 --- a/gcc/testsuite/rust/compile/issue-3915.rs +++ b/gcc/testsuite/rust/compile/issue-3915.rs @@ -1,4 +1,6 @@ // { dg-options "-w" } +#![feature(lang_items)] + #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-3916.rs b/gcc/testsuite/rust/compile/issue-3916.rs index 59b522b..c4adb64 100644 --- a/gcc/testsuite/rust/compile/issue-3916.rs +++ b/gcc/testsuite/rust/compile/issue-3916.rs @@ -1,4 +1,4 @@ -#![feature(rustc_attrs)] +#![feature(rustc_attrs, lang_items)] #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-3969.rs b/gcc/testsuite/rust/compile/issue-3969.rs index 9608589..6715978 100644 --- a/gcc/testsuite/rust/compile/issue-3969.rs +++ b/gcc/testsuite/rust/compile/issue-3969.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[lang = "sized"] pub trait Sized { // Empty. diff --git a/gcc/testsuite/rust/compile/issue-3971.rs b/gcc/testsuite/rust/compile/issue-3971.rs new file mode 100644 index 0000000..5607d2d --- /dev/null +++ b/gcc/testsuite/rust/compile/issue-3971.rs @@ -0,0 +1,11 @@ +#[lang = "copy"] +trait Copy {} + +// since the macro expansion fails, the current nameres fixpoint error is emitted - just accept it for now +#[derive(Copy)] +// { dg-error "derive may only be applied to structs, enums and unions" "" { target *-*-* } .-1 } +// { dg-excess-errors "could not resolve trait" } + +pub fn check_ge(a: i32, b: i32) -> bool { + a >= b +} diff --git a/gcc/testsuite/rust/compile/issue-402.rs b/gcc/testsuite/rust/compile/issue-402.rs index 2c99fc8..ec398e9 100644 --- a/gcc/testsuite/rust/compile/issue-402.rs +++ b/gcc/testsuite/rust/compile/issue-402.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-407-2.rs b/gcc/testsuite/rust/compile/issue-407-2.rs index 2d60d6d..6dad861 100644 --- a/gcc/testsuite/rust/compile/issue-407-2.rs +++ b/gcc/testsuite/rust/compile/issue-407-2.rs @@ -2,15 +2,8 @@ pub fn loopy() { let mut a = 1; loop { - // { dg-error {failed to parse statement or expression in block expression} "" { target *-*-* } .-1 } if a < 40 { - // { dg-error {failed to parse statement or expression in block expression} "" { target *-*-* } .-1 } a + = 1; // { dg-error "found unexpected token '=' in null denotation" } - // { dg-error {failed to parse statement or expression in block expression} "" { target *-*-* } .-1 } - // { dg-error {failed to parse if body block expression in if expression} "" { target *-*-* } .-2 } - // { dg-error {could not parse loop body in \(infinite\) loop expression} "" { target *-*-* } .-3 } - // { dg-error {unrecognised token 'integer literal' for start of item} "" { target *-*-* } .-4 } - // { dg-error {failed to parse item in crate} "" { target *-*-* } .-5 } } else { break; } diff --git a/gcc/testsuite/rust/compile/issue-407.rs b/gcc/testsuite/rust/compile/issue-407.rs index bd0d306..3a9dbeb 100644 --- a/gcc/testsuite/rust/compile/issue-407.rs +++ b/gcc/testsuite/rust/compile/issue-407.rs @@ -2,7 +2,4 @@ fn test() { let mut a = 1; a + = 1; // { dg-error "found unexpected token '=' in null denotation" } - // { dg-error {failed to parse statement or expression in block expression} "" { target *-*-* } .-1 } - // { dg-error {unrecognised token 'integer literal' for start of item} "" { target *-*-* } .-2 } - // { dg-error {failed to parse item in crate} "" { target *-*-* } .-3 } } diff --git a/gcc/testsuite/rust/compile/issue-4090-1.rs b/gcc/testsuite/rust/compile/issue-4090-1.rs index 9f83835..0411943 100644 --- a/gcc/testsuite/rust/compile/issue-4090-1.rs +++ b/gcc/testsuite/rust/compile/issue-4090-1.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + mod core { mod marker { #[lang = "sized"] diff --git a/gcc/testsuite/rust/compile/issue-4090-2.rs b/gcc/testsuite/rust/compile/issue-4090-2.rs index 75d6b7c..7b76c0a 100644 --- a/gcc/testsuite/rust/compile/issue-4090-2.rs +++ b/gcc/testsuite/rust/compile/issue-4090-2.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + mod core { mod marker { #[lang = "sized"] diff --git a/gcc/testsuite/rust/compile/issue-4140-1.rs b/gcc/testsuite/rust/compile/issue-4140-1.rs new file mode 100644 index 0000000..8b68b3e --- /dev/null +++ b/gcc/testsuite/rust/compile/issue-4140-1.rs @@ -0,0 +1,18 @@ +pub enum TypeCtor { + Slice, + Array, +} +pub struct B<T>(T); + +macro_rules! ty_app { + ($_a:pat) => { + ApplicationTy($ctor) // { dg-error "unexpected token" } + // { dg-error "failed to parse tuple struct items" "" { target *-*-* } .-1 } + }; +} + +pub fn foo(ty: ApplicationTy) { // { dg-error "could not resolve type path 'ApplicationTy'" } + match ty { + ty_app!(bean::Array) => {} + } +} diff --git a/gcc/testsuite/rust/compile/issue-4140-2.rs b/gcc/testsuite/rust/compile/issue-4140-2.rs new file mode 100644 index 0000000..bcccddb --- /dev/null +++ b/gcc/testsuite/rust/compile/issue-4140-2.rs @@ -0,0 +1,12 @@ +macro_rules! ty_app { + ($_a:pat) => { + ($ctor) + }; +} + +pub fn foo() { + match ty { + // { dg-error "Cannot find path" "4140" { target *-*-* } 0 } + ty_app!(bean::Array) => {} // { dg-error "unrecognised token" "4140" { target *-*-* } 0 } + } +} diff --git a/gcc/testsuite/rust/compile/issue-4162.rs b/gcc/testsuite/rust/compile/issue-4162.rs new file mode 100644 index 0000000..ffaa92d --- /dev/null +++ b/gcc/testsuite/rust/compile/issue-4162.rs @@ -0,0 +1,6 @@ +pub fn main() { + while let = 5 + // { dg-error "should be at least 1 pattern" "" { target *-*-* } .-1 } + {} +} + diff --git a/gcc/testsuite/rust/compile/issue-4188.rs b/gcc/testsuite/rust/compile/issue-4188.rs new file mode 100644 index 0000000..32b175d --- /dev/null +++ b/gcc/testsuite/rust/compile/issue-4188.rs @@ -0,0 +1,13 @@ +trait MemoryUnit { + extern "C" fn read_dword(&'s self) -> u16 {} + // { dg-error {failed to resolve lifetime} "" { target *-*-* } .-1 } + // { dg-error {mismatched types} "" { target *-*-* } .-2 } +} + +impl MemoryUnit for MemoryUnit { + extern "C" fn read_dword(&'s self) -> u16 { + let b16 = self.read_word() as u16; + + b16 << 8 + } +} diff --git a/gcc/testsuite/rust/compile/issue-4212.rs b/gcc/testsuite/rust/compile/issue-4212.rs index e068e45..e7bf113 100644 --- a/gcc/testsuite/rust/compile/issue-4212.rs +++ b/gcc/testsuite/rust/compile/issue-4212.rs @@ -1,5 +1,5 @@ #![derive(PartialOrd, PartialEq)] -// { dg-error "derive attribute cannot be used at crate level" "" { target *-*-* } .-1 } +// { dg-error "attribute cannot be used at crate level" "" { target *-*-* } .-1 } pub fn check_ge(a: i32, b: i32) -> bool { a >= b } diff --git a/gcc/testsuite/rust/compile/issue-4219.rs b/gcc/testsuite/rust/compile/issue-4219.rs new file mode 100644 index 0000000..d6e70e9 --- /dev/null +++ b/gcc/testsuite/rust/compile/issue-4219.rs @@ -0,0 +1,5 @@ +#![inline] +// { dg-error "attribute cannot be used at crate level" "" { target *-*-* } .-1 } +pub fn check_ge(a: i32, b: i32) -> bool { + a >= b +} diff --git a/gcc/testsuite/rust/compile/issue-4222.rs b/gcc/testsuite/rust/compile/issue-4222.rs new file mode 100644 index 0000000..b829c6f --- /dev/null +++ b/gcc/testsuite/rust/compile/issue-4222.rs @@ -0,0 +1,3 @@ +#![cfg(false)] +// { dg-error ".false. predicate key cannot be a literal" "" { target *-*-* } .-1 } +fn a() {} diff --git a/gcc/testsuite/rust/compile/issue-4226.rs b/gcc/testsuite/rust/compile/issue-4226.rs new file mode 100644 index 0000000..553faf2 --- /dev/null +++ b/gcc/testsuite/rust/compile/issue-4226.rs @@ -0,0 +1,3 @@ +#[doc] +// { dg-error "attribute must be of the form ...doc.hidden.inline....... or ...doc = string.." "" { target *-*-* } .-1 } +pub fn a(){} diff --git a/gcc/testsuite/rust/compile/issue-4242.rs b/gcc/testsuite/rust/compile/issue-4242.rs new file mode 100644 index 0000000..ecbe258 --- /dev/null +++ b/gcc/testsuite/rust/compile/issue-4242.rs @@ -0,0 +1,10 @@ +#![feature(exclusive_range_pattern)] + +fn main() { + let x = 1; + + match x { + -55..0 => 2, + -99..-55 => 3, + }; +}
\ No newline at end of file diff --git a/gcc/testsuite/rust/compile/issue-4261.rs b/gcc/testsuite/rust/compile/issue-4261.rs new file mode 100644 index 0000000..32beafa --- /dev/null +++ b/gcc/testsuite/rust/compile/issue-4261.rs @@ -0,0 +1,3 @@ +#[cfg()] +// { dg-error "malformed .cfg. attribute input" "" { target *-*-* } .-1 } +fn a() {} diff --git a/gcc/testsuite/rust/compile/issue-4262.rs b/gcc/testsuite/rust/compile/issue-4262.rs new file mode 100644 index 0000000..2ce1cb4 --- /dev/null +++ b/gcc/testsuite/rust/compile/issue-4262.rs @@ -0,0 +1,3 @@ +#[cfg] +// { dg-error ".cfg. is not followed by parentheses" "" { target *-*-* } .-1 } +fn a() {} diff --git a/gcc/testsuite/rust/compile/issue-4267.rs b/gcc/testsuite/rust/compile/issue-4267.rs new file mode 100644 index 0000000..f507748 --- /dev/null +++ b/gcc/testsuite/rust/compile/issue-4267.rs @@ -0,0 +1,3 @@ +#[cfg(a,a)] +// { dg-error "multiple .cfg. predicates are specified" "" { target *-*-* } .-1 } +fn a(){} diff --git a/gcc/testsuite/rust/compile/issue-850.rs b/gcc/testsuite/rust/compile/issue-850.rs index e42b557..c6a5f31 100644 --- a/gcc/testsuite/rust/compile/issue-850.rs +++ b/gcc/testsuite/rust/compile/issue-850.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/issue-855.rs b/gcc/testsuite/rust/compile/issue-855.rs index 9e450dd..3736d08 100644 --- a/gcc/testsuite/rust/compile/issue-855.rs +++ b/gcc/testsuite/rust/compile/issue-855.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + pub use result::Result::{self, Err, Ok}; #[lang = "sized"] diff --git a/gcc/testsuite/rust/compile/issue-867.rs b/gcc/testsuite/rust/compile/issue-867.rs index e5f9b29..1aa29b3 100644 --- a/gcc/testsuite/rust/compile/issue-867.rs +++ b/gcc/testsuite/rust/compile/issue-867.rs @@ -1,8 +1,4 @@ fn main() { let _ = 42; let a = _ + 123; // { dg-error "use of '_' is not allowed on the right-side of an assignment" } - // { dg-error {failed to parse expression in let statement} "" { target *-*-* } .-1 } - // { dg-error {failed to parse statement or expression in block expression} "" { target *-*-* } .-2 } - // { dg-error {unrecognised token '\}' for start of item} "" { target *-*-* } .+2 } - // { dg-error {failed to parse item in crate} "" { target *-*-* } .+1 } } diff --git a/gcc/testsuite/rust/compile/issue-925.rs b/gcc/testsuite/rust/compile/issue-925.rs index 507fe94..34c611b 100644 --- a/gcc/testsuite/rust/compile/issue-925.rs +++ b/gcc/testsuite/rust/compile/issue-925.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/iterators1.rs b/gcc/testsuite/rust/compile/iterators1.rs index 2ea3d74..4bbc47e 100644 --- a/gcc/testsuite/rust/compile/iterators1.rs +++ b/gcc/testsuite/rust/compile/iterators1.rs @@ -1,4 +1,4 @@ -#![feature(intrinsics)] +#![feature(intrinsics, lang_items)] pub use option::Option::{self, None, Some}; pub use result::Result::{self, Err, Ok}; diff --git a/gcc/testsuite/rust/compile/lang_feature_gate.rs b/gcc/testsuite/rust/compile/lang_feature_gate.rs new file mode 100644 index 0000000..4cd485e --- /dev/null +++ b/gcc/testsuite/rust/compile/lang_feature_gate.rs @@ -0,0 +1,2 @@ +#[lang = "sized"] // { dg-error "lang items are subject to change. add .#!.feature.lang_items... to the crate attributes to enable" } +pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/macros/builtin/option_env1.rs b/gcc/testsuite/rust/compile/macros/builtin/option_env1.rs index cf9f65b..b96c1ee 100644 --- a/gcc/testsuite/rust/compile/macros/builtin/option_env1.rs +++ b/gcc/testsuite/rust/compile/macros/builtin/option_env1.rs @@ -1,4 +1,4 @@ -#![feature(rustc_attrs)] +#![feature(rustc_attrs, lang_items)] #[rustc_builtin_macro] macro_rules! option_env { diff --git a/gcc/testsuite/rust/compile/macros/builtin/option_env2.rs b/gcc/testsuite/rust/compile/macros/builtin/option_env2.rs index 63f7254..ef0e563 100644 --- a/gcc/testsuite/rust/compile/macros/builtin/option_env2.rs +++ b/gcc/testsuite/rust/compile/macros/builtin/option_env2.rs @@ -1,4 +1,4 @@ -#![feature(rustc_attrs)] +#![feature(rustc_attrs, lang_items)] #[rustc_builtin_macro] macro_rules! option_env { diff --git a/gcc/testsuite/rust/compile/macros/builtin/option_env3.rs b/gcc/testsuite/rust/compile/macros/builtin/option_env3.rs index ad6dd4c..545f3c8 100644 --- a/gcc/testsuite/rust/compile/macros/builtin/option_env3.rs +++ b/gcc/testsuite/rust/compile/macros/builtin/option_env3.rs @@ -1,4 +1,4 @@ -#![feature(rustc_attrs)] +#![feature(rustc_attrs, lang_items)] #[rustc_builtin_macro] macro_rules! option_env { diff --git a/gcc/testsuite/rust/compile/macros/mbe/macro-issue1053-2.rs b/gcc/testsuite/rust/compile/macros/mbe/macro-issue1053-2.rs index 3145990..fc96caa 100644 --- a/gcc/testsuite/rust/compile/macros/mbe/macro-issue1053-2.rs +++ b/gcc/testsuite/rust/compile/macros/mbe/macro-issue1053-2.rs @@ -1,5 +1,4 @@ macro_rules! m { ($e:expr $(forbidden)*) => {{}}; // { dg-error "token .identifier. is not allowed after .expr. fragment" } // { dg-error "required first macro rule in macro rules definition could not be parsed" "" { target *-*-* } .-1 } - // { dg-error "failed to parse item in crate" "" { target *-*-* } .-2 } } diff --git a/gcc/testsuite/rust/compile/macros/mbe/macro-issue1395-2.rs b/gcc/testsuite/rust/compile/macros/mbe/macro-issue1395-2.rs index 1df6a3a..7ff380d 100644 --- a/gcc/testsuite/rust/compile/macros/mbe/macro-issue1395-2.rs +++ b/gcc/testsuite/rust/compile/macros/mbe/macro-issue1395-2.rs @@ -2,6 +2,5 @@ macro_rules! try { // { dg-error "expecting .identifier. but .try. found" "" { target *-*-* } .-1 } - // { dg-error "failed to parse item in crate" "" { target *-*-* } .-2 } () => {}; } diff --git a/gcc/testsuite/rust/compile/macros/mbe/macro-issue1400.rs b/gcc/testsuite/rust/compile/macros/mbe/macro-issue1400.rs index 5c51b78..0708128 100644 --- a/gcc/testsuite/rust/compile/macros/mbe/macro-issue1400.rs +++ b/gcc/testsuite/rust/compile/macros/mbe/macro-issue1400.rs @@ -1,5 +1,6 @@ // { dg-additional-options "-w" } +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/macros/mbe/macro-issue3608.rs b/gcc/testsuite/rust/compile/macros/mbe/macro-issue3608.rs new file mode 100644 index 0000000..b081d45 --- /dev/null +++ b/gcc/testsuite/rust/compile/macros/mbe/macro-issue3608.rs @@ -0,0 +1,10 @@ +include!(; + +struct Baz { + +impl Bar for + + +fn main() { )// { dg-error "unexpected closing delimiter .\\)." } + // { dg-error "unexpected token .end of file. - expecting closing delimiter .\}. .for a delimited token tree." "" { target *-*-* } .+2 } + // { dg-error "unexpected token .end of file. - expecting closing delimiter .\\). .for a macro invocation semi." "" { target *-*-* } .+1 } diff --git a/gcc/testsuite/rust/compile/macros/mbe/macro-issue3708.rs b/gcc/testsuite/rust/compile/macros/mbe/macro-issue3708.rs index bcbc8dd..bbf0276 100644 --- a/gcc/testsuite/rust/compile/macros/mbe/macro-issue3708.rs +++ b/gcc/testsuite/rust/compile/macros/mbe/macro-issue3708.rs @@ -1,4 +1,5 @@ // { dg-additional-options "-frust-compile-until=lowering" } +#![feature(lang_items)] macro_rules! impl_fn_for_zst { ($( diff --git a/gcc/testsuite/rust/compile/macros/mbe/macro-issue3709-2.rs b/gcc/testsuite/rust/compile/macros/mbe/macro-issue3709-2.rs index 47514f1..4d76497 100644 --- a/gcc/testsuite/rust/compile/macros/mbe/macro-issue3709-2.rs +++ b/gcc/testsuite/rust/compile/macros/mbe/macro-issue3709-2.rs @@ -1,4 +1,5 @@ // { dg-additional-options "-frust-compile-until=lowering" } +#![feature(lang_items)] macro_rules! impl_fn_for_zst { ($( diff --git a/gcc/testsuite/rust/compile/macros/mbe/macro20.rs b/gcc/testsuite/rust/compile/macros/mbe/macro20.rs index e03455b..4481834 100644 --- a/gcc/testsuite/rust/compile/macros/mbe/macro20.rs +++ b/gcc/testsuite/rust/compile/macros/mbe/macro20.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/macros/mbe/macro23.rs b/gcc/testsuite/rust/compile/macros/mbe/macro23.rs index a6a2afd..3add715 100644 --- a/gcc/testsuite/rust/compile/macros/mbe/macro23.rs +++ b/gcc/testsuite/rust/compile/macros/mbe/macro23.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/macros/mbe/macro27.rs b/gcc/testsuite/rust/compile/macros/mbe/macro27.rs index ee7833b..b9f392f 100644 --- a/gcc/testsuite/rust/compile/macros/mbe/macro27.rs +++ b/gcc/testsuite/rust/compile/macros/mbe/macro27.rs @@ -2,7 +2,6 @@ macro_rules! m { ($a:expr tok) => { // { dg-error "token .identifier. is not allowed after .expr. fragment" "" { target *-*-* } .-1 } // { dg-error "required first macro rule in macro rules definition could not be parsed" "" { target *-*-* } .-2 } - // { dg-error "failed to parse item in crate" "" { target *-*-* } .-3 } $a }; } diff --git a/gcc/testsuite/rust/compile/macros/mbe/macro28.rs b/gcc/testsuite/rust/compile/macros/mbe/macro28.rs index 8002f28..bbe55a7 100644 --- a/gcc/testsuite/rust/compile/macros/mbe/macro28.rs +++ b/gcc/testsuite/rust/compile/macros/mbe/macro28.rs @@ -2,7 +2,6 @@ macro_rules! m { ($a:expr $(tok $es:expr)*) => { // { dg-error "token .identifier. is not allowed after .expr. fragment" "" { target *-*-* } .-1 } // { dg-error "required first macro rule in macro rules definition could not be parsed" "" { target *-*-* } .-2 } - // { dg-error "failed to parse item in crate" "" { target *-*-* } .-3 } $a }; } diff --git a/gcc/testsuite/rust/compile/macros/mbe/macro29.rs b/gcc/testsuite/rust/compile/macros/mbe/macro29.rs index 39f5021..a6c9eb5 100644 --- a/gcc/testsuite/rust/compile/macros/mbe/macro29.rs +++ b/gcc/testsuite/rust/compile/macros/mbe/macro29.rs @@ -2,7 +2,6 @@ macro_rules! m { ($($es:expr)* tok) => { // { dg-error "token .identifier. is not allowed after .expr. fragment" "" { target *-*-* } .-1 } // { dg-error "required first macro rule in macro rules definition could not be parsed" "" { target *-*-* } .-2 } - // { dg-error "failed to parse item in crate" "" { target *-*-* } .-3 } $a }; } diff --git a/gcc/testsuite/rust/compile/macros/mbe/macro30.rs b/gcc/testsuite/rust/compile/macros/mbe/macro30.rs index 35064bc0..097272e 100644 --- a/gcc/testsuite/rust/compile/macros/mbe/macro30.rs +++ b/gcc/testsuite/rust/compile/macros/mbe/macro30.rs @@ -2,7 +2,6 @@ macro_rules! m { ($e:expr $f:expr) => { // { dg-error "fragment is not allowed after .expr. fragment" "" { target *-*-* } .-1 } // { dg-error "required first macro rule in macro rules definition could not be parsed" "" { target *-*-* } .-2 } - // { dg-error "failed to parse item in crate" "" { target *-*-* } .-3 } $e }; } diff --git a/gcc/testsuite/rust/compile/macros/mbe/macro31.rs b/gcc/testsuite/rust/compile/macros/mbe/macro31.rs index 6674a5f..30fae48 100644 --- a/gcc/testsuite/rust/compile/macros/mbe/macro31.rs +++ b/gcc/testsuite/rust/compile/macros/mbe/macro31.rs @@ -2,7 +2,6 @@ macro_rules! m { ($($e:expr)* $($f:expr)*) => { // { dg-error "fragment is not allowed after .expr. fragment" "" { target *-*-* } .-1 } // { dg-error "required first macro rule in macro rules definition could not be parsed" "" { target *-*-* } .-2 } - // { dg-error "failed to parse item in crate" "" { target *-*-* } .-3 } $e }; } diff --git a/gcc/testsuite/rust/compile/macros/mbe/macro33.rs b/gcc/testsuite/rust/compile/macros/mbe/macro33.rs index 2ccd33e..a73d245 100644 --- a/gcc/testsuite/rust/compile/macros/mbe/macro33.rs +++ b/gcc/testsuite/rust/compile/macros/mbe/macro33.rs @@ -1,5 +1,4 @@ macro_rules! forbidden_frag { ($t:ty $not_block:ident) => {{}}; // { dg-error "fragment specifier .ident. is not allowed after .ty. fragments" } // { dg-error "required first macro rule in macro rules definition could not be parsed" "" { target *-*-* } .-1 } - // { dg-error "failed to parse item in crate" "" { target *-*-* } .-2 } } diff --git a/gcc/testsuite/rust/compile/macros/mbe/macro35.rs b/gcc/testsuite/rust/compile/macros/mbe/macro35.rs index 07b157b..8c295d4 100644 --- a/gcc/testsuite/rust/compile/macros/mbe/macro35.rs +++ b/gcc/testsuite/rust/compile/macros/mbe/macro35.rs @@ -3,5 +3,4 @@ macro_rules! inside_matcher { // { dg-error "failed to parse macro matcher" "" { target *-*-* } .-1 } // { dg-error "failed to parse macro match" "" { target *-*-* } .-2 } // { dg-error "required first macro rule" "" { target *-*-* } .-3 } - // { dg-error "failed to parse item in crate" "" { target *-*-* } .-4 } } diff --git a/gcc/testsuite/rust/compile/macros/mbe/macro37.rs b/gcc/testsuite/rust/compile/macros/mbe/macro37.rs index 5713d90..26f79d8 100644 --- a/gcc/testsuite/rust/compile/macros/mbe/macro37.rs +++ b/gcc/testsuite/rust/compile/macros/mbe/macro37.rs @@ -1,5 +1,4 @@ macro_rules! invalid_after_zeroable { ($e:expr $(,)* forbidden) => {{}}; // { dg-error "token .identifier. is not allowed after .expr. fragment" } // { dg-error "required first macro rule" "" { target *-*-* } .-1 } - // { dg-error "failed to parse item in crate" "" { target *-*-* } .-2 } } diff --git a/gcc/testsuite/rust/compile/macros/mbe/macro38.rs b/gcc/testsuite/rust/compile/macros/mbe/macro38.rs index eb294ae..e297492 100644 --- a/gcc/testsuite/rust/compile/macros/mbe/macro38.rs +++ b/gcc/testsuite/rust/compile/macros/mbe/macro38.rs @@ -1,5 +1,4 @@ macro_rules! invalid_after_zeroable_multi { ($e:expr $(,)? $(;)* $(=>)? forbidden) => {{}}; // { dg-error "token .identifier. is not allowed after .expr. fragment" } // { dg-error "required first macro rule" "" { target *-*-* } .-1 } - // { dg-error "failed to parse item in crate" "" { target *-*-* } .-2 } } diff --git a/gcc/testsuite/rust/compile/macros/mbe/macro39.rs b/gcc/testsuite/rust/compile/macros/mbe/macro39.rs index f5c498c..867ec21 100644 --- a/gcc/testsuite/rust/compile/macros/mbe/macro39.rs +++ b/gcc/testsuite/rust/compile/macros/mbe/macro39.rs @@ -1,5 +1,4 @@ macro_rules! m { ($e:expr (, parenthesis_forbidden)) => {{}}; // { dg-error "token .\\(. at start of matcher is not allowed after .expr. fragment" } // { dg-error "required first macro rule" "" { target *-*-* } .-1 } - // { dg-error "failed to parse item in crate" "" { target *-*-* } .-2 } } diff --git a/gcc/testsuite/rust/compile/macros/mbe/macro40.rs b/gcc/testsuite/rust/compile/macros/mbe/macro40.rs index f9d048e..39cbf5a 100644 --- a/gcc/testsuite/rust/compile/macros/mbe/macro40.rs +++ b/gcc/testsuite/rust/compile/macros/mbe/macro40.rs @@ -1,5 +1,6 @@ // { dg-additional-options "-w" } +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/macros/mbe/macro48.rs b/gcc/testsuite/rust/compile/macros/mbe/macro48.rs index 6b3b369..aff5d19 100644 --- a/gcc/testsuite/rust/compile/macros/mbe/macro48.rs +++ b/gcc/testsuite/rust/compile/macros/mbe/macro48.rs @@ -1,8 +1,7 @@ // Check that "priv" is not in the follow set of :vis. -// { dg-error "token .priv. is not allowed after .vis. fragment" "#359" { target *-*-* } .+4 } -// { dg-error "required first macro rule in macro rules definition could not be parsed" "" { target *-*-* } .+3 } -// { dg-error "failed to parse item in crate" "" { target *-*-* } .+2 } +// { dg-error "token .priv. is not allowed after .vis. fragment" "#359" { target *-*-* } .+3 } +// { dg-error "required first macro rule in macro rules definition could not be parsed" "" { target *-*-* } .+2 } macro_rules! my_mac { ($v:vis priv) => { $v struct Foo(i32); diff --git a/gcc/testsuite/rust/compile/macros/mbe/macro49.rs b/gcc/testsuite/rust/compile/macros/mbe/macro49.rs index 9d63ff1..850cf44 100644 --- a/gcc/testsuite/rust/compile/macros/mbe/macro49.rs +++ b/gcc/testsuite/rust/compile/macros/mbe/macro49.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/macros/mbe/macro54.rs b/gcc/testsuite/rust/compile/macros/mbe/macro54.rs index d3b3f80..1cc4b3d 100644 --- a/gcc/testsuite/rust/compile/macros/mbe/macro54.rs +++ b/gcc/testsuite/rust/compile/macros/mbe/macro54.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/multiple_bindings1.rs b/gcc/testsuite/rust/compile/multiple_bindings1.rs index 8a2e18c..c433a0d 100644 --- a/gcc/testsuite/rust/compile/multiple_bindings1.rs +++ b/gcc/testsuite/rust/compile/multiple_bindings1.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/name_resolution2.rs b/gcc/testsuite/rust/compile/name_resolution2.rs index 564c5d2..997bf55 100644 --- a/gcc/testsuite/rust/compile/name_resolution2.rs +++ b/gcc/testsuite/rust/compile/name_resolution2.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/name_resolution4.rs b/gcc/testsuite/rust/compile/name_resolution4.rs index 0fc72f6..2da1aae 100644 --- a/gcc/testsuite/rust/compile/name_resolution4.rs +++ b/gcc/testsuite/rust/compile/name_resolution4.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/nested_generic.rs b/gcc/testsuite/rust/compile/nested_generic.rs index 322b3c5..b7dae27 100644 --- a/gcc/testsuite/rust/compile/nested_generic.rs +++ b/gcc/testsuite/rust/compile/nested_generic.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/parse_associated_type_as_generic_arg.rs b/gcc/testsuite/rust/compile/parse_associated_type_as_generic_arg.rs index ba1042a..9190c40 100644 --- a/gcc/testsuite/rust/compile/parse_associated_type_as_generic_arg.rs +++ b/gcc/testsuite/rust/compile/parse_associated_type_as_generic_arg.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/parse_associated_type_as_generic_arg2.rs b/gcc/testsuite/rust/compile/parse_associated_type_as_generic_arg2.rs index a2662c2..c50823b 100644 --- a/gcc/testsuite/rust/compile/parse_associated_type_as_generic_arg2.rs +++ b/gcc/testsuite/rust/compile/parse_associated_type_as_generic_arg2.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/parse_associated_type_as_generic_arg3.rs b/gcc/testsuite/rust/compile/parse_associated_type_as_generic_arg3.rs index b4342e8..fa65b55 100644 --- a/gcc/testsuite/rust/compile/parse_associated_type_as_generic_arg3.rs +++ b/gcc/testsuite/rust/compile/parse_associated_type_as_generic_arg3.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/parse_closure_bind.rs b/gcc/testsuite/rust/compile/parse_closure_bind.rs index 1e08197..4513846 100644 --- a/gcc/testsuite/rust/compile/parse_closure_bind.rs +++ b/gcc/testsuite/rust/compile/parse_closure_bind.rs @@ -1,5 +1,6 @@ // { dg-additional-options "-frust-compile-until=typecheck" } // TODO: this should typecheck +#![feature(lang_items)] #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/parse_complex_generic_application.rs b/gcc/testsuite/rust/compile/parse_complex_generic_application.rs index 02877dd..b678cb2 100644 --- a/gcc/testsuite/rust/compile/parse_complex_generic_application.rs +++ b/gcc/testsuite/rust/compile/parse_complex_generic_application.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/parse_complex_generic_application2.rs b/gcc/testsuite/rust/compile/parse_complex_generic_application2.rs index 5ebc94f..41ce21a 100644 --- a/gcc/testsuite/rust/compile/parse_complex_generic_application2.rs +++ b/gcc/testsuite/rust/compile/parse_complex_generic_application2.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/parse_invalid_specialization.rs b/gcc/testsuite/rust/compile/parse_invalid_specialization.rs index 1ce7384..68e2120 100644 --- a/gcc/testsuite/rust/compile/parse_invalid_specialization.rs +++ b/gcc/testsuite/rust/compile/parse_invalid_specialization.rs @@ -1,4 +1,3 @@ default fn f() { // { dg-error ".default. is only allowed on items within .impl. blocks" "" { target *-*-* } .-1 } - // { dg-error "failed to parse item in crate" "" { target *-*-* } .-2 } } diff --git a/gcc/testsuite/rust/compile/parse_simple_path_fail_1.rs b/gcc/testsuite/rust/compile/parse_simple_path_fail_1.rs index c112e40..1d52abb 100644 --- a/gcc/testsuite/rust/compile/parse_simple_path_fail_1.rs +++ b/gcc/testsuite/rust/compile/parse_simple_path_fail_1.rs @@ -1,3 +1,2 @@ pub(in crate::) struct S; // { dg-error "expecting ... but .::. found" "" { target *-*-* } .-1 } -// { dg-error "failed to parse item in crate" "" { target *-*-* } .-2 } diff --git a/gcc/testsuite/rust/compile/parse_simple_path_fail_2.rs b/gcc/testsuite/rust/compile/parse_simple_path_fail_2.rs index 94c49c3..1205f19 100644 --- a/gcc/testsuite/rust/compile/parse_simple_path_fail_2.rs +++ b/gcc/testsuite/rust/compile/parse_simple_path_fail_2.rs @@ -5,5 +5,3 @@ mod A { use A{B}; // { dg-error "unexpected token" "" { target *-*-* } .-1 } // { dg-error "could not parse use tree" "" { target *-*-* } .-2 } -// { dg-error "failed to parse item in crate" "" { target *-*-* } 10 } -// ^^^ TODO: should the above error happen at line 10? diff --git a/gcc/testsuite/rust/compile/path_as_generic_arg.rs b/gcc/testsuite/rust/compile/path_as_generic_arg.rs index 21baf80..aff4ce2 100644 --- a/gcc/testsuite/rust/compile/path_as_generic_arg.rs +++ b/gcc/testsuite/rust/compile/path_as_generic_arg.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/privacy4.rs b/gcc/testsuite/rust/compile/privacy4.rs index 7865f6a..5da43ff 100644 --- a/gcc/testsuite/rust/compile/privacy4.rs +++ b/gcc/testsuite/rust/compile/privacy4.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/privacy6.rs b/gcc/testsuite/rust/compile/privacy6.rs index e1e0fac..72d1a3b 100644 --- a/gcc/testsuite/rust/compile/privacy6.rs +++ b/gcc/testsuite/rust/compile/privacy6.rs @@ -1,5 +1,6 @@ // { dg-additional-options "-w" } +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/raw-byte-string-loc.rs b/gcc/testsuite/rust/compile/raw-byte-string-loc.rs index b71b6e5..6082118 100644 --- a/gcc/testsuite/rust/compile/raw-byte-string-loc.rs +++ b/gcc/testsuite/rust/compile/raw-byte-string-loc.rs @@ -3,4 +3,3 @@ const X: &'static u8 = br#"12 BREAK // { dg-error "unrecognised token" "" { target *-*-* } .-1 } -// { dg-error "failed to parse item" "" { target *-*-* } .-2 } diff --git a/gcc/testsuite/rust/compile/raw-string-loc.rs b/gcc/testsuite/rust/compile/raw-string-loc.rs index 26331ea..9e32790 100644 --- a/gcc/testsuite/rust/compile/raw-string-loc.rs +++ b/gcc/testsuite/rust/compile/raw-string-loc.rs @@ -3,4 +3,3 @@ const X: &'static str = r#"12 BREAK // { dg-error "unrecognised token" "" { target *-*-* } .-1 } -// { dg-error "failed to parse item" "" { target *-*-* } .-2 } diff --git a/gcc/testsuite/rust/compile/raw_ref_op_invalid.rs b/gcc/testsuite/rust/compile/raw_ref_op_invalid.rs index 90e169f..42ec63d 100644 --- a/gcc/testsuite/rust/compile/raw_ref_op_invalid.rs +++ b/gcc/testsuite/rust/compile/raw_ref_op_invalid.rs @@ -7,6 +7,4 @@ pub struct Toto { pub fn test(mut toto: Toto) { let _c = &raw toto.u; //{ dg-error "expecting .;. but .identifier. found" "" { target *-*-* } } - //{ dg-excess-errors "Additional errors for parent items" { target *-*-* } } - } diff --git a/gcc/testsuite/rust/compile/self_const_ptr.rs b/gcc/testsuite/rust/compile/self_const_ptr.rs index 014fe1b..51e339e 100644 --- a/gcc/testsuite/rust/compile/self_const_ptr.rs +++ b/gcc/testsuite/rust/compile/self_const_ptr.rs @@ -4,5 +4,4 @@ impl MyStruct { pub fn do_something(*const self) {} // { dg-error "cannot pass .self. by raw pointer" "" { target *-*-* } .-1 } // { dg-error "failed to parse inherent impl item in inherent impl" "" { target *-*-* } .-2 } - // { dg-error "failed to parse item in crate" "" { target *-*-* } .-3 } } diff --git a/gcc/testsuite/rust/compile/self_mut_ptr.rs b/gcc/testsuite/rust/compile/self_mut_ptr.rs index 2a127b7..c986ef6 100644 --- a/gcc/testsuite/rust/compile/self_mut_ptr.rs +++ b/gcc/testsuite/rust/compile/self_mut_ptr.rs @@ -4,5 +4,4 @@ impl MyStruct { pub fn do_something(*mut self) {} // { dg-error "cannot pass .self. by raw pointer" "" { target *-*-* } .-1 } // { dg-error "failed to parse inherent impl item in inherent impl" "" { target *-*-* } .-2 } - // { dg-error "failed to parse item in crate" "" { target *-*-* } .-3 } } diff --git a/gcc/testsuite/rust/compile/self_ptr.rs b/gcc/testsuite/rust/compile/self_ptr.rs index fd7ff6c..2b3128c 100644 --- a/gcc/testsuite/rust/compile/self_ptr.rs +++ b/gcc/testsuite/rust/compile/self_ptr.rs @@ -4,5 +4,4 @@ impl MyStruct { pub fn do_something(*self) {} // { dg-error "cannot pass .self. by raw pointer" "" { target *-*-* } .-1 } // { dg-error "failed to parse inherent impl item in inherent impl" "" { target *-*-* } .-2 } - // { dg-error "failed to parse item in crate" "" { target *-*-* } .-3 } } diff --git a/gcc/testsuite/rust/compile/silly-order-bug.rs b/gcc/testsuite/rust/compile/silly-order-bug.rs index 0d9cf1d..cdc8b2f 100644 --- a/gcc/testsuite/rust/compile/silly-order-bug.rs +++ b/gcc/testsuite/rust/compile/silly-order-bug.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/sizeof-stray-infer-var-bug.rs b/gcc/testsuite/rust/compile/sizeof-stray-infer-var-bug.rs index c46a97d..7377a26 100644 --- a/gcc/testsuite/rust/compile/sizeof-stray-infer-var-bug.rs +++ b/gcc/testsuite/rust/compile/sizeof-stray-infer-var-bug.rs @@ -1,5 +1,6 @@ #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/static_var1.rs b/gcc/testsuite/rust/compile/static_var1.rs index b3b5751..fdd2876 100644 --- a/gcc/testsuite/rust/compile/static_var1.rs +++ b/gcc/testsuite/rust/compile/static_var1.rs @@ -1,5 +1,5 @@ static x = 3; // { dg-error "expecting ':' but '=' found" } -fn main() {// { dg-error "failed to parse item in crate" } +fn main() { let y = x +1; } diff --git a/gcc/testsuite/rust/compile/stmt_with_block_dot.rs b/gcc/testsuite/rust/compile/stmt_with_block_dot.rs index c7037af..5a3721e 100644 --- a/gcc/testsuite/rust/compile/stmt_with_block_dot.rs +++ b/gcc/testsuite/rust/compile/stmt_with_block_dot.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/structural-eq-peq.rs b/gcc/testsuite/rust/compile/structural-eq-peq.rs index d04c295..9bdc98d3d 100644 --- a/gcc/testsuite/rust/compile/structural-eq-peq.rs +++ b/gcc/testsuite/rust/compile/structural-eq-peq.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[lang = "structural_peq"] pub trait StructuralPartialEq { // Empty. diff --git a/gcc/testsuite/rust/compile/torture/associated_types1.rs b/gcc/testsuite/rust/compile/torture/associated_types1.rs index 2be7037..4fc76af 100644 --- a/gcc/testsuite/rust/compile/torture/associated_types1.rs +++ b/gcc/testsuite/rust/compile/torture/associated_types1.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/forward_decl_5.rs b/gcc/testsuite/rust/compile/torture/forward_decl_5.rs index 670ab0a..9d0660c 100644 --- a/gcc/testsuite/rust/compile/torture/forward_decl_5.rs +++ b/gcc/testsuite/rust/compile/torture/forward_decl_5.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/generics1.rs b/gcc/testsuite/rust/compile/torture/generics1.rs index b32eddd..1d4c0f2 100644 --- a/gcc/testsuite/rust/compile/torture/generics1.rs +++ b/gcc/testsuite/rust/compile/torture/generics1.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/generics10.rs b/gcc/testsuite/rust/compile/torture/generics10.rs index 1a17e84..af12d7d 100644 --- a/gcc/testsuite/rust/compile/torture/generics10.rs +++ b/gcc/testsuite/rust/compile/torture/generics10.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/generics11.rs b/gcc/testsuite/rust/compile/torture/generics11.rs index 9d5e719..0e2939f 100644 --- a/gcc/testsuite/rust/compile/torture/generics11.rs +++ b/gcc/testsuite/rust/compile/torture/generics11.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/generics12.rs b/gcc/testsuite/rust/compile/torture/generics12.rs index 9347b24..cf841dd 100644 --- a/gcc/testsuite/rust/compile/torture/generics12.rs +++ b/gcc/testsuite/rust/compile/torture/generics12.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/generics13.rs b/gcc/testsuite/rust/compile/torture/generics13.rs index 00b26ec..b83521f 100644 --- a/gcc/testsuite/rust/compile/torture/generics13.rs +++ b/gcc/testsuite/rust/compile/torture/generics13.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/generics14.rs b/gcc/testsuite/rust/compile/torture/generics14.rs index 5be39eb..bf5b2955 100644 --- a/gcc/testsuite/rust/compile/torture/generics14.rs +++ b/gcc/testsuite/rust/compile/torture/generics14.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/generics15.rs b/gcc/testsuite/rust/compile/torture/generics15.rs index 2b1f31c..ab65007 100644 --- a/gcc/testsuite/rust/compile/torture/generics15.rs +++ b/gcc/testsuite/rust/compile/torture/generics15.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/generics16.rs b/gcc/testsuite/rust/compile/torture/generics16.rs index a9fa2eb..0701c94 100644 --- a/gcc/testsuite/rust/compile/torture/generics16.rs +++ b/gcc/testsuite/rust/compile/torture/generics16.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/generics17.rs b/gcc/testsuite/rust/compile/torture/generics17.rs index 9a04158..a52de9b 100644 --- a/gcc/testsuite/rust/compile/torture/generics17.rs +++ b/gcc/testsuite/rust/compile/torture/generics17.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/generics18.rs b/gcc/testsuite/rust/compile/torture/generics18.rs index cb7b1fa..8a239f2 100644 --- a/gcc/testsuite/rust/compile/torture/generics18.rs +++ b/gcc/testsuite/rust/compile/torture/generics18.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/generics19.rs b/gcc/testsuite/rust/compile/torture/generics19.rs index c98599f..4b372b6 100644 --- a/gcc/testsuite/rust/compile/torture/generics19.rs +++ b/gcc/testsuite/rust/compile/torture/generics19.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/generics2.rs b/gcc/testsuite/rust/compile/torture/generics2.rs index e720b422..61fd574 100644 --- a/gcc/testsuite/rust/compile/torture/generics2.rs +++ b/gcc/testsuite/rust/compile/torture/generics2.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/generics20.rs b/gcc/testsuite/rust/compile/torture/generics20.rs index 92b022e..985189e 100644 --- a/gcc/testsuite/rust/compile/torture/generics20.rs +++ b/gcc/testsuite/rust/compile/torture/generics20.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/generics21.rs b/gcc/testsuite/rust/compile/torture/generics21.rs index 1c74ea4..2986e69 100644 --- a/gcc/testsuite/rust/compile/torture/generics21.rs +++ b/gcc/testsuite/rust/compile/torture/generics21.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/generics22.rs b/gcc/testsuite/rust/compile/torture/generics22.rs index b838e6e..b5c5f9a 100644 --- a/gcc/testsuite/rust/compile/torture/generics22.rs +++ b/gcc/testsuite/rust/compile/torture/generics22.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/generics23.rs b/gcc/testsuite/rust/compile/torture/generics23.rs index bf4dfb5..d0da16f 100644 --- a/gcc/testsuite/rust/compile/torture/generics23.rs +++ b/gcc/testsuite/rust/compile/torture/generics23.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/generics24.rs b/gcc/testsuite/rust/compile/torture/generics24.rs index ce782c0..8655ca5 100644 --- a/gcc/testsuite/rust/compile/torture/generics24.rs +++ b/gcc/testsuite/rust/compile/torture/generics24.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/generics25.rs b/gcc/testsuite/rust/compile/torture/generics25.rs index 4fe952a..a711e21 100644 --- a/gcc/testsuite/rust/compile/torture/generics25.rs +++ b/gcc/testsuite/rust/compile/torture/generics25.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/generics26.rs b/gcc/testsuite/rust/compile/torture/generics26.rs index 0111add..3a5dcac 100644 --- a/gcc/testsuite/rust/compile/torture/generics26.rs +++ b/gcc/testsuite/rust/compile/torture/generics26.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/generics27.rs b/gcc/testsuite/rust/compile/torture/generics27.rs index c4ca4db..db8fe76 100644 --- a/gcc/testsuite/rust/compile/torture/generics27.rs +++ b/gcc/testsuite/rust/compile/torture/generics27.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/generics28.rs b/gcc/testsuite/rust/compile/torture/generics28.rs index c1ffd9c..f815ef5 100644 --- a/gcc/testsuite/rust/compile/torture/generics28.rs +++ b/gcc/testsuite/rust/compile/torture/generics28.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/generics29.rs b/gcc/testsuite/rust/compile/torture/generics29.rs index baf53e4..4a35b3b 100644 --- a/gcc/testsuite/rust/compile/torture/generics29.rs +++ b/gcc/testsuite/rust/compile/torture/generics29.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/generics3.rs b/gcc/testsuite/rust/compile/torture/generics3.rs index 4c5dabc..ae12d00 100644 --- a/gcc/testsuite/rust/compile/torture/generics3.rs +++ b/gcc/testsuite/rust/compile/torture/generics3.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/generics30.rs b/gcc/testsuite/rust/compile/torture/generics30.rs index a84f140..f592e77 100644 --- a/gcc/testsuite/rust/compile/torture/generics30.rs +++ b/gcc/testsuite/rust/compile/torture/generics30.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/generics31.rs b/gcc/testsuite/rust/compile/torture/generics31.rs index f8e2f36..a393a4c 100644 --- a/gcc/testsuite/rust/compile/torture/generics31.rs +++ b/gcc/testsuite/rust/compile/torture/generics31.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/generics32.rs b/gcc/testsuite/rust/compile/torture/generics32.rs index 49c4539..f332a77 100644 --- a/gcc/testsuite/rust/compile/torture/generics32.rs +++ b/gcc/testsuite/rust/compile/torture/generics32.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/generics4.rs b/gcc/testsuite/rust/compile/torture/generics4.rs index 54bdf56..3d4875b 100644 --- a/gcc/testsuite/rust/compile/torture/generics4.rs +++ b/gcc/testsuite/rust/compile/torture/generics4.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/generics5.rs b/gcc/testsuite/rust/compile/torture/generics5.rs index df27fdd..3fcf13b 100644 --- a/gcc/testsuite/rust/compile/torture/generics5.rs +++ b/gcc/testsuite/rust/compile/torture/generics5.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/generics6.rs b/gcc/testsuite/rust/compile/torture/generics6.rs index 16b85fb..79d1ab8 100644 --- a/gcc/testsuite/rust/compile/torture/generics6.rs +++ b/gcc/testsuite/rust/compile/torture/generics6.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/generics7.rs b/gcc/testsuite/rust/compile/torture/generics7.rs index 66454d6..0eb1db1 100644 --- a/gcc/testsuite/rust/compile/torture/generics7.rs +++ b/gcc/testsuite/rust/compile/torture/generics7.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/generics8.rs b/gcc/testsuite/rust/compile/torture/generics8.rs index bc6d09b..b46b1a2 100644 --- a/gcc/testsuite/rust/compile/torture/generics8.rs +++ b/gcc/testsuite/rust/compile/torture/generics8.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/generics9.rs b/gcc/testsuite/rust/compile/torture/generics9.rs index 3d9d748..fa926ee 100644 --- a/gcc/testsuite/rust/compile/torture/generics9.rs +++ b/gcc/testsuite/rust/compile/torture/generics9.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/identifier-missing-impl-1.rs b/gcc/testsuite/rust/compile/torture/identifier-missing-impl-1.rs index 2389fa5..8a9b031 100644 --- a/gcc/testsuite/rust/compile/torture/identifier-missing-impl-1.rs +++ b/gcc/testsuite/rust/compile/torture/identifier-missing-impl-1.rs @@ -4,7 +4,6 @@ impl I { fn () { // { dg-error {expecting 'identifier' but '\(' found} "" { target *-*-* } .-1 } // { dg-error {failed to parse inherent impl item in inherent impl} "" { target *-*-* } .-2 } - // { dg-error {failed to parse item in crate} "" { target *-*-* } .-3 } } } diff --git a/gcc/testsuite/rust/compile/torture/intrinsics-2.rs b/gcc/testsuite/rust/compile/torture/intrinsics-2.rs index a6cd8f8..23151b1 100644 --- a/gcc/testsuite/rust/compile/torture/intrinsics-2.rs +++ b/gcc/testsuite/rust/compile/torture/intrinsics-2.rs @@ -2,6 +2,7 @@ #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/intrinsics-4.rs b/gcc/testsuite/rust/compile/torture/intrinsics-4.rs index 3d26e99..51fc3c1 100644 --- a/gcc/testsuite/rust/compile/torture/intrinsics-4.rs +++ b/gcc/testsuite/rust/compile/torture/intrinsics-4.rs @@ -1,5 +1,6 @@ #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/intrinsics-5.rs b/gcc/testsuite/rust/compile/torture/intrinsics-5.rs index 7a62cca..a015c2a 100644 --- a/gcc/testsuite/rust/compile/torture/intrinsics-5.rs +++ b/gcc/testsuite/rust/compile/torture/intrinsics-5.rs @@ -1,5 +1,6 @@ #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/intrinsics-6.rs b/gcc/testsuite/rust/compile/torture/intrinsics-6.rs index 0e26345..12821a0 100644 --- a/gcc/testsuite/rust/compile/torture/intrinsics-6.rs +++ b/gcc/testsuite/rust/compile/torture/intrinsics-6.rs @@ -1,5 +1,6 @@ #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/intrinsics-7.rs b/gcc/testsuite/rust/compile/torture/intrinsics-7.rs index 754aacb..6dc9187c 100644 --- a/gcc/testsuite/rust/compile/torture/intrinsics-7.rs +++ b/gcc/testsuite/rust/compile/torture/intrinsics-7.rs @@ -1,5 +1,6 @@ #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/intrinsics-8.rs b/gcc/testsuite/rust/compile/torture/intrinsics-8.rs index b9bd83c..22b1012 100644 --- a/gcc/testsuite/rust/compile/torture/intrinsics-8.rs +++ b/gcc/testsuite/rust/compile/torture/intrinsics-8.rs @@ -1,5 +1,6 @@ #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/issue-1024.rs b/gcc/testsuite/rust/compile/torture/issue-1024.rs index 819e329..c732565 100644 --- a/gcc/testsuite/rust/compile/torture/issue-1024.rs +++ b/gcc/testsuite/rust/compile/torture/issue-1024.rs @@ -1,5 +1,6 @@ #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/issue-1075.rs b/gcc/testsuite/rust/compile/torture/issue-1075.rs index d23774b..5584678 100644 --- a/gcc/testsuite/rust/compile/torture/issue-1075.rs +++ b/gcc/testsuite/rust/compile/torture/issue-1075.rs @@ -1,6 +1,7 @@ // { dg-additional-options "-w" } #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/issue-1432.rs b/gcc/testsuite/rust/compile/torture/issue-1432.rs index 5b526fd..df1b527 100644 --- a/gcc/testsuite/rust/compile/torture/issue-1432.rs +++ b/gcc/testsuite/rust/compile/torture/issue-1432.rs @@ -1,6 +1,7 @@ // { dg-additional-options "-w" } #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/issue-1555.rs b/gcc/testsuite/rust/compile/torture/issue-1555.rs index bee8952..b2f675a 100644 --- a/gcc/testsuite/rust/compile/torture/issue-1555.rs +++ b/gcc/testsuite/rust/compile/torture/issue-1555.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/issue-368.rs b/gcc/testsuite/rust/compile/torture/issue-368.rs index 775e70d..a657a7c 100644 --- a/gcc/testsuite/rust/compile/torture/issue-368.rs +++ b/gcc/testsuite/rust/compile/torture/issue-368.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/issue-808.rs b/gcc/testsuite/rust/compile/torture/issue-808.rs index 4186d54..f739d22 100644 --- a/gcc/testsuite/rust/compile/torture/issue-808.rs +++ b/gcc/testsuite/rust/compile/torture/issue-808.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/issue-862.rs b/gcc/testsuite/rust/compile/torture/issue-862.rs index d9ac912..88d6d65 100644 --- a/gcc/testsuite/rust/compile/torture/issue-862.rs +++ b/gcc/testsuite/rust/compile/torture/issue-862.rs @@ -1,5 +1,6 @@ // { dg-additional-options "-w" } +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/issue-893-2.rs b/gcc/testsuite/rust/compile/torture/issue-893-2.rs index 3df27b8..2e4ec14 100644 --- a/gcc/testsuite/rust/compile/torture/issue-893-2.rs +++ b/gcc/testsuite/rust/compile/torture/issue-893-2.rs @@ -1,4 +1,5 @@ // { dg-additional-options "-w" } +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/issue-893.rs b/gcc/testsuite/rust/compile/torture/issue-893.rs index f96b5c3..bd77c8d 100644 --- a/gcc/testsuite/rust/compile/torture/issue-893.rs +++ b/gcc/testsuite/rust/compile/torture/issue-893.rs @@ -1,4 +1,5 @@ // { dg-additional-options "-w" } +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/must_use2.rs b/gcc/testsuite/rust/compile/torture/must_use2.rs index cf6643e..9c9a1a7 100644 --- a/gcc/testsuite/rust/compile/torture/must_use2.rs +++ b/gcc/testsuite/rust/compile/torture/must_use2.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/nested_fn2.rs b/gcc/testsuite/rust/compile/torture/nested_fn2.rs index ad7a10b..57cee8a 100644 --- a/gcc/testsuite/rust/compile/torture/nested_fn2.rs +++ b/gcc/testsuite/rust/compile/torture/nested_fn2.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/phantom_data.rs b/gcc/testsuite/rust/compile/torture/phantom_data.rs index d6c5adc..a5b70a5 100644 --- a/gcc/testsuite/rust/compile/torture/phantom_data.rs +++ b/gcc/testsuite/rust/compile/torture/phantom_data.rs @@ -1,4 +1,5 @@ // { dg-options "-w" } +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/range-lang-item1.rs b/gcc/testsuite/rust/compile/torture/range-lang-item1.rs index 604fee8..db10f85 100644 --- a/gcc/testsuite/rust/compile/torture/range-lang-item1.rs +++ b/gcc/testsuite/rust/compile/torture/range-lang-item1.rs @@ -1,4 +1,5 @@ // { dg-additional-options "-w" } +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/traits1.rs b/gcc/testsuite/rust/compile/torture/traits1.rs index 8929501..6fe943c 100644 --- a/gcc/testsuite/rust/compile/torture/traits1.rs +++ b/gcc/testsuite/rust/compile/torture/traits1.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/traits10.rs b/gcc/testsuite/rust/compile/torture/traits10.rs index 4cf36e3..4710445 100644 --- a/gcc/testsuite/rust/compile/torture/traits10.rs +++ b/gcc/testsuite/rust/compile/torture/traits10.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/traits11.rs b/gcc/testsuite/rust/compile/torture/traits11.rs index 02383a5..1cab51f 100644 --- a/gcc/testsuite/rust/compile/torture/traits11.rs +++ b/gcc/testsuite/rust/compile/torture/traits11.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/traits12.rs b/gcc/testsuite/rust/compile/torture/traits12.rs index 8648022..3e340eb 100644 --- a/gcc/testsuite/rust/compile/torture/traits12.rs +++ b/gcc/testsuite/rust/compile/torture/traits12.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/traits13.rs b/gcc/testsuite/rust/compile/torture/traits13.rs index 5d9c819..ce70a28 100644 --- a/gcc/testsuite/rust/compile/torture/traits13.rs +++ b/gcc/testsuite/rust/compile/torture/traits13.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/traits14.rs b/gcc/testsuite/rust/compile/torture/traits14.rs index ab546a8..2996ecf 100644 --- a/gcc/testsuite/rust/compile/torture/traits14.rs +++ b/gcc/testsuite/rust/compile/torture/traits14.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/traits15.rs b/gcc/testsuite/rust/compile/torture/traits15.rs index c1863a8..c875577 100644 --- a/gcc/testsuite/rust/compile/torture/traits15.rs +++ b/gcc/testsuite/rust/compile/torture/traits15.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/traits16.rs b/gcc/testsuite/rust/compile/torture/traits16.rs index 8c8e682..7dc546c 100644 --- a/gcc/testsuite/rust/compile/torture/traits16.rs +++ b/gcc/testsuite/rust/compile/torture/traits16.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/traits17.rs b/gcc/testsuite/rust/compile/torture/traits17.rs index 268c2bd..9ee267e 100644 --- a/gcc/testsuite/rust/compile/torture/traits17.rs +++ b/gcc/testsuite/rust/compile/torture/traits17.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/traits18.rs b/gcc/testsuite/rust/compile/torture/traits18.rs index 512152e..bd32f70 100644 --- a/gcc/testsuite/rust/compile/torture/traits18.rs +++ b/gcc/testsuite/rust/compile/torture/traits18.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/traits19.rs b/gcc/testsuite/rust/compile/torture/traits19.rs index 4be898d..bd1a6e2 100644 --- a/gcc/testsuite/rust/compile/torture/traits19.rs +++ b/gcc/testsuite/rust/compile/torture/traits19.rs @@ -1,4 +1,5 @@ // { dg-additional-options "-w" } +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/traits2.rs b/gcc/testsuite/rust/compile/torture/traits2.rs index a9dca94..f0a33d9 100644 --- a/gcc/testsuite/rust/compile/torture/traits2.rs +++ b/gcc/testsuite/rust/compile/torture/traits2.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/traits3.rs b/gcc/testsuite/rust/compile/torture/traits3.rs index dad6dda..d06a68f 100644 --- a/gcc/testsuite/rust/compile/torture/traits3.rs +++ b/gcc/testsuite/rust/compile/torture/traits3.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/traits4.rs b/gcc/testsuite/rust/compile/torture/traits4.rs index 49c4db2..716d657 100644 --- a/gcc/testsuite/rust/compile/torture/traits4.rs +++ b/gcc/testsuite/rust/compile/torture/traits4.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/traits5.rs b/gcc/testsuite/rust/compile/torture/traits5.rs index c60a259..86e83e5 100644 --- a/gcc/testsuite/rust/compile/torture/traits5.rs +++ b/gcc/testsuite/rust/compile/torture/traits5.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/traits6.rs b/gcc/testsuite/rust/compile/torture/traits6.rs index f117353..f1c4e84 100644 --- a/gcc/testsuite/rust/compile/torture/traits6.rs +++ b/gcc/testsuite/rust/compile/torture/traits6.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/traits7.rs b/gcc/testsuite/rust/compile/torture/traits7.rs index 545fd39..928dd62 100644 --- a/gcc/testsuite/rust/compile/torture/traits7.rs +++ b/gcc/testsuite/rust/compile/torture/traits7.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/traits8.rs b/gcc/testsuite/rust/compile/torture/traits8.rs index cc0875b..f2515e8 100644 --- a/gcc/testsuite/rust/compile/torture/traits8.rs +++ b/gcc/testsuite/rust/compile/torture/traits8.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/traits9.rs b/gcc/testsuite/rust/compile/torture/traits9.rs index 3a7c37f..8015a35 100644 --- a/gcc/testsuite/rust/compile/torture/traits9.rs +++ b/gcc/testsuite/rust/compile/torture/traits9.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/transmute-size-check-1.rs b/gcc/testsuite/rust/compile/torture/transmute-size-check-1.rs index 7b98779..4de1843 100644 --- a/gcc/testsuite/rust/compile/torture/transmute-size-check-1.rs +++ b/gcc/testsuite/rust/compile/torture/transmute-size-check-1.rs @@ -1,5 +1,6 @@ #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/transmute1.rs b/gcc/testsuite/rust/compile/torture/transmute1.rs index be9fb1d..fc1d94a 100644 --- a/gcc/testsuite/rust/compile/torture/transmute1.rs +++ b/gcc/testsuite/rust/compile/torture/transmute1.rs @@ -1,5 +1,6 @@ #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/uninit-intrinsic-1.rs b/gcc/testsuite/rust/compile/torture/uninit-intrinsic-1.rs index af1cb54..50083e5 100644 --- a/gcc/testsuite/rust/compile/torture/uninit-intrinsic-1.rs +++ b/gcc/testsuite/rust/compile/torture/uninit-intrinsic-1.rs @@ -1,5 +1,6 @@ #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/torture/utf8_identifiers.rs b/gcc/testsuite/rust/compile/torture/utf8_identifiers.rs index 696fcc0..f7d6b37 100644 --- a/gcc/testsuite/rust/compile/torture/utf8_identifiers.rs +++ b/gcc/testsuite/rust/compile/torture/utf8_identifiers.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/traits1.rs b/gcc/testsuite/rust/compile/traits1.rs index 779662c..d67a6cd 100644 --- a/gcc/testsuite/rust/compile/traits1.rs +++ b/gcc/testsuite/rust/compile/traits1.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/traits10.rs b/gcc/testsuite/rust/compile/traits10.rs index da6c155..5e6e7e2 100644 --- a/gcc/testsuite/rust/compile/traits10.rs +++ b/gcc/testsuite/rust/compile/traits10.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/traits11.rs b/gcc/testsuite/rust/compile/traits11.rs index ac8ccdf..6aa860b 100644 --- a/gcc/testsuite/rust/compile/traits11.rs +++ b/gcc/testsuite/rust/compile/traits11.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/traits12.rs b/gcc/testsuite/rust/compile/traits12.rs index b194e07..99f10a2 100644 --- a/gcc/testsuite/rust/compile/traits12.rs +++ b/gcc/testsuite/rust/compile/traits12.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/traits2.rs b/gcc/testsuite/rust/compile/traits2.rs index a76f4c0..857ab28 100644 --- a/gcc/testsuite/rust/compile/traits2.rs +++ b/gcc/testsuite/rust/compile/traits2.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/traits3.rs b/gcc/testsuite/rust/compile/traits3.rs index 119132f..c4e3185 100644 --- a/gcc/testsuite/rust/compile/traits3.rs +++ b/gcc/testsuite/rust/compile/traits3.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/traits4.rs b/gcc/testsuite/rust/compile/traits4.rs index 4388b5e..11a0c78 100644 --- a/gcc/testsuite/rust/compile/traits4.rs +++ b/gcc/testsuite/rust/compile/traits4.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/traits5.rs b/gcc/testsuite/rust/compile/traits5.rs index 4e9dcc1..5bb6793 100644 --- a/gcc/testsuite/rust/compile/traits5.rs +++ b/gcc/testsuite/rust/compile/traits5.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/traits6.rs b/gcc/testsuite/rust/compile/traits6.rs index d081dd1..b4922cc 100644 --- a/gcc/testsuite/rust/compile/traits6.rs +++ b/gcc/testsuite/rust/compile/traits6.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/traits7.rs b/gcc/testsuite/rust/compile/traits7.rs index 68f3f38..62e197e 100644 --- a/gcc/testsuite/rust/compile/traits7.rs +++ b/gcc/testsuite/rust/compile/traits7.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/traits8.rs b/gcc/testsuite/rust/compile/traits8.rs index ccba9fa..117ba54 100644 --- a/gcc/testsuite/rust/compile/traits8.rs +++ b/gcc/testsuite/rust/compile/traits8.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/traits9.rs b/gcc/testsuite/rust/compile/traits9.rs index f4308e8..3341244 100644 --- a/gcc/testsuite/rust/compile/traits9.rs +++ b/gcc/testsuite/rust/compile/traits9.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/try-expr1.rs b/gcc/testsuite/rust/compile/try-expr1.rs index f1a7865..f6e460e 100644 --- a/gcc/testsuite/rust/compile/try-expr1.rs +++ b/gcc/testsuite/rust/compile/try-expr1.rs @@ -1,4 +1,5 @@ // { dg-additional-options "-frust-compile-until=typecheck" } +#![feature(lang_items)] #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/try-trait.rs b/gcc/testsuite/rust/compile/try-trait.rs index 9ec135d..3c0a88c 100644 --- a/gcc/testsuite/rust/compile/try-trait.rs +++ b/gcc/testsuite/rust/compile/try-trait.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/try_block1.rs b/gcc/testsuite/rust/compile/try_block1.rs index 7ae0536..9ace029 100644 --- a/gcc/testsuite/rust/compile/try_block1.rs +++ b/gcc/testsuite/rust/compile/try_block1.rs @@ -1,4 +1,5 @@ // { dg-additional-options "-frust-edition=2018" } +#![feature(lang_items)] #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/type-bindings1.rs b/gcc/testsuite/rust/compile/type-bindings1.rs index ef0b471..fabb487 100644 --- a/gcc/testsuite/rust/compile/type-bindings1.rs +++ b/gcc/testsuite/rust/compile/type-bindings1.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/unconstrained_type_param.rs b/gcc/testsuite/rust/compile/unconstrained_type_param.rs index 60554da..dccfc9e 100644 --- a/gcc/testsuite/rust/compile/unconstrained_type_param.rs +++ b/gcc/testsuite/rust/compile/unconstrained_type_param.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/unify-errors1.rs b/gcc/testsuite/rust/compile/unify-errors1.rs index 0fe95ef..e101059 100644 --- a/gcc/testsuite/rust/compile/unify-errors1.rs +++ b/gcc/testsuite/rust/compile/unify-errors1.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/compile/unsafe10.rs b/gcc/testsuite/rust/compile/unsafe10.rs index 5861c15..12c0483 100644 --- a/gcc/testsuite/rust/compile/unsafe10.rs +++ b/gcc/testsuite/rust/compile/unsafe10.rs @@ -1,5 +1,6 @@ #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/v0-mangle1.rs b/gcc/testsuite/rust/compile/v0-mangle1.rs index 04c546e..b4a8c13 100644 --- a/gcc/testsuite/rust/compile/v0-mangle1.rs +++ b/gcc/testsuite/rust/compile/v0-mangle1.rs @@ -1,4 +1,5 @@ // { dg-additional-options -frust-mangling=v0 } +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/v0-mangle2.rs b/gcc/testsuite/rust/compile/v0-mangle2.rs index d092dcc..4378dd8 100644 --- a/gcc/testsuite/rust/compile/v0-mangle2.rs +++ b/gcc/testsuite/rust/compile/v0-mangle2.rs @@ -1,4 +1,5 @@ // { dg-additional-options -frust-mangling=v0 } +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/compile/while_let1.rs b/gcc/testsuite/rust/compile/while_let1.rs index a3fa305..03d84df 100644 --- a/gcc/testsuite/rust/compile/while_let1.rs +++ b/gcc/testsuite/rust/compile/while_let1.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + // use self::Ordering::*; // use Ordering::*; diff --git a/gcc/testsuite/rust/core/core.exp b/gcc/testsuite/rust/core/core.exp index 330c6d5..45bdbb5 100644 --- a/gcc/testsuite/rust/core/core.exp +++ b/gcc/testsuite/rust/core/core.exp @@ -30,7 +30,7 @@ set saved-dg-do-what-default ${dg-do-what-default} set dg-do-what-default "compile" set individual_timeout 600 dg-additional-files [lsort [glob -nocomplain $srcdir/../../libgrust/rustc-lib/*]] -dg-runtest $srcdir/../../libgrust/rustc-lib/core/src/lib.rs "-frust-edition=2018 -frust-crate=core -frust-compile-until=astvalidation -w" "" +dg-runtest $srcdir/../../libgrust/rustc-lib/core/src/lib.rs "-frust-edition=2018 -frust-crate=core -frust-compile-until=nameresolution -w" "" set dg-do-what-default ${saved-dg-do-what-default} # All done. diff --git a/gcc/testsuite/rust/execute/black_box.rs b/gcc/testsuite/rust/execute/black_box.rs index 58d10a3..8fa2cce 100644 --- a/gcc/testsuite/rust/execute/black_box.rs +++ b/gcc/testsuite/rust/execute/black_box.rs @@ -1,5 +1,5 @@ /* { dg-output "Value is: 42\r*\n" } */ -#![feature(rustc_attrs)] +#![feature(rustc_attrs, lang_items)] extern "C" { fn printf(s: *const i8, ...); diff --git a/gcc/testsuite/rust/execute/torture/atomic_load.rs b/gcc/testsuite/rust/execute/torture/atomic_load.rs index 11da848..c272700 100644 --- a/gcc/testsuite/rust/execute/torture/atomic_load.rs +++ b/gcc/testsuite/rust/execute/torture/atomic_load.rs @@ -1,5 +1,6 @@ #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/atomic_store.rs b/gcc/testsuite/rust/execute/torture/atomic_store.rs index 1b46678..acf7c64c 100644 --- a/gcc/testsuite/rust/execute/torture/atomic_store.rs +++ b/gcc/testsuite/rust/execute/torture/atomic_store.rs @@ -1,5 +1,6 @@ #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/basic_partial_ord1.rs b/gcc/testsuite/rust/execute/torture/basic_partial_ord1.rs index 0431629..d51c95d 100644 --- a/gcc/testsuite/rust/execute/torture/basic_partial_ord1.rs +++ b/gcc/testsuite/rust/execute/torture/basic_partial_ord1.rs @@ -1,4 +1,6 @@ /* { dg-output "less\r*" }*/ +#![feature(lang_items)] + mod core { mod option { pub enum Option<T> { diff --git a/gcc/testsuite/rust/execute/torture/basic_partial_ord2.rs b/gcc/testsuite/rust/execute/torture/basic_partial_ord2.rs index b6a9695..86c26df 100644 --- a/gcc/testsuite/rust/execute/torture/basic_partial_ord2.rs +++ b/gcc/testsuite/rust/execute/torture/basic_partial_ord2.rs @@ -1,5 +1,7 @@ /* { dg-output "<><=>=\r*" } */ /* { dg-options "-w" } */ +#![feature(lang_items)] + mod core { mod option { pub enum Option<T> { diff --git a/gcc/testsuite/rust/execute/torture/builtin_macro_option_env.rs b/gcc/testsuite/rust/execute/torture/builtin_macro_option_env.rs index 56fbeaa..708c2aa 100644 --- a/gcc/testsuite/rust/execute/torture/builtin_macro_option_env.rs +++ b/gcc/testsuite/rust/execute/torture/builtin_macro_option_env.rs @@ -1,7 +1,7 @@ // { dg-output "VALUE\r*\nVALUE\r*\n" } // { dg-set-compiler-env-var ENV_MACRO_TEST "VALUE" } -#![feature(rustc_attrs)] +#![feature(rustc_attrs, lang_items)] #[rustc_builtin_macro] macro_rules! option_env { diff --git a/gcc/testsuite/rust/execute/torture/closure1.rs b/gcc/testsuite/rust/execute/torture/closure1.rs index e956413..1a5e498 100644 --- a/gcc/testsuite/rust/execute/torture/closure1.rs +++ b/gcc/testsuite/rust/execute/torture/closure1.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/closure2.rs b/gcc/testsuite/rust/execute/torture/closure2.rs index deca784..06f385f 100644 --- a/gcc/testsuite/rust/execute/torture/closure2.rs +++ b/gcc/testsuite/rust/execute/torture/closure2.rs @@ -1,4 +1,6 @@ // { dg-output "3\r*\n" } +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/closure3.rs b/gcc/testsuite/rust/execute/torture/closure3.rs index 98ec261..e9c6244 100644 --- a/gcc/testsuite/rust/execute/torture/closure3.rs +++ b/gcc/testsuite/rust/execute/torture/closure3.rs @@ -1,4 +1,6 @@ // { dg-output "3\r*\n" } +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/closure4.rs b/gcc/testsuite/rust/execute/torture/closure4.rs index 0701776..3f845dc 100644 --- a/gcc/testsuite/rust/execute/torture/closure4.rs +++ b/gcc/testsuite/rust/execute/torture/closure4.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/coercion1.rs b/gcc/testsuite/rust/execute/torture/coercion1.rs index 335f496..e6511b9 100644 --- a/gcc/testsuite/rust/execute/torture/coercion1.rs +++ b/gcc/testsuite/rust/execute/torture/coercion1.rs @@ -1,4 +1,6 @@ /* { dg-output "123\r*\n123\r*\n" } */ +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/coercion2.rs b/gcc/testsuite/rust/execute/torture/coercion2.rs index 6be8602..cf316e4 100644 --- a/gcc/testsuite/rust/execute/torture/coercion2.rs +++ b/gcc/testsuite/rust/execute/torture/coercion2.rs @@ -1,4 +1,6 @@ /* { dg-output "123\r*\n123\r*\n" } */ +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/coercion3.rs b/gcc/testsuite/rust/execute/torture/coercion3.rs index 0686056..a870bea 100644 --- a/gcc/testsuite/rust/execute/torture/coercion3.rs +++ b/gcc/testsuite/rust/execute/torture/coercion3.rs @@ -1,4 +1,5 @@ // { dg-output "123\r*\n" } +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/const-generics-1.rs b/gcc/testsuite/rust/execute/torture/const-generics-1.rs index dbb7afe..3ad1b3b 100644 --- a/gcc/testsuite/rust/execute/torture/const-generics-1.rs +++ b/gcc/testsuite/rust/execute/torture/const-generics-1.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/const-generics-2.rs b/gcc/testsuite/rust/execute/torture/const-generics-2.rs new file mode 100644 index 0000000..6ed5535 --- /dev/null +++ b/gcc/testsuite/rust/execute/torture/const-generics-2.rs @@ -0,0 +1,22 @@ +#![feature(lang_items)] + +#[lang = "sized"] +trait Sized {} + +trait Magic { + fn magic(&self) -> usize; +} + +struct Foo<const N: usize>; + +impl<const N: usize> Magic for Foo<N> { + fn magic(&self) -> usize { + N + } +} + +fn main() -> i32 { + let f = Foo::<7> {}; + let n = f.magic(); + n as i32 - 7 +} diff --git a/gcc/testsuite/rust/execute/torture/const-generics-3.rs b/gcc/testsuite/rust/execute/torture/const-generics-3.rs new file mode 100644 index 0000000..289b865 --- /dev/null +++ b/gcc/testsuite/rust/execute/torture/const-generics-3.rs @@ -0,0 +1,14 @@ +#![feature(lang_items)] +#[lang = "sized"] +pub trait Sized {} + +fn simd_shuffle<const N: usize>(idx: [u32; N]) -> [u32; N] { + idx +} + +fn main() -> i32 { + let a = [1u32, 2, 3, 4]; + let out = simd_shuffle(a); + let _check: [u32; 4] = out; + 0 +} diff --git a/gcc/testsuite/rust/execute/torture/const-generics-4.rs b/gcc/testsuite/rust/execute/torture/const-generics-4.rs new file mode 100644 index 0000000..9104f24 --- /dev/null +++ b/gcc/testsuite/rust/execute/torture/const-generics-4.rs @@ -0,0 +1,44 @@ +#![feature(lang_items)] +#[lang = "sized"] +trait Sized {} + +#[allow(unused)] +macro_rules! simd_shuffle { + ($x:expr, $y:expr, $idx:expr $(,)?) => {{ + simd_shuffle( + $x, + $y, + const { + let v: [u32; _] = $idx; + v + }, + ) + }}; +} + +const fn simd_shuffle(_a: [u32; 4], _b: [u32; 4], idx: [u32; 4]) -> [u32; 4] { + idx +} + +fn main() -> i32 { + let a = [1, 2, 3, 4]; + let b = [5, 6, 7, 8]; + let indices = [3, 2, 1, 0]; + + let result: [u32; 4] = simd_shuffle!(a, b, indices); + + if result[0] != 3 { + return 1; + } + if result[1] != 2 { + return 2; + } + if result[2] != 1 { + return 3; + } + if result[3] != 0 { + return 4; + } + + 0 +} diff --git a/gcc/testsuite/rust/execute/torture/const-generics-5.rs b/gcc/testsuite/rust/execute/torture/const-generics-5.rs new file mode 100644 index 0000000..91006ed --- /dev/null +++ b/gcc/testsuite/rust/execute/torture/const-generics-5.rs @@ -0,0 +1,15 @@ +#![feature(lang_items)] + +#[lang = "sized"] +trait Sized {} + +struct Foo<const N: usize>; + +impl<const N: usize> Foo<N> { + const VALUE: usize = N; +} + +fn main() -> i32 { + let val = Foo::<7>::VALUE; + val as i32 - 7 +} diff --git a/gcc/testsuite/rust/execute/torture/const-generics-6.rs b/gcc/testsuite/rust/execute/torture/const-generics-6.rs new file mode 100644 index 0000000..0aa7fae --- /dev/null +++ b/gcc/testsuite/rust/execute/torture/const-generics-6.rs @@ -0,0 +1,17 @@ +#![feature(lang_items)] + +#[lang = "sized"] +trait Sized {} + +struct Foo<const N: usize>; + +impl<const N: usize> Foo<N> { + const VALUE: usize = N; + const SQUARE: usize = N * N; +} + +fn main() -> i32 { + let a = Foo::<5>::VALUE; // 5 + let b = Foo::<5>::SQUARE; // 25 + (a + b) as i32 - 30 +} diff --git a/gcc/testsuite/rust/execute/torture/const-generics-7.rs b/gcc/testsuite/rust/execute/torture/const-generics-7.rs new file mode 100644 index 0000000..c75d897 --- /dev/null +++ b/gcc/testsuite/rust/execute/torture/const-generics-7.rs @@ -0,0 +1,23 @@ +#![feature(intrinsics)] + +#![feature(lang_items)] +#[lang = "sized"] +pub trait Sized {} + +mod mem { + extern "rust-intrinsic" { + #[rustc_const_stable(feature = "const_size_of", since = "1.40.0")] + pub fn size_of<T>() -> usize; + } +} + +struct Foo<T>; + +impl<T> Foo<T> { + const MAGIC: usize = mem::size_of::<T>(); +} + +fn main() -> i32 { + let sz = Foo::<u16>::MAGIC; + sz as i32 - 2 +} diff --git a/gcc/testsuite/rust/execute/torture/copy_nonoverlapping1.rs b/gcc/testsuite/rust/execute/torture/copy_nonoverlapping1.rs index 15bb811..662f813 100644 --- a/gcc/testsuite/rust/execute/torture/copy_nonoverlapping1.rs +++ b/gcc/testsuite/rust/execute/torture/copy_nonoverlapping1.rs @@ -1,4 +1,5 @@ #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/derive-default1.rs b/gcc/testsuite/rust/execute/torture/derive-default1.rs index 4bcafa0..775f5be 100644 --- a/gcc/testsuite/rust/execute/torture/derive-default1.rs +++ b/gcc/testsuite/rust/execute/torture/derive-default1.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[derive(Default)] struct Foo { a: i32 } #[derive(Default)] diff --git a/gcc/testsuite/rust/execute/torture/derive-partialeq1.rs b/gcc/testsuite/rust/execute/torture/derive-partialeq1.rs index 67b2773..442ee67 100644 --- a/gcc/testsuite/rust/execute/torture/derive-partialeq1.rs +++ b/gcc/testsuite/rust/execute/torture/derive-partialeq1.rs @@ -1,6 +1,6 @@ // { dg-output "true\r*\nfalse\r*\nfalse\r*\n" } -#![feature(intrinsics)] +#![feature(intrinsics, lang_items)] #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/derive-partialeq2.rs b/gcc/testsuite/rust/execute/torture/derive-partialeq2.rs index e316017..1f4c374 100644 --- a/gcc/testsuite/rust/execute/torture/derive-partialeq2.rs +++ b/gcc/testsuite/rust/execute/torture/derive-partialeq2.rs @@ -1,6 +1,6 @@ // { dg-output "true\r*\nfalse\r*\nfalse\r*\nfalse\r*\nfalse\r*\n" } -#![feature(intrinsics)] +#![feature(intrinsics, lang_items)] pub mod core { pub mod intrinsics { diff --git a/gcc/testsuite/rust/execute/torture/derive_clone_enum1.rs b/gcc/testsuite/rust/execute/torture/derive_clone_enum1.rs index 542ecd8..28a120f 100644 --- a/gcc/testsuite/rust/execute/torture/derive_clone_enum1.rs +++ b/gcc/testsuite/rust/execute/torture/derive_clone_enum1.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[lang = "clone"] trait Clone { pub fn clone(&self) -> Self; diff --git a/gcc/testsuite/rust/execute/torture/derive_macro1.rs b/gcc/testsuite/rust/execute/torture/derive_macro1.rs index 22cfaaa..780a30f 100644 --- a/gcc/testsuite/rust/execute/torture/derive_macro1.rs +++ b/gcc/testsuite/rust/execute/torture/derive_macro1.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/derive_macro3.rs b/gcc/testsuite/rust/execute/torture/derive_macro3.rs index 4138a5b..e8fe94c 100644 --- a/gcc/testsuite/rust/execute/torture/derive_macro3.rs +++ b/gcc/testsuite/rust/execute/torture/derive_macro3.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/derive_macro4.rs b/gcc/testsuite/rust/execute/torture/derive_macro4.rs index 38c4808..adeeb8d 100644 --- a/gcc/testsuite/rust/execute/torture/derive_macro4.rs +++ b/gcc/testsuite/rust/execute/torture/derive_macro4.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/enum_intrinsics1.rs b/gcc/testsuite/rust/execute/torture/enum_intrinsics1.rs index c30bbd3..66011b5 100644 --- a/gcc/testsuite/rust/execute/torture/enum_intrinsics1.rs +++ b/gcc/testsuite/rust/execute/torture/enum_intrinsics1.rs @@ -1,6 +1,7 @@ /* { dg-output "0\r*\n2\r*\n" } */ #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/enum_intrinsics2.rs b/gcc/testsuite/rust/execute/torture/enum_intrinsics2.rs index c1bae35..5f7d5ff 100644 --- a/gcc/testsuite/rust/execute/torture/enum_intrinsics2.rs +++ b/gcc/testsuite/rust/execute/torture/enum_intrinsics2.rs @@ -1,5 +1,6 @@ #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/for-loop1.rs b/gcc/testsuite/rust/execute/torture/for-loop1.rs index 3342189..e48a4b1 100644 --- a/gcc/testsuite/rust/execute/torture/for-loop1.rs +++ b/gcc/testsuite/rust/execute/torture/for-loop1.rs @@ -1,5 +1,5 @@ // { dg-output "loop\r*\nloop\r*\n" } -#![feature(intrinsics)] +#![feature(intrinsics, lang_items)] pub use option::Option::{self, None, Some}; pub use result::Result::{self, Err, Ok}; diff --git a/gcc/testsuite/rust/execute/torture/for-loop2.rs b/gcc/testsuite/rust/execute/torture/for-loop2.rs index 4f5dfe1..022e951 100644 --- a/gcc/testsuite/rust/execute/torture/for-loop2.rs +++ b/gcc/testsuite/rust/execute/torture/for-loop2.rs @@ -1,5 +1,5 @@ // { dg-output "loop1\r*\nloop2\r*\n" } -#![feature(intrinsics)] +#![feature(intrinsics, lang_items)] pub use option::Option::{self, None, Some}; pub use result::Result::{self, Err, Ok}; diff --git a/gcc/testsuite/rust/execute/torture/gat1.rs b/gcc/testsuite/rust/execute/torture/gat1.rs new file mode 100644 index 0000000..9a60986 --- /dev/null +++ b/gcc/testsuite/rust/execute/torture/gat1.rs @@ -0,0 +1,20 @@ +#![feature(lang_items)] + +#[lang = "sized"] +trait Sized {} + +pub struct MyBuf; + +trait Foo { + type Bar<T>: Sized; +} + +impl Foo for MyBuf { + type Bar<T> = T; +} + +type A = <MyBuf as Foo>::Bar<u32>; +fn main() -> i32 { + let a: A = 1; + a as i32 - 1 +} diff --git a/gcc/testsuite/rust/execute/torture/impl_desugar-2.rs b/gcc/testsuite/rust/execute/torture/impl_desugar-2.rs index c73ea34..d1d63ce 100644 --- a/gcc/testsuite/rust/execute/torture/impl_desugar-2.rs +++ b/gcc/testsuite/rust/execute/torture/impl_desugar-2.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/impl_desugar.rs b/gcc/testsuite/rust/execute/torture/impl_desugar.rs index 22d3951..77309de 100644 --- a/gcc/testsuite/rust/execute/torture/impl_desugar.rs +++ b/gcc/testsuite/rust/execute/torture/impl_desugar.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/impl_rpit1.rs b/gcc/testsuite/rust/execute/torture/impl_rpit1.rs index 8ce5f21..9de4dff 100644 --- a/gcc/testsuite/rust/execute/torture/impl_rpit1.rs +++ b/gcc/testsuite/rust/execute/torture/impl_rpit1.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/impl_rpit2.rs b/gcc/testsuite/rust/execute/torture/impl_rpit2.rs index f7cbbb6..0f2e7e0 100644 --- a/gcc/testsuite/rust/execute/torture/impl_rpit2.rs +++ b/gcc/testsuite/rust/execute/torture/impl_rpit2.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/impl_rpit3.rs b/gcc/testsuite/rust/execute/torture/impl_rpit3.rs index dd68eb2..ec55f6a 100644 --- a/gcc/testsuite/rust/execute/torture/impl_rpit3.rs +++ b/gcc/testsuite/rust/execute/torture/impl_rpit3.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/impl_trait1.rs b/gcc/testsuite/rust/execute/torture/impl_trait1.rs index 33a5c8c..e578ed8 100644 --- a/gcc/testsuite/rust/execute/torture/impl_trait1.rs +++ b/gcc/testsuite/rust/execute/torture/impl_trait1.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/impl_trait2.rs b/gcc/testsuite/rust/execute/torture/impl_trait2.rs index 29f393d..d13765e 100644 --- a/gcc/testsuite/rust/execute/torture/impl_trait2.rs +++ b/gcc/testsuite/rust/execute/torture/impl_trait2.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/impl_trait3.rs b/gcc/testsuite/rust/execute/torture/impl_trait3.rs index c1cec07..588b11d 100644 --- a/gcc/testsuite/rust/execute/torture/impl_trait3.rs +++ b/gcc/testsuite/rust/execute/torture/impl_trait3.rs @@ -1,4 +1,5 @@ /* { dg-output "Hello from Message\r*\n" } */ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/impl_trait4.rs b/gcc/testsuite/rust/execute/torture/impl_trait4.rs index 67d0095..e054949 100644 --- a/gcc/testsuite/rust/execute/torture/impl_trait4.rs +++ b/gcc/testsuite/rust/execute/torture/impl_trait4.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/index1.rs b/gcc/testsuite/rust/execute/torture/index1.rs index 19e58e3..1071b35 100644 --- a/gcc/testsuite/rust/execute/torture/index1.rs +++ b/gcc/testsuite/rust/execute/torture/index1.rs @@ -1,4 +1,5 @@ // { dg-additional-options "-w" } +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/issue-1120.rs b/gcc/testsuite/rust/execute/torture/issue-1120.rs index 7dfa26f..d7ef483 100644 --- a/gcc/testsuite/rust/execute/torture/issue-1120.rs +++ b/gcc/testsuite/rust/execute/torture/issue-1120.rs @@ -1,6 +1,7 @@ // { dg-additional-options "-w" } #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/issue-1133.rs b/gcc/testsuite/rust/execute/torture/issue-1133.rs index 29f532e..788b0ea 100644 --- a/gcc/testsuite/rust/execute/torture/issue-1133.rs +++ b/gcc/testsuite/rust/execute/torture/issue-1133.rs @@ -1,6 +1,7 @@ // { dg-additional-options "-w" } #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/issue-1198.rs b/gcc/testsuite/rust/execute/torture/issue-1198.rs index d5c3d89..d50faba 100644 --- a/gcc/testsuite/rust/execute/torture/issue-1198.rs +++ b/gcc/testsuite/rust/execute/torture/issue-1198.rs @@ -1,4 +1,6 @@ /* { dg-output "foo_deref\r*\nimm_deref\r*\n123\r*\n" } */ +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/issue-1232.rs b/gcc/testsuite/rust/execute/torture/issue-1232.rs index 6fb42b3..d0db0ee 100644 --- a/gcc/testsuite/rust/execute/torture/issue-1232.rs +++ b/gcc/testsuite/rust/execute/torture/issue-1232.rs @@ -2,6 +2,7 @@ // { dg-output "slice_access=3\r*\n" } #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/issue-1249.rs b/gcc/testsuite/rust/execute/torture/issue-1249.rs index e7a261c..548600a 100644 --- a/gcc/testsuite/rust/execute/torture/issue-1249.rs +++ b/gcc/testsuite/rust/execute/torture/issue-1249.rs @@ -1,6 +1,7 @@ // { dg-options "-w" } // { dg-output "1\r*\n2\r*\n" } +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/issue-1436.rs b/gcc/testsuite/rust/execute/torture/issue-1436.rs index 5d90907..23620ab 100644 --- a/gcc/testsuite/rust/execute/torture/issue-1436.rs +++ b/gcc/testsuite/rust/execute/torture/issue-1436.rs @@ -2,6 +2,7 @@ #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/issue-1481.rs b/gcc/testsuite/rust/execute/torture/issue-1481.rs index 2ff78d9..e63e2bd 100644 --- a/gcc/testsuite/rust/execute/torture/issue-1481.rs +++ b/gcc/testsuite/rust/execute/torture/issue-1481.rs @@ -1,5 +1,6 @@ /* { dg-output "called Foo::print\\(\\)\r*" } */ /* { dg-options "-w" } */ +#![feature(lang_items)] #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/issue-1482.rs b/gcc/testsuite/rust/execute/torture/issue-1482.rs index ed8dc81..3b1b398 100644 --- a/gcc/testsuite/rust/execute/torture/issue-1482.rs +++ b/gcc/testsuite/rust/execute/torture/issue-1482.rs @@ -1,3 +1,5 @@ +#![feature(lang_items)] + #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/issue-1496.rs b/gcc/testsuite/rust/execute/torture/issue-1496.rs index 36291a7..26dd1ef 100644 --- a/gcc/testsuite/rust/execute/torture/issue-1496.rs +++ b/gcc/testsuite/rust/execute/torture/issue-1496.rs @@ -1,4 +1,6 @@ /* { dg-output "foo_deref\r*\nimm_deref\r*\n123\r*\n" } */ +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/issue-1720-2.rs b/gcc/testsuite/rust/execute/torture/issue-1720-2.rs index 9c5356e..d90072f 100644 --- a/gcc/testsuite/rust/execute/torture/issue-1720-2.rs +++ b/gcc/testsuite/rust/execute/torture/issue-1720-2.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/issue-1720.rs b/gcc/testsuite/rust/execute/torture/issue-1720.rs index 2218282..5da45ee 100644 --- a/gcc/testsuite/rust/execute/torture/issue-1720.rs +++ b/gcc/testsuite/rust/execute/torture/issue-1720.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/issue-2005.rs b/gcc/testsuite/rust/execute/torture/issue-2005.rs index 87edb95..29d4454 100644 --- a/gcc/testsuite/rust/execute/torture/issue-2005.rs +++ b/gcc/testsuite/rust/execute/torture/issue-2005.rs @@ -1,6 +1,6 @@ // { dg-additional-options "-w" } /* { dg-output "WORKS\r?\n" } */ -#![feature(intrinsics)] +#![feature(intrinsics, lang_items)] mod core { mod option { diff --git a/gcc/testsuite/rust/execute/torture/issue-2052.rs b/gcc/testsuite/rust/execute/torture/issue-2052.rs index bf5d6a7..a30ddc4 100644 --- a/gcc/testsuite/rust/execute/torture/issue-2052.rs +++ b/gcc/testsuite/rust/execute/torture/issue-2052.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/issue-2179.rs b/gcc/testsuite/rust/execute/torture/issue-2179.rs index 8a5ec1b..c5da7ee 100644 --- a/gcc/testsuite/rust/execute/torture/issue-2179.rs +++ b/gcc/testsuite/rust/execute/torture/issue-2179.rs @@ -1,4 +1,5 @@ // { dg-output "123\r*\n" } +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/issue-2180.rs b/gcc/testsuite/rust/execute/torture/issue-2180.rs index 6bd7172..ee18c8b 100644 --- a/gcc/testsuite/rust/execute/torture/issue-2180.rs +++ b/gcc/testsuite/rust/execute/torture/issue-2180.rs @@ -1,4 +1,5 @@ // { dg-output "123\r*\n" } +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/issue-2236.rs b/gcc/testsuite/rust/execute/torture/issue-2236.rs index 850b997..b7f2888 100644 --- a/gcc/testsuite/rust/execute/torture/issue-2236.rs +++ b/gcc/testsuite/rust/execute/torture/issue-2236.rs @@ -1,4 +1,5 @@ // { dg-options "-w" } +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/issue-2583.rs b/gcc/testsuite/rust/execute/torture/issue-2583.rs index 4ff12fc..c45d61d 100644 --- a/gcc/testsuite/rust/execute/torture/issue-2583.rs +++ b/gcc/testsuite/rust/execute/torture/issue-2583.rs @@ -1,5 +1,6 @@ #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/issue-3126.rs b/gcc/testsuite/rust/execute/torture/issue-3126.rs index f505146..65bc07d 100644 --- a/gcc/testsuite/rust/execute/torture/issue-3126.rs +++ b/gcc/testsuite/rust/execute/torture/issue-3126.rs @@ -1,4 +1,6 @@ /* { dg-output "child\r*\n" }*/ +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/issue-3381.rs b/gcc/testsuite/rust/execute/torture/issue-3381.rs index 62dbcd0..02d96d7 100644 --- a/gcc/testsuite/rust/execute/torture/issue-3381.rs +++ b/gcc/testsuite/rust/execute/torture/issue-3381.rs @@ -1,4 +1,6 @@ /* { dg-output "Err: 15\r*\n" } */ +#![feature(lang_items)] + #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/issue-3502.rs b/gcc/testsuite/rust/execute/torture/issue-3502.rs index f07a126..aa38858 100644 --- a/gcc/testsuite/rust/execute/torture/issue-3502.rs +++ b/gcc/testsuite/rust/execute/torture/issue-3502.rs @@ -1,4 +1,6 @@ /* { dg-output "parent 123\r*\nchild\r*\n" } */ +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/issue-3836.rs b/gcc/testsuite/rust/execute/torture/issue-3836.rs index 61ad424..5c93736 100644 --- a/gcc/testsuite/rust/execute/torture/issue-3836.rs +++ b/gcc/testsuite/rust/execute/torture/issue-3836.rs @@ -1,7 +1,7 @@ // { dg-options "-w" } // { dg-output "less\r*\n" } -#![feature(intrinsics)] +#![feature(intrinsics, lang_items)] mod core { mod option { diff --git a/gcc/testsuite/rust/execute/torture/issue-4242.rs b/gcc/testsuite/rust/execute/torture/issue-4242.rs new file mode 100644 index 0000000..867adc9 --- /dev/null +++ b/gcc/testsuite/rust/execute/torture/issue-4242.rs @@ -0,0 +1,11 @@ +#![feature(exclusive_range_pattern)] + +fn main() -> i32 { + let x = -77; + + match x { + -55..99 => 1, + -99..-55 => 0, // the correct case + _ => 1, + } +}
\ No newline at end of file diff --git a/gcc/testsuite/rust/execute/torture/issue-647.rs b/gcc/testsuite/rust/execute/torture/issue-647.rs index 6a35655..fbf4a1e 100644 --- a/gcc/testsuite/rust/execute/torture/issue-647.rs +++ b/gcc/testsuite/rust/execute/torture/issue-647.rs @@ -1,4 +1,6 @@ /* { dg-output "Hello World 123\r*\n" }*/ +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/issue-845.rs b/gcc/testsuite/rust/execute/torture/issue-845.rs index b11ccd5..060cf0b 100644 --- a/gcc/testsuite/rust/execute/torture/issue-845.rs +++ b/gcc/testsuite/rust/execute/torture/issue-845.rs @@ -1,5 +1,7 @@ // { dg-output "Foo::bar\r*\n" } // { dg-additional-options "-w" } +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/issue-851.rs b/gcc/testsuite/rust/execute/torture/issue-851.rs index 1361235..093143f 100644 --- a/gcc/testsuite/rust/execute/torture/issue-851.rs +++ b/gcc/testsuite/rust/execute/torture/issue-851.rs @@ -1,4 +1,6 @@ /* { dg-output "Result: 123\r*\n" } */ +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/issue-858.rs b/gcc/testsuite/rust/execute/torture/issue-858.rs index 0b1118b..63518ce 100644 --- a/gcc/testsuite/rust/execute/torture/issue-858.rs +++ b/gcc/testsuite/rust/execute/torture/issue-858.rs @@ -1,4 +1,6 @@ /* { dg-output "Result: 123\r*\n" } */ +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/iter1.rs b/gcc/testsuite/rust/execute/torture/iter1.rs index 233eb60..84b5033 100644 --- a/gcc/testsuite/rust/execute/torture/iter1.rs +++ b/gcc/testsuite/rust/execute/torture/iter1.rs @@ -1,5 +1,5 @@ // { dg-output "1\r*\n2\r*\n" } -#![feature(intrinsics)] +#![feature(intrinsics, lang_items)] pub use option::Option::{self, None, Some}; pub use result::Result::{self, Err, Ok}; diff --git a/gcc/testsuite/rust/execute/torture/literalpattern_neg.rs b/gcc/testsuite/rust/execute/torture/literalpattern_neg.rs new file mode 100644 index 0000000..3553c4a --- /dev/null +++ b/gcc/testsuite/rust/execute/torture/literalpattern_neg.rs @@ -0,0 +1,9 @@ +fn main() -> i32 { + let x = -55; + + match x { + 55 => 1, + -55 => 0, // correct case + _ => 1 + } +}
\ No newline at end of file diff --git a/gcc/testsuite/rust/execute/torture/macros23.rs b/gcc/testsuite/rust/execute/torture/macros23.rs index b27985d..ef958af 100644 --- a/gcc/testsuite/rust/execute/torture/macros23.rs +++ b/gcc/testsuite/rust/execute/torture/macros23.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/macros28.rs b/gcc/testsuite/rust/execute/torture/macros28.rs index 46d9cfc..db1d9f2 100644 --- a/gcc/testsuite/rust/execute/torture/macros28.rs +++ b/gcc/testsuite/rust/execute/torture/macros28.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/method2.rs b/gcc/testsuite/rust/execute/torture/method2.rs index e5f630a..0355a750 100644 --- a/gcc/testsuite/rust/execute/torture/method2.rs +++ b/gcc/testsuite/rust/execute/torture/method2.rs @@ -1,5 +1,7 @@ // { dg-additional-options "-w" } // { dg-output "foo_deref\r*\nimm_deref\r*\n" } +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/method3.rs b/gcc/testsuite/rust/execute/torture/method3.rs index 9a7865c..70b7792 100644 --- a/gcc/testsuite/rust/execute/torture/method3.rs +++ b/gcc/testsuite/rust/execute/torture/method3.rs @@ -1,5 +1,7 @@ // { dg-additional-options "-w" } // { dg-output "mut_deref\r*\nfoobar: 123\r*\n" } +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/method4.rs b/gcc/testsuite/rust/execute/torture/method4.rs index e20618f..f4b3a33 100644 --- a/gcc/testsuite/rust/execute/torture/method4.rs +++ b/gcc/testsuite/rust/execute/torture/method4.rs @@ -1,5 +1,7 @@ // { dg-additional-options "-w" } // { dg-output "mut_deref\r*\nfoobar: 123\r*\n" } +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/min_specialization2.rs b/gcc/testsuite/rust/execute/torture/min_specialization2.rs index 74faee4..b3eac27 100644 --- a/gcc/testsuite/rust/execute/torture/min_specialization2.rs +++ b/gcc/testsuite/rust/execute/torture/min_specialization2.rs @@ -1,4 +1,4 @@ -#![feature(min_specialization)] +#![feature(min_specialization, lang_items)] #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/min_specialization3.rs b/gcc/testsuite/rust/execute/torture/min_specialization3.rs index 9eccd97..b73a8ac 100644 --- a/gcc/testsuite/rust/execute/torture/min_specialization3.rs +++ b/gcc/testsuite/rust/execute/torture/min_specialization3.rs @@ -1,4 +1,4 @@ -#![feature(min_specialization)] +#![feature(min_specialization, lang_items)] #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/operator_overload_1.rs b/gcc/testsuite/rust/execute/torture/operator_overload_1.rs index 9aed393..0fc6372 100644 --- a/gcc/testsuite/rust/execute/torture/operator_overload_1.rs +++ b/gcc/testsuite/rust/execute/torture/operator_overload_1.rs @@ -1,4 +1,6 @@ /* { dg-output "3\r*\n" } */ +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/operator_overload_10.rs b/gcc/testsuite/rust/execute/torture/operator_overload_10.rs index 921ec5f..6989347 100644 --- a/gcc/testsuite/rust/execute/torture/operator_overload_10.rs +++ b/gcc/testsuite/rust/execute/torture/operator_overload_10.rs @@ -1,4 +1,6 @@ /* { dg-output "foo_deref\r*\n123\r*\n" } */ +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/operator_overload_11.rs b/gcc/testsuite/rust/execute/torture/operator_overload_11.rs index f0359fb..d0b45a7 100644 --- a/gcc/testsuite/rust/execute/torture/operator_overload_11.rs +++ b/gcc/testsuite/rust/execute/torture/operator_overload_11.rs @@ -1,5 +1,7 @@ // { dg-output "1\r*\n" } // { dg-additional-options "-w" } +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/operator_overload_12.rs b/gcc/testsuite/rust/execute/torture/operator_overload_12.rs index 2cd5c69..a0e1bc8 100644 --- a/gcc/testsuite/rust/execute/torture/operator_overload_12.rs +++ b/gcc/testsuite/rust/execute/torture/operator_overload_12.rs @@ -1,5 +1,7 @@ // { dg-output "1\r*\n" } // { dg-additional-options "-w" } +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/operator_overload_2.rs b/gcc/testsuite/rust/execute/torture/operator_overload_2.rs index 6862415..dfc2530 100644 --- a/gcc/testsuite/rust/execute/torture/operator_overload_2.rs +++ b/gcc/testsuite/rust/execute/torture/operator_overload_2.rs @@ -1,4 +1,6 @@ /* { dg-output "3\r*\n" } */ +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/operator_overload_3.rs b/gcc/testsuite/rust/execute/torture/operator_overload_3.rs index 6c1a8b8..6807143 100644 --- a/gcc/testsuite/rust/execute/torture/operator_overload_3.rs +++ b/gcc/testsuite/rust/execute/torture/operator_overload_3.rs @@ -1,4 +1,6 @@ /* { dg-output "3\r*\n3\r*\n" } */ +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/operator_overload_4.rs b/gcc/testsuite/rust/execute/torture/operator_overload_4.rs index c8235c6..3f68bf1 100644 --- a/gcc/testsuite/rust/execute/torture/operator_overload_4.rs +++ b/gcc/testsuite/rust/execute/torture/operator_overload_4.rs @@ -1,4 +1,6 @@ /* { dg-output "neg\r*\n" } */ +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/operator_overload_5.rs b/gcc/testsuite/rust/execute/torture/operator_overload_5.rs index eeef5bc..b5c1fd6 100644 --- a/gcc/testsuite/rust/execute/torture/operator_overload_5.rs +++ b/gcc/testsuite/rust/execute/torture/operator_overload_5.rs @@ -1,4 +1,6 @@ /* { dg-output "not\r*\n" } */ +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/operator_overload_6.rs b/gcc/testsuite/rust/execute/torture/operator_overload_6.rs index d5ffae5..0a69758 100644 --- a/gcc/testsuite/rust/execute/torture/operator_overload_6.rs +++ b/gcc/testsuite/rust/execute/torture/operator_overload_6.rs @@ -1,4 +1,6 @@ /* { dg-output "add_assign\r*\n3\r*\n" } */ +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/operator_overload_7.rs b/gcc/testsuite/rust/execute/torture/operator_overload_7.rs index 7226b26..e1bd7c4 100644 --- a/gcc/testsuite/rust/execute/torture/operator_overload_7.rs +++ b/gcc/testsuite/rust/execute/torture/operator_overload_7.rs @@ -1,4 +1,6 @@ /* { dg-output "imm_deref\r*\n123\r*\n" } */ +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/operator_overload_8.rs b/gcc/testsuite/rust/execute/torture/operator_overload_8.rs index 4b589a8..8324768 100644 --- a/gcc/testsuite/rust/execute/torture/operator_overload_8.rs +++ b/gcc/testsuite/rust/execute/torture/operator_overload_8.rs @@ -1,4 +1,6 @@ /* { dg-output "imm_deref\r*\n123\r*\n" } */ +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/operator_overload_9.rs b/gcc/testsuite/rust/execute/torture/operator_overload_9.rs index 5fc0428..4d10f78 100644 --- a/gcc/testsuite/rust/execute/torture/operator_overload_9.rs +++ b/gcc/testsuite/rust/execute/torture/operator_overload_9.rs @@ -1,4 +1,6 @@ /* { dg-output "mut_deref\r*\n123\r*\n" } */ +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/partial-eq-1.rs b/gcc/testsuite/rust/execute/torture/partial-eq-1.rs index db123a1..fa918f3 100644 --- a/gcc/testsuite/rust/execute/torture/partial-eq-1.rs +++ b/gcc/testsuite/rust/execute/torture/partial-eq-1.rs @@ -1,5 +1,6 @@ /* { dg-output "a == b\r*\na != c\r*\n" }*/ /* { dg-options "-w" } */ +#![feature(lang_items)] mod core { mod marker { diff --git a/gcc/testsuite/rust/execute/torture/partial-eq-2.rs b/gcc/testsuite/rust/execute/torture/partial-eq-2.rs index debed8c..e132ef0 100644 --- a/gcc/testsuite/rust/execute/torture/partial-eq-2.rs +++ b/gcc/testsuite/rust/execute/torture/partial-eq-2.rs @@ -1,6 +1,7 @@ /* { dg-output "a == b\r*\na != c\r*\n" }*/ /* { dg-options "-w" } */ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/partial-eq-3.rs b/gcc/testsuite/rust/execute/torture/partial-eq-3.rs index 849910a..4ace3d9 100644 --- a/gcc/testsuite/rust/execute/torture/partial-eq-3.rs +++ b/gcc/testsuite/rust/execute/torture/partial-eq-3.rs @@ -1,7 +1,7 @@ /* { dg-output "a == b\r*\na != c\r*\n" }*/ /* { dg-options "-w" } */ -#![feature(intrinsics)] +#![feature(intrinsics, lang_items)] mod core { mod option { diff --git a/gcc/testsuite/rust/execute/torture/partial-eq-4.rs b/gcc/testsuite/rust/execute/torture/partial-eq-4.rs index b6997d8..d1835db 100644 --- a/gcc/testsuite/rust/execute/torture/partial-eq-4.rs +++ b/gcc/testsuite/rust/execute/torture/partial-eq-4.rs @@ -1,7 +1,7 @@ /* { dg-output "a == b\r*\na != c\r*\n" }*/ /* { dg-options "-w" } */ -#![feature(intrinsics)] +#![feature(intrinsics, lang_items)] mod core { mod option { diff --git a/gcc/testsuite/rust/execute/torture/partial-ord-1.rs b/gcc/testsuite/rust/execute/torture/partial-ord-1.rs index a3558e7..b1546a3 100644 --- a/gcc/testsuite/rust/execute/torture/partial-ord-1.rs +++ b/gcc/testsuite/rust/execute/torture/partial-ord-1.rs @@ -1,4 +1,5 @@ /* { dg-output "x == y\r*\nx > z\r*\n" }*/ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/partial-ord-2.rs b/gcc/testsuite/rust/execute/torture/partial-ord-2.rs index d3b713f..76cdc2a 100644 --- a/gcc/testsuite/rust/execute/torture/partial-ord-2.rs +++ b/gcc/testsuite/rust/execute/torture/partial-ord-2.rs @@ -1,6 +1,6 @@ /* { dg-output "x == y\r*\nx > z\r*\n" }*/ -#![feature(intrinsics)] +#![feature(intrinsics, lang_items)] mod core { mod option { diff --git a/gcc/testsuite/rust/execute/torture/partial-ord-3.rs b/gcc/testsuite/rust/execute/torture/partial-ord-3.rs index 7aec07c..dd8072f 100644 --- a/gcc/testsuite/rust/execute/torture/partial-ord-3.rs +++ b/gcc/testsuite/rust/execute/torture/partial-ord-3.rs @@ -1,7 +1,7 @@ /* { dg-output "x == y\r*\nx > z\r*\nx < z\r*\nx >= y\r*\nx <= y\r*\n" } */ /* { dg-options "-w" } */ -#![feature(intrinsics)] +#![feature(intrinsics, lang_items)] mod core { mod option { diff --git a/gcc/testsuite/rust/execute/torture/partial-ord-4.rs b/gcc/testsuite/rust/execute/torture/partial-ord-4.rs index fd52f32..de13074 100644 --- a/gcc/testsuite/rust/execute/torture/partial-ord-4.rs +++ b/gcc/testsuite/rust/execute/torture/partial-ord-4.rs @@ -1,7 +1,7 @@ /* { dg-output "a == b\r*\na != c\r*\n" }*/ /* { dg-options "-w" } */ -#![feature(intrinsics)] +#![feature(intrinsics, lang_items)] mod core { mod option { diff --git a/gcc/testsuite/rust/execute/torture/partial-ord-5.rs b/gcc/testsuite/rust/execute/torture/partial-ord-5.rs index 721d2aa..b87a08e 100644 --- a/gcc/testsuite/rust/execute/torture/partial-ord-5.rs +++ b/gcc/testsuite/rust/execute/torture/partial-ord-5.rs @@ -1,7 +1,7 @@ /* { dg-output "a == b\r*\na != c\r*\na >= c\r*\na <= b\r*\na > c\r*\nc < b\r*\n" } */ /* { dg-options "-w" } */ -#![feature(intrinsics)] +#![feature(intrinsics, lang_items)] mod core { mod option { diff --git a/gcc/testsuite/rust/execute/torture/partial-ord-6.rs b/gcc/testsuite/rust/execute/torture/partial-ord-6.rs index 5d64f8c..04f13cd 100644 --- a/gcc/testsuite/rust/execute/torture/partial-ord-6.rs +++ b/gcc/testsuite/rust/execute/torture/partial-ord-6.rs @@ -1,7 +1,7 @@ // { dg-additional-options "-w" } /* { dg-output "Foo A < B\r?\nFoo B < C\r?\nFoo C == C\r?\nBar x < y\r?\nBarFull s1 < s2\r?\n" } */ -#![feature(intrinsics)] +#![feature(intrinsics, lang_items)] mod core { mod option { diff --git a/gcc/testsuite/rust/execute/torture/prefetch_data.rs b/gcc/testsuite/rust/execute/torture/prefetch_data.rs index 2a847fb..a155e67 100644 --- a/gcc/testsuite/rust/execute/torture/prefetch_data.rs +++ b/gcc/testsuite/rust/execute/torture/prefetch_data.rs @@ -1,5 +1,6 @@ #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/ref-pattern2.rs b/gcc/testsuite/rust/execute/torture/ref-pattern2.rs index 8e71724..cde7ea5 100644 --- a/gcc/testsuite/rust/execute/torture/ref-pattern2.rs +++ b/gcc/testsuite/rust/execute/torture/ref-pattern2.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/sip-hasher.rs b/gcc/testsuite/rust/execute/torture/sip-hasher.rs index 60826a3..32cdc22 100644 --- a/gcc/testsuite/rust/execute/torture/sip-hasher.rs +++ b/gcc/testsuite/rust/execute/torture/sip-hasher.rs @@ -1,8 +1,7 @@ // { dg-skip-if "" { *-*-* } { "-m32" } { "" } } // { dg-options "-w" } // { dg-output "Hash: 0x63d53fd2170bbb8c\r*\n" } -#![feature(intrinsics)] -#![feature(rustc_attrs)] +#![feature(intrinsics, lang_items, rustc_attrs)] #[lang = "sized"] trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/slice-magic.rs b/gcc/testsuite/rust/execute/torture/slice-magic.rs index 1f56187..521a251 100644 --- a/gcc/testsuite/rust/execute/torture/slice-magic.rs +++ b/gcc/testsuite/rust/execute/torture/slice-magic.rs @@ -1,6 +1,7 @@ // { dg-additional-options "-w" } #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/slice-magic2.rs b/gcc/testsuite/rust/execute/torture/slice-magic2.rs index 20f113e..75c04f3 100644 --- a/gcc/testsuite/rust/execute/torture/slice-magic2.rs +++ b/gcc/testsuite/rust/execute/torture/slice-magic2.rs @@ -1,6 +1,7 @@ // { dg-additional-options "-w" } #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/slice1.rs b/gcc/testsuite/rust/execute/torture/slice1.rs index 2683179..317ff7a 100644 --- a/gcc/testsuite/rust/execute/torture/slice1.rs +++ b/gcc/testsuite/rust/execute/torture/slice1.rs @@ -1,4 +1,5 @@ // { dg-additional-options "-w" } +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/str-layout1.rs b/gcc/testsuite/rust/execute/torture/str-layout1.rs index fb3b4e3..a28d265 100644 --- a/gcc/testsuite/rust/execute/torture/str-layout1.rs +++ b/gcc/testsuite/rust/execute/torture/str-layout1.rs @@ -2,6 +2,7 @@ // { dg-output "t1sz=5 t2sz=10\r*" } #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/trait1.rs b/gcc/testsuite/rust/execute/torture/trait1.rs index f8a5959..db5b6e2 100644 --- a/gcc/testsuite/rust/execute/torture/trait1.rs +++ b/gcc/testsuite/rust/execute/torture/trait1.rs @@ -1,4 +1,6 @@ /* { dg-output "S::f\r*\nT1::f\r*\nT2::f\r*\n" } */ +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/trait10.rs b/gcc/testsuite/rust/execute/torture/trait10.rs index 4e576eb..4eb9546 100644 --- a/gcc/testsuite/rust/execute/torture/trait10.rs +++ b/gcc/testsuite/rust/execute/torture/trait10.rs @@ -1,4 +1,6 @@ /* { dg-output "123\r*\n" } */ +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/trait11.rs b/gcc/testsuite/rust/execute/torture/trait11.rs index cca084a..84add74 100644 --- a/gcc/testsuite/rust/execute/torture/trait11.rs +++ b/gcc/testsuite/rust/execute/torture/trait11.rs @@ -1,4 +1,5 @@ /* { dg-output "3\r*\n" } */ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/trait12.rs b/gcc/testsuite/rust/execute/torture/trait12.rs index d174a89..dd7a644 100644 --- a/gcc/testsuite/rust/execute/torture/trait12.rs +++ b/gcc/testsuite/rust/execute/torture/trait12.rs @@ -1,4 +1,6 @@ /* { dg-output "3\r*\n" } */ +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/trait13.rs b/gcc/testsuite/rust/execute/torture/trait13.rs index 0d8f894..25912bd 100644 --- a/gcc/testsuite/rust/execute/torture/trait13.rs +++ b/gcc/testsuite/rust/execute/torture/trait13.rs @@ -1,4 +1,6 @@ /* { dg-output "123\r*\n456\r*\n" } */ +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/trait14.rs b/gcc/testsuite/rust/execute/torture/trait14.rs index 759950e..ebc0c5c 100644 --- a/gcc/testsuite/rust/execute/torture/trait14.rs +++ b/gcc/testsuite/rust/execute/torture/trait14.rs @@ -1,4 +1,5 @@ /* { dg-output "parent123\r*\nchild\r*\n" } */ +#![feature(lang_items)] extern "C" { fn printf(s: *const i8, ...); diff --git a/gcc/testsuite/rust/execute/torture/trait15.rs b/gcc/testsuite/rust/execute/torture/trait15.rs index 53469d7..59f8dc3 100644 --- a/gcc/testsuite/rust/execute/torture/trait15.rs +++ b/gcc/testsuite/rust/execute/torture/trait15.rs @@ -1,6 +1,8 @@ /* { dg-output "parent123\r*\nchild\r*\n" } */ // Testing generics passing with supertraits +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/trait2.rs b/gcc/testsuite/rust/execute/torture/trait2.rs index d5fd546..db69c1e 100644 --- a/gcc/testsuite/rust/execute/torture/trait2.rs +++ b/gcc/testsuite/rust/execute/torture/trait2.rs @@ -1,4 +1,6 @@ /* { dg-output "Bar::A = 456\r*\n<Foo as Bar>::A = 456\r*\n" } */ +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/trait3.rs b/gcc/testsuite/rust/execute/torture/trait3.rs index 668b437..d39d324 100644 --- a/gcc/testsuite/rust/execute/torture/trait3.rs +++ b/gcc/testsuite/rust/execute/torture/trait3.rs @@ -1,4 +1,6 @@ /* { dg-output "123, 777\r*" } */ +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/trait4.rs b/gcc/testsuite/rust/execute/torture/trait4.rs index 61c2d15..fb1eaae 100644 --- a/gcc/testsuite/rust/execute/torture/trait4.rs +++ b/gcc/testsuite/rust/execute/torture/trait4.rs @@ -1,4 +1,6 @@ /* { dg-output "123\r*\n" }*/ +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/trait5.rs b/gcc/testsuite/rust/execute/torture/trait5.rs index 7cd7d1a..67b5dd4 100644 --- a/gcc/testsuite/rust/execute/torture/trait5.rs +++ b/gcc/testsuite/rust/execute/torture/trait5.rs @@ -1,4 +1,6 @@ /* { dg-output "123\r*\n123\r*\n" } */ +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/trait6.rs b/gcc/testsuite/rust/execute/torture/trait6.rs index de5ddc1..baa075b 100644 --- a/gcc/testsuite/rust/execute/torture/trait6.rs +++ b/gcc/testsuite/rust/execute/torture/trait6.rs @@ -1,4 +1,6 @@ /* { dg-output "123\r*\n" } */ +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/trait7.rs b/gcc/testsuite/rust/execute/torture/trait7.rs index 21f1575..47d40ae 100644 --- a/gcc/testsuite/rust/execute/torture/trait7.rs +++ b/gcc/testsuite/rust/execute/torture/trait7.rs @@ -1,4 +1,6 @@ /* { dg-output "123\r*\n" } */ +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/trait8.rs b/gcc/testsuite/rust/execute/torture/trait8.rs index 69e784e..cbce3c1 100644 --- a/gcc/testsuite/rust/execute/torture/trait8.rs +++ b/gcc/testsuite/rust/execute/torture/trait8.rs @@ -1,4 +1,6 @@ /* { dg-output "123\r*\n" } */ +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/trait9.rs b/gcc/testsuite/rust/execute/torture/trait9.rs index f60554a..3448eb8 100644 --- a/gcc/testsuite/rust/execute/torture/trait9.rs +++ b/gcc/testsuite/rust/execute/torture/trait9.rs @@ -1,4 +1,6 @@ /* { dg-output "3\r*\n" } */ +#![feature(lang_items)] + extern "C" { fn printf(s: *const i8, ...); } diff --git a/gcc/testsuite/rust/execute/torture/transmute1.rs b/gcc/testsuite/rust/execute/torture/transmute1.rs index d89affd..8da1ae7 100644 --- a/gcc/testsuite/rust/execute/torture/transmute1.rs +++ b/gcc/testsuite/rust/execute/torture/transmute1.rs @@ -1,5 +1,5 @@ // { dg-additional-options "-w" } -#![feature(intrinsics)] +#![feature(intrinsics, lang_items)] extern "rust-intrinsic" { fn transmute<T, U>(value: T) -> U; diff --git a/gcc/testsuite/rust/execute/torture/wrapping_op1.rs b/gcc/testsuite/rust/execute/torture/wrapping_op1.rs index e0c100c..ba9b168 100644 --- a/gcc/testsuite/rust/execute/torture/wrapping_op1.rs +++ b/gcc/testsuite/rust/execute/torture/wrapping_op1.rs @@ -1,5 +1,6 @@ #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/execute/torture/wrapping_op2.rs b/gcc/testsuite/rust/execute/torture/wrapping_op2.rs index 6928992..5e6a37d 100644 --- a/gcc/testsuite/rust/execute/torture/wrapping_op2.rs +++ b/gcc/testsuite/rust/execute/torture/wrapping_op2.rs @@ -1,5 +1,6 @@ #![feature(intrinsics)] +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/link/generic_function_1.rs b/gcc/testsuite/rust/link/generic_function_1.rs index 46d0e82..dab62f0 100644 --- a/gcc/testsuite/rust/link/generic_function_1.rs +++ b/gcc/testsuite/rust/link/generic_function_1.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} diff --git a/gcc/testsuite/rust/link/trait_import_1.rs b/gcc/testsuite/rust/link/trait_import_1.rs index e54b0e1..589871d 100644 --- a/gcc/testsuite/rust/link/trait_import_1.rs +++ b/gcc/testsuite/rust/link/trait_import_1.rs @@ -1,3 +1,4 @@ +#![feature(lang_items)] #[lang = "sized"] pub trait Sized {} |
