<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/63301>63301</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[clang-analyzer-deadcode.DeadStores] false positive for local constexpr c-string captured by lambda
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
R2RT
</td>
</tr>
</table>
<pre>
Local `constexpr` c-string used only in lambda yields false positive about dead store.
Minimal repro: https://godbolt.org/z/qr8zGeGsv
```c++
int main() {
constexpr auto constexprlocal = "c"; // warning: Value stored to 'constexprlocal' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
auto callback = []() {
return constexprlocal[0];
};
return callback();
}
```
More cases repro: https://godbolt.org/z/GqG8svY9o
```c++
#include <iostream>
constexpr auto constexprglobal = "a";
auto global = "a";
int main() {
auto local = "b";
constexpr auto constexprlocal = "c"; // warning: Value stored to 'constexprlocal' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
constexpr auto constexprlocalint = 11;
auto callback = [&]() {
std::cout
<< constexprglobal
<< global
<< constexprlocal
<< local
<< constexprlocalint
;
};
callback();
return 0;
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzUVU2T4jYQ_TXtSxeULOEPDj4MQ5hLctmkUpWjLDWMEiGxksyG-fUp2cwwkPm6LuWCstXdfq_fa1rGaHaOqINqBdW6kEN69KH7xr_9UfRen7pfvZIWoWbKu5jo30OAmqGaxRSM2-EQSaN39oTGoZX7Xks8GbI64lbaSHjw0SRzJJS9HxJqkhpj8oHmwNbA7qbv34wze2kx0CF4EHf4mNIhgrgDvgG-2Xnde5vmPuyAb56Ab76H9umBHuLxdRWo2XQp4Kt8jU-NS7iXxgFvgS8RmvNzfGGEckj-cmsnymKNwLkCzkGscAKCP2Rwxu0yxD-lHWjiojF5BN5clwDeoB7GNpkU0TiTjLTmSSbjHZqIjo4UMOSWQLVSVrrdTDppT08UZrlTymuar0nq3_NbIlTrM3TEM2ZpbS_VPxPaUcL_0QyUhuBu6EG1YjlYrC4Vobm-f048v2Mq_BKRo6-7fiWoD4RKRopf1_Th-0Mbj38t_eeaAhfGKTtoQhD3xscUSO5B_DIdv6fszvr-Iq2cpJ1SxsAPzj_x0rMgV97pXxfIIT-x4z6EntuS0ZflFd23Lcrrt1wak87WEHfKD-lS4vkD4h7E_a2S78ZdHd_mTq16L_WsxacInolfR344UO9M0qtZY18cr0J3Qi_FUhbUlXVbN6IsK148dsuSb4kWDdO1Wmx1WVGje6mrtmVLavm2MB1nXLC6XLCWV1U5V3qxbHrZNqpkQi81LBjtpbFza4_7PJ2FiXGgrhaClYWVPdk4bgvOHf3A8TA7tloXocs5s37YRVgwa2KKlyrJJDuumS-57nZ7bH04K3Mx4ssSUvKQhjwT_em8g4oh2O7m_8akx6GfK78Hvsmozj-zQ_B_k0rANyOXCHwzcv0vAAD__w_xIRU">