diff options
author | Nathaniel Shead <nathanieloshead@gmail.com> | 2023-09-29 10:30:41 +0100 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2023-09-29 16:01:20 +0100 |
commit | 28adad7a32ed92a3c0906b38411c4ed686bbacc5 (patch) | |
tree | 8836eef97fb7e199326ea72221bb32dfb26dba80 /gcc | |
parent | 346f5991569faeb9995ac12100c2afba46ab6437 (diff) | |
download | gcc-28adad7a32ed92a3c0906b38411c4ed686bbacc5.zip gcc-28adad7a32ed92a3c0906b38411c4ed686bbacc5.tar.gz gcc-28adad7a32ed92a3c0906b38411c4ed686bbacc5.tar.bz2 |
libstdc++: Ensure active union member is correctly set
This patch ensures that the union members for std::string and
std::variant are always properly set when a change occurs.
libstdc++-v3/ChangeLog:
* include/bits/basic_string.h: (basic_string(basic_string&&)):
Activate _M_local_buf when needed.
(basic_string(basic_string&&, const _Alloc&)): Likewise.
* include/bits/basic_string.tcc: (basic_string::swap): Likewise.
* include/std/variant: (__detail::__variant::__construct_n): New.
(__detail::__variant::__emplace): Use __construct_n.
Signed-off-by: Nathaniel Shead <nathanieloshead@gmail.com>
Diffstat (limited to 'gcc')
0 files changed, 0 insertions, 0 deletions