libstdc++: Implement LWG 3149 for std::default_constructible
authorJonathan Wakely <jwakely@redhat.com>
Fri, 15 Nov 2019 19:58:27 +0000 (19:58 +0000)
committerJonathan Wakely <redi@gcc.gnu.org>
Fri, 15 Nov 2019 19:58:27 +0000 (19:58 +0000)
commita31517cb9ababe3195888eb91e7c1aa821540fc4
tree6f62001b4e6af88518d48534874d32f3f6f97b3d
parent01eb211bade92275e39254cc5a0dc21834dbcac4
libstdc++: Implement LWG 3149 for std::default_constructible

The change approved in Belfast did not actually rename the concept from
std::default_constructible to std::default_initializable, even though
that was intended. That is expected to be done soon as a separate issue,
so I'm implementing that now too.

* include/bits/iterator_concepts.h (weakly_incrementable): Adjust.
* include/std/concepts (default_constructible): Rename to
default_initializable and require default-list-initialization and
default-initialization to be valid (LWG 3149).
(semiregular): Adjust to new name.
* testsuite/std/concepts/concepts.lang/concept.defaultconstructible/
1.cc: Rename directory to concept.defaultinitializable and adjust to
new name.
* testsuite/std/concepts/concepts.lang/concept.defaultinitializable/
lwg3149.cc: New test.
* testsuite/util/testsuite_iterators.h (test_range): Adjust.

From-SVN: r278314
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/iterator_concepts.h
libstdc++-v3/include/std/concepts
libstdc++-v3/testsuite/std/concepts/concepts.lang/concept.defaultconstructible/1.cc [deleted file]
libstdc++-v3/testsuite/std/concepts/concepts.lang/concept.defaultinitializable/1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/std/concepts/concepts.lang/concept.defaultinitializable/lwg3149.cc [new file with mode: 0644]
libstdc++-v3/testsuite/util/testsuite_iterators.h