This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libstdc++/80553] std::vector allows instantiation with type having a deleted destructor


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80553

--- Comment #8 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Author: redi
Date: Fri Apr 28 12:56:53 2017
New Revision: 247379

URL: https://gcc.gnu.org/viewcvs?rev=247379&root=gcc&view=rev
Log:
PR libstdc++/80553 don't allow destroying non-destructible types

        PR libstdc++/80553
        * include/bits/stl_construct.h (_Destroy, _Destroy_n): Add static
        assertions to ensure type is destructible.
        (destroy_at, destroy, destroy_n): Move from stl_uninitialized.h.
        * include/bits/stl_uninitialized.h (destroy_at, destroy, destroy_n):
        Move to stl_construct.h.
        * testsuite/20_util/specialized_algorithms/memory_management_tools/
        destroy_neg.cc: New test.
        * testsuite/23_containers/vector/cons/destructible_neg.cc: New test.

Added:
   
trunk/libstdc++-v3/testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc
    trunk/libstdc++-v3/testsuite/23_containers/vector/cons/destructible_neg.cc
Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/include/bits/stl_construct.h
    trunk/libstdc++-v3/include/bits/stl_uninitialized.h

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]