Vassil Vassilev via cfe-commits cfe-commits at lists.llvm.org
Sat Jan 30 08:23:32 PST 2016


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.


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 at lists.llvm.org <mailto:cfe-commits at 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 at lists.llvm.org <mailto:cfe-commits at lists.llvm.org>
>     http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160130/5181c76f/attachment.html>

More information about the cfe-commits mailing list