AFAICT the making a test case independent on STL is the hard part. I
think it will be always failing due to the relocation of the memory
region of the underlying SmallVector.
On 30/01/16 17:37, David Blaikie wrote:
Yeah, it's good to have a reproduction, but I wouldn't actually commit
one - unless you have a checked stl to test against that always fails
on possibly-invalidating sequences of operations, then you'd have a
fairly simple reproduction
On Jan 30, 2016 8:23 AM, "Vassil Vassilev" <v.g.vassi...@gmail.com
<mailto:v.g.vassi...@gmail.com>> wrote:
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