diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2021-07-22 11:45:32 +0100 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2021-07-22 13:53:57 +0100 |
commit | 254e5d19a177af23a77b67fd51d0d1a25eaabfc7 (patch) | |
tree | f99151953f0e5b21d72ed5ea912092cfaa70fa1a /libstdc++-v3/include/debug | |
parent | d3fa77472b78c5ddada03a1052b229bea11cb76f (diff) |
libstdc++: Restore __gnu_debug::array [PR100682]
As the PR points out, we removed the debug version of std::array without
any period of deprecation. Although std::array contains all the actual
debug checks now, removing the <debug/arrray> header breaks any code
that was using that explicitly. The manual still lists doing that as
supported.
This restores the <debug/array> header, but simply defines
__gnu_debug::array as an alias for std::array, and declares the alias
with the deprecated attribute. The docs are updated to match.
Signed-off-by: Jonathan Wakely <jwakely@redhat.com>
libstdc++-v3/ChangeLog:
PR libstdc++/100682
* doc/xml/manual/debug_mode.xml: Update documentation about
debug capability of std::array.
* doc/html/*: Regenerate.
* include/debug/array: New file.
Diffstat (limited to 'libstdc++-v3/include/debug')
-rw-r--r-- | libstdc++-v3/include/debug/array | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/libstdc++-v3/include/debug/array b/libstdc++-v3/include/debug/array new file mode 100644 index 00000000000..5cb51dfe8b5 --- /dev/null +++ b/libstdc++-v3/include/debug/array @@ -0,0 +1,45 @@ +// Redeclaration of std::array in debug namespace -*- C++ -*- + +// Copyright (C) 2021 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. + +// Under Section 7 of GPL version 3, you are granted additional +// permissions described in the GCC Runtime Library Exception, version +// 3.1, as published by the Free Software Foundation. + +// You should have received a copy of the GNU General Public License and +// a copy of the GCC Runtime Library Exception along with this program; +// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +// <http://www.gnu.org/licenses/>. + +/** @file debug/array + * This file is a GNU debug extension to the Standard C++ Library. + */ + +#ifndef _GLIBCXX_DEBUG_ARRAY +#define _GLIBCXX_DEBUG_ARRAY 1 + +#pragma GCC system_header + +#include <array> + +namespace __gnu_debug +{ + template<typename _Tp, std::size_t _Nm> + using array _GLIBCXX_DEPRECATED_SUGGEST("std::array") + = std::array<_Tp, _Nm>; + + using std::get; + using std::swap; +} +#endif // _GLIBCXX_DEBUG_ARRAY |