[LLVMbugs] [Bug 15500] New: ARCMT uses an iterator after invalidation

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Mar 12 12:14:05 PDT 2013


            Bug ID: 15500
           Summary: ARCMT uses an iterator after invalidation
           Product: clang
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: -New Bugs
          Assignee: unassignedclangbugs at nondot.org
          Reporter: aaron at aaronballman.com
                CC: akyrtzi at gmail.com, llvmbugs at cs.uiuc.edu
    Classification: Unclassified

r171828 introduces a regression where ARCMT uses a std::list iterator after
invalidation.  From the email thread:

"The use of iterators here is problematic because
handleProtectedScopeError can invalidate the iterators.  This is
causing a failed assertion in debug build of MSVC11 where there are
checked iterators involved.

>From what I am seeing, handleProtectedScopeError has a Transaction
object, which on destruction winds up calling
CapturedDiagList::clearDiagnostic, and that calls erase on the list,
which invalidates the iterators.  Attempting to perform the comparison
then fires the assert.

I'm not entirely certain of the best way to solve this issue, but I
figured I would mention that it causes problems.  We have a test case
already demonstrating the issue with test\ARCMT\protected-scope.m"

You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20130312/27abd3bf/attachment.html>

More information about the llvm-bugs mailing list