[all-commits] [llvm/llvm-project] 71e4d4: [libc++] Make sure std::allocator<void> is always ...
Louis Dionne via All-commits
all-commits at lists.llvm.org
Thu Jun 17 13:12:04 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 71e4d434dc83b02a853712a5cb026ee2fa9ba67f
https://github.com/llvm/llvm-project/commit/71e4d434dc83b02a853712a5cb026ee2fa9ba67f
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2021-06-17 (Thu, 17 Jun 2021)
Changed paths:
M libcxx/include/__memory/allocator.h
A libcxx/test/libcxx/memory/allocator_void.trivial.compile.pass.cpp
Log Message:
-----------
[libc++] Make sure std::allocator<void> is always trivial
When we removed the allocator<void> specialization, the triviality of
std::allocator<void> changed because the primary template had a
non-trivial default constructor and the specialization didn't
(so std::allocator<void> went from trivial to non-trivial).
This commit fixes that oversight by giving a trivial constructor to
the primary template when instantiated on cv-void.
This was reported in https://llvm.org/PR50299.
Differential Revision: https://reviews.llvm.org/D104398
More information about the All-commits
mailing list