<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/113027>113027</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [Coverage][C++] VarDecl on Cond is ignored from mapping.
        </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>
    ```
bool foo(bool a) {
    bool x;
 if ((x = (a ? false : true))) // YOI
        return !x;
    if (bool y = (a ? true : false)) // DAME
        return y;
    return a;
}
```
(https://godbolt.org/z/Tch3cP4G8)

"YOI" is expected.
```
  Branch,File 0, 3:9 -> 3:33 = #1, (#0 - #1)
 Branch,File 0, 3:15 -> 3:16 = #2, (#0 - #2)
```

"DAME" doesn't emit `CondOp` but has only Branch for `IfStmt`.
```
  Branch,File 0, 5:14 -> 5:15 = #3, ((#0 - #1) - #3)
```

Looks like CoverageMappingGen.cpp doesn't traverse VarDecl on Cond.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUlFGPmzoQhX_N8DIKMmMg4YGHJCyrle5qr3SvKvXRgAl0CUa2STf99ZWBbDbptlIjS5mM43PmO8IIY9pDL2UK0Q6izBOjbZROy0YMY996harOKcRsWSwDti2U6rBWCmgzlQIoQVjv5l1ExKn9BvzSamsE2gBt3hB45mqBwHOsRWckAt-i1aMESuaFQDlQjl9fnq6a7qOlHXWPQMEHccRFf3I93zo43clgsrqVz7bPD5_qn2_El6Z4b8I6W4rbXIA2jbWDAb6dHQ6qKlRnfaUPQPkPoPz_suHlv-Hjxk0yH1qOkoMlwtagfBtkaWXlf-qCuNOiLxugfd52EhnQHjnwbYIr4A9TyfmSAg_c7pQ9Z7haOov174SC6KoUxBcl-kWJrhB3QVyYpoSJsFLS9EBri_LYWoSY7VVfvQwQMyxGi40wqPruvEyEtdLuT0_1f_ZoIWZ_kUTkhg5ngGiGWQD4O8BdGnPF_0zzj1KvBrv2VeJenaQWB_kshqHtD4-y98th-ABptThJbSR-ETqTZYeqRwfse1XKq4QnwpNpsKaEBzHn3GvSmldBmNRU1CFfx7ROgorXQSxZEFRVSaHXpsQoDFiQsIhvIu7zMBabmLO4EGWURBWETB5F2_lddzq6J85rjRllGgSc0drrRCE7M11yol5-x2kXiNyd16k7tCrGg4GQda2x5ipjW9tNb4cLNkSZ-wW0cyvK7indI9weeqVlhbVWRzzOOfneqLv07oa0thkLv1RHoNxZLl-rQatvsrRA-TSoAcoXklNKPwMAAP__3x9CHw">