[Bug libstdc++/91308] [7 Regression] unique_ptr assignment fails with different deleters
redi at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Sep 2 11:10:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91308
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Author: redi
Date: Mon Sep 2 11:10:04 2019
New Revision: 275311
URL: https://gcc.gnu.org/viewcvs?rev=275311&root=gcc&view=rev
Log:
PR libstdc++/91308 fix constraints on unique_ptr assignment
* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Replace dg-error
with dg-prune-output for enable_if failure.
* testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Add
dg-prune-output for enable_if failure.
Backport from mainline
2019-07-31 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/91308
* include/bits/unique_ptr.h (unique_ptr::__safe_conversion_up): Remove
constraints on deleter that should only apply to the constructor.
(unique_ptr<T[], D>::__safe_conversion_up): Likewise.
(unique_ptr<T[], D>::unique_ptr(unique_ptr<U, D>&&)): Restore
constraints on deleter here.
* testsuite/20_util/unique_ptr/assign/91308.cc: New test.
Added:
branches/gcc-7-branch/libstdc++-v3/testsuite/20_util/unique_ptr/assign/91308.cc
Modified:
branches/gcc-7-branch/libstdc++-v3/ChangeLog
branches/gcc-7-branch/libstdc++-v3/include/bits/unique_ptr.h
branches/gcc-7-branch/libstdc++-v3/testsuite/20_util/unique_ptr/assign/48635_neg.cc
branches/gcc-7-branch/libstdc++-v3/testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc
More information about the Gcc-bugs
mailing list