Commit 7ce56fc8 by Jonathan Wakely Committed by Jonathan Wakely

any (any_v1): Rename namespace to fundamentals_v1.

	* include/experimental/any (any_v1): Rename namespace to
	fundamentals_v1. Change string returned by bad_any_cast::what().
	* include/experimental/optional (fundamentals_v1): Add namespace.
	* include/experimental/string_view (fundamentals_v1): Likewise.
	* testsuite/experimental/any/typedefs.cc: New.
	* testsuite/experimental/optional/typedefs.cc: New.
	* testsuite/experimental/string_view/typedefs.cc: New.

From-SVN: r211920
parent 47c80ef5
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
* include/std/chrono (_Checked_integral_constant): Allow zero. * include/std/chrono (_Checked_integral_constant): Allow zero.
* testsuite/20_util/duration/literals/values.cc: Test non-positive * testsuite/20_util/duration/literals/values.cc: Test non-positive
values and digit separators. values and digit separators.
* include/experimental/any
PR libstdc++/61532 PR libstdc++/61532
* testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not
...@@ -14,6 +15,14 @@ ...@@ -14,6 +15,14 @@
* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
Likewise. Likewise.
* include/experimental/any (any_v1): Rename namespace to
fundamentals_v1. Change string returned by bad_any_cast::what().
* include/experimental/optional (fundamentals_v1): Add namespace.
* include/experimental/string_view (fundamentals_v1): Likewise.
* testsuite/experimental/any/typedefs.cc: New.
* testsuite/experimental/optional/typedefs.cc: New.
* testsuite/experimental/string_view/typedefs.cc: New.
2014-06-18 Paolo Carlini <paolo.carlini@oracle.com> 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
......
...@@ -47,7 +47,7 @@ namespace std _GLIBCXX_VISIBILITY(default) ...@@ -47,7 +47,7 @@ namespace std _GLIBCXX_VISIBILITY(default)
{ {
namespace experimental namespace experimental
{ {
inline namespace any_v1 inline namespace fundamentals_v1
{ {
_GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_BEGIN_NAMESPACE_VERSION
...@@ -68,7 +68,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -68,7 +68,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
class bad_any_cast : public bad_cast class bad_any_cast : public bad_cast
{ {
public: public:
virtual const char* what() const noexcept { return "bad_any_cast"; } virtual const char* what() const noexcept { return "bad any_cast"; }
}; };
[[gnu::noreturn]] inline void __throw_bad_any_cast() [[gnu::noreturn]] inline void __throw_bad_any_cast()
...@@ -604,7 +604,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -604,7 +604,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// @} group any // @} group any
_GLIBCXX_END_NAMESPACE_VERSION _GLIBCXX_END_NAMESPACE_VERSION
} // namespace any_v1 } // namespace fundamentals_v1
} // namespace experimental } // namespace experimental
} // namespace std } // namespace std
......
...@@ -52,6 +52,8 @@ namespace std _GLIBCXX_VISIBILITY(default) ...@@ -52,6 +52,8 @@ namespace std _GLIBCXX_VISIBILITY(default)
{ {
namespace experimental namespace experimental
{ {
inline namespace fundamentals_v1
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_BEGIN_NAMESPACE_VERSION
/** /**
...@@ -797,6 +799,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -797,6 +799,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// @} group optional // @} group optional
_GLIBCXX_END_NAMESPACE_VERSION _GLIBCXX_END_NAMESPACE_VERSION
} // namespace fundamentals_v1
} }
// [X.Y.12] // [X.Y.12]
......
...@@ -46,6 +46,8 @@ namespace std _GLIBCXX_VISIBILITY(default) ...@@ -46,6 +46,8 @@ namespace std _GLIBCXX_VISIBILITY(default)
{ {
namespace experimental namespace experimental
{ {
inline namespace fundamentals_v1
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_BEGIN_NAMESPACE_VERSION
/** /**
...@@ -582,6 +584,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -582,6 +584,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
#endif #endif
_GLIBCXX_END_NAMESPACE_VERSION _GLIBCXX_END_NAMESPACE_VERSION
} // namespace fundamentals_v1
} // namespace experimental } // namespace experimental
......
// { dg-options "-std=gnu++14" }
// { dg-do compile }
// Copyright (C) 2014 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 3, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a moved_to of the GNU General Public License along
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
#include <experimental/any>
#include <type_traits>
#include <typeinfo>
using check1_t = std::experimental::fundamentals_v1::any;
using check2_t = std::experimental::fundamentals_v1::bad_any_cast;
static_assert(std::is_base_of<std::bad_cast, check2_t>::value,
"bad_any_cast must derive from bad_cast");
// { dg-options "-std=gnu++14" }
// { dg-do compile }
// Copyright (C) 2014 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 3, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a moved_to of the GNU General Public License along
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
#include <experimental/optional>
#include <type_traits>
#include <stdexcept>
template<typename T>
using check1_t = std::experimental::fundamentals_v1::optional<T>;
using check2_t = std::experimental::fundamentals_v1::in_place_t;
using check3_t = std::experimental::fundamentals_v1::nullopt_t;
using check4_t = std::experimental::fundamentals_v1::bad_optional_access;
static_assert(std::is_base_of<std::logic_error, check4_t>::value,
"bad_optional_access must derive from logic_error");
// { dg-options "-std=gnu++14" }
// { dg-do compile }
// Copyright (C) 2014 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 3, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a moved_to of the GNU General Public License along
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
#include <experimental/string_view>
template<typename C, typename T>
using check1_t = std::experimental::fundamentals_v1::basic_string_view<C, T>;
using check2_t = std::experimental::fundamentals_v1::string_view;
#ifdef _GLIBCXX_USE_C99_STDINT_TR1
using check3_t = std::experimental::fundamentals_v1::u16string_view;
using check4_t = std::experimental::fundamentals_v1::u32string_view;
#endif
#ifdef _GLIBCXX_USE_WCHAR_T
using check5_t = std::experimental::fundamentals_v1::wstring_view;
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment