<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">