<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/109933>109933</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[llvm-cov][MC/DC][Qualification]No MCDC coverage measured big expression
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
escherle-validas
</td>
</tr>
</table>
<pre>
# No MCDC coverage measured big expression
## Criticality: MEDIUM
During qualification of MCDC coverage at Validas we found that
no MCDC coverage is measured when the term consists of more that 6 atoms.
In the attached example the term "(v7||(!(((v2&&TRUE)&&v3)||(!((!FALSE)||(!((!v0||v2))))))))" is not instrumented at all for MCDC.
We know that this is a known issue and that there are some warnings. Therefore it is not
so critical, however it has to be documented in the safety manual, even if there is a work arround.
Commercial coverage tools can measure terms with sizes up to 15.
The problem occurs within Rust and C++ (see attached reduced examples).
### Rust example
![7_atoms_rust](https://github.com/user-attachments/assets/e74c158a-78de-463e-9b55-cb77d0f400ec)
[Test_000003.zip](https://github.com/user-attachments/files/17128550/Test_000003.zip)
### C++ example:
![7_atoms_cpp](https://github.com/user-attachments/assets/3bc3b0ef-4d76-4de2-aaf7-bf5c9633a623)
[Test_000003.zip](https://github.com/user-attachments/files/17128576/Test_000003.zip)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy8VVuP2zYT_TXUy0CGNLo_6MGXNRDg2w9oumkfFxQ1sthIpEtScja_vqBkx-6iCYo81CCsCw_PnDkzIrm18qSIapbtWHYI-OR6bWqyoiczUDjzQbbcBo1u32qGCfxfw_P-sAehZzL8RDASt5OhFhp5AvpyNmSt1IpFBxZtGSZ-0d5IJwUfpHtjyRaenw4fPj2viMNkpDrBnxMfZCcFd1Ir0N27INzBb6sSuBB0elItuJ47WEnUe1HS3nVdelLgegJHZgShlZXWWR9j1IZWmhy406PdrHQfVjx3joueWqAvfDwPdCdhiAzLuWDF3g8sGcbLvx8zMswZ5i8fPz0xrNaHOfG3_wCPj9v__fr0vck5Wl97zuo7A322SjuQyjozjaQctd4xPgzQabNYc83sd4LPSl_WpF0vrV_Ll3cKpLUTAb9Z63oyBNwQWD0SXLhRUp3sBl78ROe9k-4We6W3GsS11Az30OsLzWQ8rOcWnIaGoNXiplGuPoPlHbk3GLma1oU0kwLZXSUsEi_afAZujC_9NZm9HkcyQvLhXnin9WBBcHWr_1IwCxfperDyK1mYzl5JnF1ZXnqCs9HNQCNoISazgqWCj5N1ix17hjuGO2BYWnroC0PtJO79YRlWV9LH7vcfwEJ1hd3mYpbtitel717NZB3LDgzL3rmzZcmW4ZHh8SRdPzUboUeGx8mSCdfg3kDL8MitpeWGilTEWcnDomwpTPOEwqrJslA0RdFGXRpFJHy3PKrLdi9k3Wvkf8nmqzz_jIJOLokf4yLGMssihsf3rO_CfjPlZuvNl2T7d9yjQeL8U-q--ZM0Imki6sK0LfIwbQlDzrsibLpMVHmS8ByT_8CfIv-BP0FbJ22VVDygOi6wwCxPozLo67SKRMWFoLxr4gSxFRybmJdx3CUZdmUga4wwjSrMogrztNy0hRBZ0bVdHEdl3nGWRjRyOWyGYR432pyC5WOv46iqkiQYeEODXc4AREWXdSvwu1x2CEztF4XNdLIsjQa_ed5pnHTDcngsGKFn71G2e94zPB7268Mvj3s7yw7_9ggJJjPUP3Dbh7xewrPRf5BwDI-L9MXxNbe5xr8CAAD__8kFIo4">