<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/124563>124563</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[Coverage][MC/DC] Non-DeMorganized expressions are split and not covered
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
chapuni
</td>
</tr>
</table>
<pre>
Unary LNot `!` causes logical binops split as if it is a function.
(Note, LNot in root and leaves don't affect. It is expected.)
```C++
bool foo(bool a, bool b, bool c) {
return !(a && b) && c;
}
```
```
warning: unsupported MC/DC boolean expression; contains an operation with a nested boolean expression. Expression will not be covered
```
We may handle `!(a && b)` as NAND.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJxkUstu3DAM_Br6QsSw6fXr4MM-ukCBZm9Fz7JM2yq0kiHJu02_vpCzSYMEIOABTA05wxHeq8kwd1AeoDwlYg2zdZ2cxbIalfR2eOl-GuFe8MfFBoQqA8qhylCK1bNHbSclhcZeGbt49ItWAYVHNaIKqDwKHFcjg7ImhWwfi5qLDQx0fKVUBp21AYUZULO4scfBGqA6oBhHliHF7xsT_1lYBh5SoPZBVWWvdQQ6xMr2vbUaR2uBmg2KOGdD_TuSQC1CHdsRER2H1RmMuqgRCFQBVbG9fcMSitgM9enj0E87QLa_C2eUmaDY42r8uizWBR7w-Qh0Pr0OZ2GiEMfeK2ugOKC0JghlPAqDdmEnold4V2FGgYZ9ZPj6MsVv7xjvSms0NmDPKO2NHQ9fF_3FeBUvOAszaH475CfB8bDC42V_OaXJ0BVDW7Qi4S6vi7pt86otkrnLm7YdKtmXdc8jyYHqomkyrneNbGmsZKI6yqjMcqrzkpqc0rYYs160xSh5V1a7EnYZX4XSqda3a2rdlCjvV-5y2pVVkWjRs_ZbIokM33H7C0QxoK6Lj576dfKwy7Tywf-nCSroLcrH6IKYGMoTlIfHAaA84cWapxM_WzcJo_7y8MFSj8LxW4LNsBn6cDNZne7mEBYPxR7oDHSeVJjXPpX2CnSOCzw-T4uzv1kGoPO2tgc6P3TdOvoXAAD__-BPDg8">