Skip to content

Commit c2d14fc

Browse files
ahicks92alexcrichton
authored andcommitted
Tests for -Z fuel=foo=n
1 parent 8f36057 commit c2d14fc

File tree

3 files changed

+51
-1
lines changed

3 files changed

+51
-1
lines changed

src/librustc/session/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -531,7 +531,7 @@ impl Session {
531531
println!("optimization-fuel-exhausted: {}", msg());
532532
self.out_of_fuel.set(true);
533533
}
534-
else {
534+
else if fuel > 0{
535535
self.optimization_fuel_limit.set(fuel-1);
536536
}
537537
}
+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
#![crate_name="foo"]
12+
13+
use std::mem::size_of;
14+
15+
// compile-flags: -Z fuel=foo=0
16+
17+
struct S1(u8, u16, u8);
18+
struct S2(u8, u16, u8);
19+
20+
fn main() {
21+
assert_eq!(size_of::<S1>(), 6);
22+
assert_eq!(size_of::<S2>(), 6);
23+
}
24+
+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
#![crate_name="foo"]
12+
13+
use std::mem::size_of;
14+
15+
// compile-flags: -Z fuel=foo=1
16+
17+
struct S1(u8, u16, u8);
18+
struct S2(u8, u16, u8);
19+
20+
fn main() {
21+
let optimized = (size_of::<S1>() == 4) as usize
22+
+(size_of::<S2>() == 4) as usize;
23+
assert_eq!(optimized, 1);
24+
}
25+
26+

0 commit comments

Comments
 (0)