<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<div style="color: rgb(33, 33, 33); background-color: rgb(255, 255, 255);" dir="auto">
Hi,</div>
<div style="color: rgb(33, 33, 33); background-color: rgb(255, 255, 255);" dir="auto">
It seems like its a Clang Static Analyzer checker warns about something.</div>
<div style="color: rgb(33, 33, 33); background-color: rgb(255, 255, 255);" dir="auto">
<br>
</div>
<div style="color: rgb(33, 33, 33); background-color: rgb(255, 255, 255);" dir="auto">
Could you please send the complete reproducer?</div>
<div style="color: rgb(33, 33, 33); background-color: rgb(255, 255, 255);" dir="auto">
I failed reproducing this.</div>
<div style="color: rgb(33, 33, 33); background-color: rgb(255, 255, 255);" dir="auto">
<br>
</div>
<div style="color: rgb(33, 33, 33); background-color: rgb(255, 255, 255);" dir="auto">
Regards,</div>
<div style="color: rgb(33, 33, 33); background-color: rgb(255, 255, 255);" dir="auto">
Balazs</div>
<div id="ms-outlook-mobile-signature">
<div><br>
</div>
<div dir="auto" style="text-align: left"><br>
</div>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> cfe-dev <cfe-dev-bounces@lists.llvm.org> on behalf of Tamir Zahavi-Brunner via cfe-dev <cfe-dev@lists.llvm.org><br>
<b>Sent:</b> Tuesday, July 6, 2021 1:25:12 PM<br>
<b>To:</b> cfe-dev@lists.llvm.org <cfe-dev@lists.llvm.org><br>
<b>Subject:</b> [cfe-dev] [clang-tidy] Issues with C++17 structured bindings</font>
<div> </div>
</div>
<div>
<div dir="ltr">
<div>Hello,</div>
<div><br>
</div>
<div>Using clang-tidy-12, I'm getting false warnings when using structured bindings. There can actually be a variety of issues, but here is a very small example I've narrowed it down to:</div>
<div><br>
</div>
<div>auto [ptr, num] = std::make_tuple(malloc(1), 1);<br>
free(ptr);</div>
<div><br>
</div>
<div>For which I get the following warning:<br>
</div>
<br>
<div>/tmp/test.cpp:7:5: warning: Potential leak of memory pointed to by '._M_head_impl' [clang-analyzer-unix.Malloc]<br>
    free(ptr);<br>
    ^<br>
/tmp/test.cpp:6:39: note: Memory is allocated<br>
    auto [ptr, num] = std::make_tuple(malloc(1), 1);<br>
                                      ^<br>
/tmp/test.cpp:7:5: note: Potential leak of memory pointed to by '._M_head_impl'<br>
    free(ptr);<br>
    ^<br>
</div>
<div><br>
</div>
<div>Searching online, I saw that I'm not the first person to encounter such issues (<a href="https://stackoverflow.com/questions/62706928/clang-tidy-vs-structured-bindings">https://stackoverflow.com/questions/62706928/clang-tidy-vs-structured-bindings</a>)
 but I couldn't find any solution.</div>
<div><br>
</div>
<div>Is this a bug in clang-tidy or am I missing something? Is there anything I can do to solve this other than stopping using structured bindings?</div>
<div><br>
</div>
<div>Thanks,</div>
<div>Tamir<br>
</div>
</div>
</div>
</body>
</html>