Sorry.

Our module builds choke on merging several modules, containing declarations from STL (we are using libc++, no modulemaps).

When writing a new module containing the definition of a STL reverse_iterator, it collects all its template specializations. Some of the specializations need to be deserialized from a third module. This triggers an iterator invalidation bug because of the deserialization happening when iterating the specializations container itself. This happens only when the container's capacity is exceeded and the relocation invalidates the iterators and at best causes a crash (see valgrind reports in the bug report). Unfortunately I haven't been able to make the reproducer independent on STL.

--Vassil

On 30/01/16 17:08, David Blaikie wrote:

It might be handy to give an overview of the issue in the review (& certainly in the commit) message rather than only citing the bug number

On Jan 30, 2016 6:49 AM, "Vassil Vassilev via cfe-commits" <cfe-commits@lists.llvm.org <mailto:cfe-commits@lists.llvm.org>> wrote:

    Attaching a fix to https://llvm.org/bugs/show_bug.cgi?id=26237

    Please review.

    Many thanks!
    --Vassil

    _______________________________________________
    cfe-commits mailing list
    cfe-commits@lists.llvm.org <mailto:cfe-commits@lists.llvm.org>
    http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to