<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=http://email.email.llvm.org/c/eJylVFtv2yAU_jX4Bdmy8SXxgx_auNEeOm3SLq8TNtimJRABTpv--h1I0qRd1XWadGwu5_Z9Bw6dZvsGVelR0halV4jkQvVyZhyjfDXMqndCKypRfvOWgXVM6GQ6a8N_pwXDZlaILIVyeIdIfVBgjNHi-nm-NaAewAoRgkjJULlSYbo6-OTXF27tZQYfdkOFCr5vBw-ZAWOLy8tAdHYaD2EfwKP8CqQTikGkgHh13jbcYwtIXoIZjmlPW8-KQ74sfc_4BZlXxQ__7xOUtkqPxalSYOLXHp1fWHw3W4eBBZRqa_SOw4jdRGEPPC3vtWJAQhvujWfLWXIZ_lXODD9Qo4Qa8cgVN9Sdzcl60huIvr6j_T0MUI-k326hMhmU9KqA7-Tspz-pnPkhMTvAW0DtFh6E4jtusOGUYVRe95KqMaZwq_ZP3MQMtnvNeNLC5Jt3t6hs360pKm9CGW-8fBys0o5_GOm_AnjrKP9orgIfyDvB9jiOIZeF9jpob29_fgYoy8k5Dxs4gEi52yTajGFV--0jhGB99MdZnqRJelJ92TqxEU_ArZuFPB0nxi0f6CzhmlAzcucL8bisflVFvO1jKdT8GI9qPhl_0nDJVl9_eDN7v5f0nr_iFLEmZ3Ve0wh6atKmMVQxvemEi2YjG0_DPvMYhZvmLun15kjqOMRwg-9472AprJ3h6Mm6zMt6EU0NrwdKMjqQoSqzoiN1nlfZghVVtszysqgjSTsubQNXClpA8QccQvgXpGyj_0cgGpISkLQAqVOSkEWelnVZdllNSs44KlIOr5BMTqcUmSaE7ObRglIK6-xZSa0Vo-I8AAaETjjJG7ym0nK81VY4seN4MHqD_94i-AH4vHirMA19f_GmRYFQE9j8BrcNrZE>53597</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
             False positive from clang-analyzer-deadcode.DeadStores with std::ref and std::bind
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          randombit
      </td>
    </tr>
</table>

<pre>
    ```
#include <functional>
#include <stdio.h>

void run(int v)
   {
   printf("%d\n", v);
   }

int main()
   {
   int v = 5;
   auto f = std::bind(run, std::ref(v));
   f();

   v = 10;
   f();
   }
```

The `printf` in `run` is just to "prove" that the second store is used.

```
1 warning generated.
/home/jack/ref.cpp:15:4: warning: Value stored to 'v' is never read [clang-analyzer-deadcode.DeadStores]
   v = 10;
   ^   ~~
/home/jack/ref.cpp:15:4: note: Value stored to 'v' is never read
   v = 10;
   ^   ~~
```

```
$ clang-tidy --version
LLVM (http://llvm.org/):
  LLVM version 13.0.0
  Optimized build.
  Default target: x86_64-pc-linux-gnu
  Host CPU: skylake
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyVVEtz2yAQ_jXowkgjS5ZsHXRI7Hh6SKedaZtrB8FaIsHgAeTE-fVdsB07aSZNZ1bisa9vP1g6I_YtqfOj5EuSX5GilJqrUQAl5WI9au6l0UyR8uY9A-eFNNlw1sb_zkhB7ahJMZfa0x0pmoOCUkpm1y_zrUX1Gq1IUZCiEqRa6DhdHHzK6wu35WWGEHbDpI6-7wePmRHjklaXgdjoDV3HfQRPyiuUTmqBkSLixXnbQsAWkbwGsz6mPW29KA75JvlHxq-KeUN-_P8ckNo6P5JT51hJWAd0YeHo_eg8xSqQqq01O8CR-oHhHno64EYLLMJYCMajA5Fdhn-Tc0IfmdVS97QHDZb5s3mxGswGo6_uGX_AAfnI-HaLzEyQ0qspfifnML1jaoRDYnGAN0PuZgGEhh1YaoEJSqprrpjuU4a3av8MNhW4zY2AbImTH8HdkWr5Iaekuok03gT5PFhtPHwa6f8CeO8o_2quKT0U76XY0zTFXA7b66C9vb37ilDmg_cBNtaAotRukxnbx1UTto8QovXRn07KLM_yk-rb1suNfMbaulGq03FSuoQ1GxVeE2Z78IGIp3n9u56mW54qqcentNfjyfiLwUu2-P4rmLmHvWIP8KamRLSlaMqGJV56BS1dMeWAbo2TXu6Arq3Z0H-fNX2UfnjVdJTFC3zRnMloVRt4cS_E9Og1dhk3myNLxyHFlrgH7nEpnRvxLhWrqqyaWTK0M-jqTuQ5FNV6Oq-BVTUAF7xhvGTAeaJYB8q1eEexpzQ80hgiPEnVMpFtkRco-RSlyYusmJV51VRVN2mKCgSQaQ74KKnsdGiJbSOkbuwdKpV03p2VzDnZa4CYDuPjyzQY21qs3mw66ZOYvI3g_wDmzJof">