Skip to content

Commit ca8744d

Browse files
bors[bot]tschwinge
andauthored
Merge #362
362: [testsuite] Scan for warning diagnostics, too r=philberty a=tschwinge Co-authored-by: Thomas Schwinge <[email protected]>
2 parents 5439d35 + 4a2e0fc commit ca8744d

File tree

95 files changed

+150
-15
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

95 files changed

+150
-15
lines changed

gcc/testsuite/lib/rust.exp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -178,11 +178,10 @@ proc rust_target_compile { source dest type options } {
178178
set options [concat "$ALWAYS_RUSTFLAGS" $options]
179179
set options [dg-additional-files-options $options $source]
180180

181-
## FIXME: until the compiler is made less verbose, we need to prune its output completely.
182-
# Only keep line containing error so that the test will correctly report the error and the test
183-
# can FAIL or XFAIL
181+
## FIXME: until the compiler is made less verbose, we need to prune its output almost completely.
182+
# Only keep lines containing certain diagnostics so that we can check these.
184183
global additional_prunes
185-
set additional_prunes "^((?!error).)*$"
184+
lappend additional_prunes "^((?!(error: |warning: )).)*$"
186185

187186
return [target_compile $source $dest $type $options]
188187
}

gcc/testsuite/rust.test/compile/arithmetic_expressions1.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// { dg-prune-output "warning: unused name" } as there are many of these expected.
2+
13
fn main() {
24
let a: i32 = 1;
35
let b: f32 = 5f32;
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
fn main() {
22
let arr: [_; 5] = [1, 2, 3, 4, 5];
3+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
34
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
fn main() {
22
let arr = ["Hello"; 0];
3+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
34
}

gcc/testsuite/rust.test/compile/arrays1.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,7 @@ fn main() {
33
let xy = [6, 7, 8];
44

55
let a = xs[0];
6+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
67
let b = xy[2];
8+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
79
}

gcc/testsuite/rust.test/compile/arrays2.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ fn main() {
22
let mut array: [i32; 3] = [0; 3];
33

44
let a = array[0];
5+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
56
let mut c;
67
c = array[2];
78
}

gcc/testsuite/rust.test/compile/arrays_index1.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ fn main() {
22
let mut array: [i32; 3] = [0; 3];
33

44
let a = array[0];
5+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
56
let x = 0;
67
let mut c;
78
c = array[x+1];

gcc/testsuite/rust.test/compile/block_expr1.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@ fn test5(x: i32) -> i32 {
2020

2121
fn main() {
2222
let call3: i32 = { test3(3) + 2 };
23+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
2324
let call5 = {
25+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
2426
let a = test5(5);
2527
a + 1
2628
};

gcc/testsuite/rust.test/compile/block_expr2.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ fn test() -> i32 {
55
fn main() {
66
let a = { test() };
77
let b = {
8+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
89
if a > 10 {
910
a - 1
1011
} else {

gcc/testsuite/rust.test/compile/block_expr3.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ fn main() {
22
let x = 111;
33

44
let a = {
5+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
56
if x == 10 {
67
123
78
} else if x < 10 {

gcc/testsuite/rust.test/compile/block_expr4.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@ fn foo() -> isize {
44

55
fn main() {
66
let a = foo();
7+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
78
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
fn main() {
22
let a = 123;
33
let b = if a > 10 { a - 1 } else { a + 1 };
4+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
45
}

gcc/testsuite/rust.test/compile/cfg_attr.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ use std::env; // Add one line so gccrs doesn't believe we're parsing a shebang
22

33
#[cfg_attr(feature = "somefeature", attribute = "someattr")]
44
struct Feature;
5+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
56

67
fn main() {
78
}

gcc/testsuite/rust.test/compile/comparison_expr1.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,11 @@ fn main() {
2828
let c: bool = is_positive(3);
2929
let d: bool = is_negative(4);
3030
let e: bool = is_positive_or_zero(5);
31+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
3132
let f: bool = is_negative_or_zero(6);
33+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
3234
let g: bool = a || b;
35+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
3336
let h: bool = c && d;
37+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
3438
}

gcc/testsuite/rust.test/compile/compile.exp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ dg-init
2828
set saved-dg-do-what-default ${dg-do-what-default}
2929

3030
set dg-do-what-default "compile"
31-
gcc-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.rs]] "" "-w"
31+
gcc-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.rs]] "" ""
3232
set dg-do-what-default ${saved-dg-do-what-default}
3333

3434
# All done.

gcc/testsuite/rust.test/compile/constant1.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@ fn main() {
55
x = x + 1;
66

77
let mut y = x + TEST_CONST;
8+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
89
}

gcc/testsuite/rust.test/compile/deadcode1.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
fn test1() -> i32 {
22
return 2;
3+
// { dg-warning "unreachable expression" "" { target *-*-* } .+1 }
34
1
45
}
56

@@ -9,10 +10,13 @@ fn test2(x: i32) -> i32 {
910
} else {
1011
return 0;
1112
}
13+
// { dg-warning "unreachable statement" "" { target *-*-* } .+1 }
1214
return 1;
1315
}
1416

1517
fn main() {
1618
let call1 = test1();
19+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
1720
let call2 = test2(2);
21+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
1822
}

gcc/testsuite/rust.test/compile/deref1.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@ fn main() {
22
let a = 123;
33
let b = &a;
44
let c = *b;
5+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
56
}

gcc/testsuite/rust.test/compile/float1.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@ fn test(x: f32) -> f32 {
55
fn main() {
66
let a_float = 5.123;
77
let call_test = test(a_float + 1.0);
8+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
89
}

gcc/testsuite/rust.test/compile/float_types.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// { dg-prune-output "warning: unused name" } as there are many of these expected.
2+
13
fn main() {
24
let a1: f32 = 1.0f32;
35
let a2: f64 = 2.0f64;

gcc/testsuite/rust.test/compile/forward_decl_1.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ fn main() {
33
an_integer = test(1) + 3;
44

55
let call_test = test(1);
6+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
67
}
78

89
fn test(x: i32) -> i32 {
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
fn main() {
22
let y = x + 1;
3+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
34
}
45

56
static x: i32 = 3;

gcc/testsuite/rust.test/compile/forward_decl_3.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
fn main() {
22
let struct_test = Foo { one: 1, two: 2 };
3+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
34
}
45

56
struct Foo {

gcc/testsuite/rust.test/compile/forward_decl_4.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ fn main() {
33
x = x + 1;
44

55
let mut y = x + TEST_CONST;
6+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
67
}
78

89
const TEST_CONST: i32 = 10;

gcc/testsuite/rust.test/compile/function_reference1.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@ fn test(a: i32) -> i32 {
55
fn main() {
66
let a = test;
77
let b = a(1);
8+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
89
}

gcc/testsuite/rust.test/compile/function_reference2.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@ fn test(a: i32) -> i32 {
55
fn main() {
66
let a: fn(i32) -> i32 = test;
77
let b = a(1);
8+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
89
}

gcc/testsuite/rust.test/compile/function_reference3.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,12 @@ fn test(a: i32) -> i32 {
99

1010
fn main() {
1111
let a = test(1);
12+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
1213

1314
let b: fn(i32) -> i32 = test;
1415
let c = b(1);
1516

1617
let d = Foo { a: test, b: c };
1718
let e = (d.a)(d.b);
19+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
1820
}

gcc/testsuite/rust.test/compile/function_reference4.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@ fn test(a: i32) -> i32 {
55
fn main() {
66
let a: fn(_) -> _ = test;
77
let b = a(1);
8+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
89
}

gcc/testsuite/rust.test/compile/generics1.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,29 +13,39 @@ fn main() {
1313
a1 = Foo { a: 1.0, b: false };
1414

1515
let b1: f32 = a1.a;
16+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
1617
let c1: bool = a1.b;
18+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
1719

1820
let a2: GenericStruct<i8>;
1921
a2 = GenericStruct::<i8> { a: 1, b: 456 };
2022

2123
let b2: i8 = a2.a;
24+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
2225
let c2: usize = a2.b;
26+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
2327

2428
let a3;
2529
a3 = GenericStruct::<i32> { a: 123, b: 456 };
2630

2731
let b3: i32 = a3.a;
32+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
2833
let c3: usize = a3.b;
34+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
2935

3036
let a4;
3137
a4 = GenericStruct { a: 1.0, b: 456 };
3238

3339
let b4: f32 = a4.a;
40+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
3441
let c4: usize = a4.b;
42+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
3543

3644
let a5;
3745
a5 = GenericStruct::<_> { a: true, b: 456 };
3846

3947
let b5: bool = a5.a;
48+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
4049
let c5: usize = a5.b;
50+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
4151
}

gcc/testsuite/rust.test/compile/generics10.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,5 @@ fn main() {
1515
b: true,
1616
};
1717
let b: Foo<i32> = test(a);
18+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
1819
}

gcc/testsuite/rust.test/compile/generics12.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,5 @@ impl GenericStruct<i32> {
1313
fn main() {
1414
let a: GenericStruct<i32> = GenericStruct::<i32>::new(123, 456);
1515
let aa: i32 = a.get();
16+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
1617
}

gcc/testsuite/rust.test/compile/generics2.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,29 +7,39 @@ fn main() {
77
a1 = Foo(1.0, false);
88

99
let b1: f32 = a1.0;
10+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
1011
let c1: bool = a1.1;
12+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
1113

1214
let a2: GenericStruct<i8>;
1315
a2 = GenericStruct::<i8>(1, 456);
1416

1517
let b2: i8 = a2.0;
18+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
1619
let c2: usize = a2.1;
20+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
1721

1822
let a3;
1923
a3 = GenericStruct::<i32>(123, 456);
2024

2125
let b3: i32 = a3.0;
26+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
2227
let c3: usize = a3.1;
28+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
2329

2430
let a4;
2531
a4 = GenericStruct(1.0, 456);
2632

2733
let b4: f32 = a4.0;
34+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
2835
let c4: usize = a4.1;
36+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
2937

3038
let a5;
3139
a5 = GenericStruct::<_>(true, 456);
3240

3341
let b5: bool = a5.0;
42+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
3443
let c5: usize = a5.1;
44+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
3545
}

gcc/testsuite/rust.test/compile/generics3.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,10 @@ fn main() {
66
let a;
77
a = test(123);
88
let aa: i32 = a;
9+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
910

1011
let b;
1112
b = test::<u32>(456);
1213
let bb: u32 = b;
14+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
1315
}

gcc/testsuite/rust.test/compile/generics4.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,7 @@ fn test<T>(a: T) -> Foo<T> {
99

1010
fn main() {
1111
let a: Foo<i32> = test(123);
12+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
1213
let b: Foo<u32> = test(456);
14+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
1315
}

gcc/testsuite/rust.test/compile/generics5.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,7 @@ fn test<T>(a: T) -> T {
44

55
fn main() {
66
let a: i32 = test(123);
7+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
78
let b: i32 = test(456);
9+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
810
}

gcc/testsuite/rust.test/compile/generics6.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,5 @@ fn main() {
1111
b: true,
1212
};
1313
let b: i32 = a.a.0;
14+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
1415
}

gcc/testsuite/rust.test/compile/generics7.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@ fn main() {
99
let a = Foo::<i32>(123);
1010
let b: Bar = Bar { a: a, b: true };
1111
let c: i32 = b.a.0;
12+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
1213
}

gcc/testsuite/rust.test/compile/generics8.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,11 @@ impl<T> GenericStruct<T> {
88

99
fn main() {
1010
let a: GenericStruct<i32> = GenericStruct::<i32>::new(123, 456);
11+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
1112

1213
let b: GenericStruct<u32> = GenericStruct::<_>::new(123, 456);
14+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
1315

1416
let c: GenericStruct<f32> = GenericStruct::new(123f32, 456);
17+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
1518
}

gcc/testsuite/rust.test/compile/generics9.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,13 @@ impl<T> GenericStruct<T> {
1313
fn main() {
1414
let a: GenericStruct<i32> = GenericStruct::<i32>::new(123, 456);
1515
let aa: i32 = a.get();
16+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
1617

1718
let b: GenericStruct<u32> = GenericStruct::<_>::new(123, 456);
1819
let bb: u32 = b.get();
20+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
1921

2022
let c: GenericStruct<f32> = GenericStruct::new(123f32, 456);
2123
let cc: f32 = c.get();
24+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
2225
}

gcc/testsuite/rust.test/compile/if_elif_else_expr1.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,5 @@ fn test(x: i32) -> i32 {
1010

1111
fn main() {
1212
let a = test(1);
13+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
1314
}

gcc/testsuite/rust.test/compile/impl_block3.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,5 @@ fn main() {
2828
let p1 = Point::origin();
2929
let p2 = Point::new(3.0, 4.0);
3030
let rect = Rectangle::from(p1, p2);
31+
// { dg-warning "unused name" "" { target *-*-* } .-1 }
3132
}

0 commit comments

Comments
 (0)