rust/tests
bors 7a58674259 Auto merge of #124255 - RenjiSann:renji/mcdc-nested-expressions, r=Zalathar
MCDC coverage: support nested decision coverage

#123409 provided the initial MCDC coverage implementation.

As referenced in #124144, it does not currently support "nested" decisions, like the following example :

```rust
fn nested_if_in_condition(a: bool, b: bool, c: bool) {
    if a && if b || c { true } else { false } {
        say("yes");
    } else {
        say("no");
    }
}
```

Note that there is an if-expression (`if b || c ...`) embedded inside a boolean expression in the decision of an outer if-expression.

This PR proposes a workaround for this cases, by introducing a Decision context stack, and by handing several `temporary condition bitmaps` instead of just one.
When instrumenting boolean expressions, if the current node is a leaf condition (i.e. not a `||`/`&&` logical operator nor a `!` not operator), we insert a new decision context, such that if there are more boolean expressions inside the condition, they are handled as separate expressions.

On the codegen LLVM side, we allocate as many `temp_cond_bitmap`s as necessary to handle the maximum encountered decision depth.
2024-04-29 11:54:49 +00:00
..
assembly also update windows slack-protector tests 2024-04-22 23:45:04 -04:00
auxiliary extend extern tests to include FiveU16s 2024-03-17 00:07:42 -04:00
codegen Auto merge of #121298 - nikic:writable, r=cuviper 2024-04-25 04:31:56 +00:00
codegen-units Codegen const panic messages as function calls 2024-03-22 09:55:50 -04:00
coverage Auto merge of #124255 - RenjiSann:renji/mcdc-nested-expressions, r=Zalathar 2024-04-29 11:54:49 +00:00
coverage-run-rustdoc [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
crashes add test for https://github.com/rust-lang/rust/issues/109812 2024-04-28 10:23:10 +02:00
debuginfo Update lldb only tests 2024-04-26 04:11:05 +03:00
incremental add test for incremental ICE: slice-pattern-const.rs #83085 2024-04-21 14:45:00 +02:00
mir-opt Fix tests and bless 2024-04-24 13:12:33 +01:00
pretty Fix tests and bless 2024-04-24 13:12:33 +01:00
run-make Use named struct arguments instead of comment named args 2024-04-28 17:17:22 +02:00
run-make-fulldeps Soft-destabilize RustcEncodable/RustcDecodable 2024-03-22 13:24:35 -07:00
run-pass-valgrind Add test for Apple's -weak_framework linker argument 2024-03-18 23:27:34 +01:00
rustdoc Fix the assertion crash from rustdoc document indent widths 2024-04-28 11:17:09 +08:00
rustdoc-gui Rollup merge of #124197 - GuillaumeGomez:move-duplicated-code, r=notriddle 2024-04-23 06:24:56 +02:00
rustdoc-js rustdoc-search: single result for items with multiple paths 2024-04-08 17:07:14 -07:00
rustdoc-js-std rustdoc-search: fix description on aliases in results 2024-04-18 22:21:29 -07:00
rustdoc-json [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
rustdoc-ui Rollup merge of #122591 - gurry:122162-impl-type-binding-suggestion, r=fmease 2024-04-23 17:25:14 +02:00
ui Auto merge of #124505 - Enselic:aux-bin-fix, r=jieyouxu 2024-04-29 09:14:09 +00:00
ui-fulldeps Rollup merge of #124218 - Xiretza:subsubdiagnostics, r=davidtwco 2024-04-23 17:25:17 +02:00
COMPILER_TESTS.md