<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/81116>81116</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
clang/lib/Analysis/AnalysisDeclContext.cpp:702: possible undefined behaviour ?
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
dcb314
</td>
</tr>
</table>
<pre>
Static analyser cppcheck says:
clang/lib/Analysis/AnalysisDeclContext.cpp:702:12: error: Deallocation of an auto-variable (*) results in undefined behaviour. [autovarInvalidDeallocation]
Source code is
for (llvm::FoldingSet<LocationContext>::iterator I = Contexts.begin(),
E = Contexts.end(); I != E; ) {
LocationContext *LC = &*I;
++I;
delete LC;
}
Is this maybe a clumsy attempt at erase ?
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJycU8GOozoQ_Jrm0poI2hDCgQNJJlKkuc0XGLsDfs_ByDbR5u9XZlhtZrWnvRjjrupyNYUMwQwTcwvVEapzJpc4Ot9q1YuizHqnn-1nlNEolJO0z8Ae1TyrkdX_GOQzgOggP0O-rcrKaQC6WNMDXbqVYsLL9szKntwU-UfcqXkG0dU5geiKtCB773zanFla65SMxk3obignlEt0bw_pjewtI9ABqANq0HNYbAxoJlwmzTczscaeR_kwbvE7hOqYqA_pr9NDWqNfe0N1fr3-p1u8YlROM5rwWsGb80nU2sc9eRbdxVltpuGTI4jTx9Zvswbi_QtkInsZnccrgjjjVg67ngczrR4aoNMm8f4dw5PeEOKY-FSk8nt6S76hPm48RPxDH4G6j9PaDmgP1F1B_EIDHYGOLweIqNlyZPw4vZxC_W0014BxNAHv8tkzSlR2uYcnyhj5PkeUEdnLwAji8kXIdCt0IxqZcVvUeS0O-7Kps7GthGjynkuh-wPvWecV8e124_pA5Z72OjMt5VTmlB-KPC9EvWsOVFNVCmrqquC-gjLnuzR2l77GzvkhMyEs3B6KothnVvZswxpooi2QlLLt24R_65chQJlbE2L43SGaaLn95_zi7EIwKZl_CWEaCmaLt-0Y47z-M3QBugwmjku_U-6eJFOyvh5vs3f_sYpAl9VYusDq7WcAAAD__0uNIKs">