[libcxx-commits] [PATCH] D138601: [libc++] Fix memory leaks when throwing inside std::vector constructors
Louis Dionne via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Thu Nov 24 06:10:28 PST 2022
ldionne added inline comments.
================
Comment at: libcxx/include/vector:297
#include <__memory/temp_value.h>
#include <__memory/uninitialized_algorithms.h>
#include <__memory_resource/polymorphic_allocator.h>
----------------
ldionne wrote:
> In the bug report, you mention this was introduced when we removed the base class. Are you referring to b82da8b555603b172f826fdd5ea902eff3aeb7ad?
>
> I looked at the commit and I still don't see how that introduced this issue (but I do acknowledge that this is a real issue, and a somewhat embarrassing one at that).
Oh crap, I see it now. It's from 12b55821a578929a7b03448a22c3a678aa649bd5.
And now I finally understand what the motivation for introducing `__vector_base` probably was when Howard wrote it. What a great lesson. I still think it was too subtle to not even have a comment, but there's definitely something to learn from this one.
Since we made similar changes to `string` and perhaps other types, we'll have to also look at those with this bug in mind.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D138601/new/
https://reviews.llvm.org/D138601
More information about the libcxx-commits
mailing list