mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-30 10:45:18 +00:00
d01df6f9aa
Some of these cases currently don't occur in practice, but are included for completeness, and to avoid having to add them later as branch coverage and MC/DC coverage start building more complex expressions.
52 lines
1.5 KiB
Diff
52 lines
1.5 KiB
Diff
- // MIR for `main` before InstrumentCoverage
|
|
+ // MIR for `main` after InstrumentCoverage
|
|
|
|
fn main() -> () {
|
|
let mut _0: ();
|
|
let mut _1: bool;
|
|
|
|
coverage branch { true: BlockMarkerId(0), false: BlockMarkerId(1) } => $DIR/instrument_coverage_cleanup.rs:14:8: 14:36 (#0)
|
|
|
|
+ coverage ExpressionId(0) => Expression { lhs: Counter(0), op: Subtract, rhs: Counter(1) };
|
|
+ coverage Code(Counter(0)) => $DIR/instrument_coverage_cleanup.rs:13:1 - 14:36;
|
|
+ coverage Code(Expression(0)) => $DIR/instrument_coverage_cleanup.rs:14:37 - 14:39;
|
|
+ coverage Code(Counter(1)) => $DIR/instrument_coverage_cleanup.rs:14:39 - 14:40;
|
|
+ coverage Code(Counter(0)) => $DIR/instrument_coverage_cleanup.rs:15:1 - 15:2;
|
|
+ coverage Branch { true_term: Expression(0), false_term: Counter(1) } => $DIR/instrument_coverage_cleanup.rs:14:8 - 14:36;
|
|
+
|
|
bb0: {
|
|
+ Coverage::CounterIncrement(0);
|
|
Coverage::SpanMarker;
|
|
StorageLive(_1);
|
|
_1 = std::hint::black_box::<bool>(const true) -> [return: bb1, unwind: bb5];
|
|
}
|
|
|
|
bb1: {
|
|
switchInt(move _1) -> [0: bb3, otherwise: bb2];
|
|
}
|
|
|
|
bb2: {
|
|
+ Coverage::CounterIncrement(1);
|
|
Coverage::BlockMarker(1);
|
|
_0 = const ();
|
|
goto -> bb4;
|
|
}
|
|
|
|
bb3: {
|
|
+ Coverage::ExpressionUsed(0);
|
|
Coverage::BlockMarker(0);
|
|
_0 = const ();
|
|
goto -> bb4;
|
|
}
|
|
|
|
bb4: {
|
|
StorageDead(_1);
|
|
return;
|
|
}
|
|
|
|
bb5 (cleanup): {
|
|
resume;
|
|
}
|
|
}
|
|
|