<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/59158>59158</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Clang invalid warning "variables 'full' and 'corrupt' used in loop condition not modified in loop body"
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
KPexEA
</td>
</tr>
</table>
<pre>
The code seems to compile and run fine, it's just annoying to get this warning every time.
The variables are changed in the lambda functions 'get' and 'put':
bool full = false, corrupt = false;
//lambda function
auto put = [&](uint8_t v)
{
if (!full)
{
unpacked[upos--] = v;
if (!upos)
full = true;
}
};
//lambda function
auto get = [&]() -> uint8_t
{
if (!packed.size())
{
corrupt = true;
return 0;
}
const uint8_t v = packed.back();
packed.pop_back();
return v;
};
for (; !full && !corrupt;)
{
uint32_t cnt = 1;
uint8_t v = get();
if (v == repcmd)
{
cnt = get();
if (cnt == 0)
cnt = 256;
v = get();
}
while (cnt--)
put(v);
}
if (!full || corrupt)
return returnError(eIMAGERESULT_CORRUPT, "Error: C64 FBI corruption encountered");
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyVVV1v2yAU_TX4BTWycR3HD37IV6dqmzZ17XOFbZzQEbD4SNf9-l2wm6ap07USMsJczj33cLm3Us1TebtluFYNw4axncFWwWrXccEwlQ3WTuKWS4bIEnOLSG7wgzMW9qR64nLj7TfMYrvlBj9SLf0_tmf6CVu-YxMUr1A877_e055qTivBDKYa_G6p3LAGcwkADGNBd1VDcetkbbmSBoNDQIdvIANz5_wKpfNjYBQX_aiUEnBaCIzSFW6pMIF4rbR2nT36mS5GzyNyBeOExYkNdRAy0AhoKFsgMkXZCpGZ49LO7i3eI1Kc4uaL0z9xwVsIaIZI4gmPnDlzDIaTHa1_swa8u06ZiwsgEOjsjwIrRn15-3FfYRy0s9qxcbB89Sa41YjlR5X0yXOqJBDEFyhd40HST6nZSzMx_C_roT4l7XGqnNcgLjSzTkscf1Qjjyzh3RySJHgYuFYwDVzH4AarTnX3_7EcWI2lwatLerXVKh2kSxd4SEbsb4JM_XLQw5_9WFb7AFMCEdayVzEZZfpah_DGz0bVX22w9MaadfWu-dytDlze93NwNZj7E_E7j-UZlWTTc3gfCW80Wx63vgL3XOB9nyERquFsP478BvZVwcEoX8J4ro2jHoZ06qe11krDeXb9ff5lfbP-dfft9n754-bm7uetL7KIkN4knePl9BJfLa6fweHpYyZr5aRlGsoWIceMI1Ym02lB4JPnUVOmTZEWNLLcClYuBXQI6A97KnhzaDCA8NJIoB_0FfTQJA4x5diZvr0IpTqgIxse2Ehl8U41vOVH2xW0Q0COnBbl1trO-DYT6tiG262rJtAYfVET--fpotPqgdXg6Yob4xiU1qusSLJZtC3zhmZ1VhWzNCeETmk1vWybrGqTqolpwtpI0IoJU4bCRyR7xAHCi5OtIl6SmJAkIWmSJXmWT1pa5VWbszxr66otcnQZsx3lYuJ5TJTeRLoMlCq3MbApuLHmZZMawzeSseAO8KH2bpUuv_5kf9bzKHguA_N_BVEllw">