aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Carlini <pcarlini@suse.de>2007-11-08 10:55:32 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2007-11-08 10:55:32 +0000
commit8e0775fb1745dbd149e86f72d2a4f08f0c71ce08 (patch)
treeb6eea47f3016abccdedb9be16fe191d6c76943b7
parent6749ca7e8bf1f99090000d77be29a46a5d168d1f (diff)
downloadgcc-8e0775fb1745dbd149e86f72d2a4f08f0c71ce08.zip
gcc-8e0775fb1745dbd149e86f72d2a4f08f0c71ce08.tar.gz
gcc-8e0775fb1745dbd149e86f72d2a4f08f0c71ce08.tar.bz2
locale_facets.h (ctype<char>::taple, [...]): Implement trivial resolution of DR 695 [Ready].
2007-11-08 Paolo Carlini <pcarlini@suse.de> * include/bits/locale_facets.h (ctype<char>::taple, classic_table): Implement trivial resolution of DR 695 [Ready]. * testsuite/22_locale/ctype/dr695.cc: New. * docs/html/ext/howto.html: Update. From-SVN: r129995
-rw-r--r--libstdc++-v3/ChangeLog7
-rw-r--r--libstdc++-v3/docs/html/ext/howto.html6
-rw-r--r--libstdc++-v3/include/bits/locale_facets.h4
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/dr695.cc36
4 files changed, 52 insertions, 1 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 4aa2237..4598210 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,5 +1,12 @@
2007-11-08 Paolo Carlini <pcarlini@suse.de>
+ * include/bits/locale_facets.h (ctype<char>::taple, classic_table):
+ Implement trivial resolution of DR 695 [Ready].
+ * testsuite/22_locale/ctype/dr695.cc: New.
+ * docs/html/ext/howto.html: Update.
+
+2007-11-08 Paolo Carlini <pcarlini@suse.de>
+
* docs/html/ext/lwg-active.html: Update to Revision R52.
* docs/html/ext/lwg-closed.html: Likewise.
* docs/html/ext/lwg-defects.html: Likewise.
diff --git a/libstdc++-v3/docs/html/ext/howto.html b/libstdc++-v3/docs/html/ext/howto.html
index e7f1f9a..f67b251 100644
--- a/libstdc++-v3/docs/html/ext/howto.html
+++ b/libstdc++-v3/docs/html/ext/howto.html
@@ -631,6 +631,12 @@
</dt>
<dd>Add the missing operations.
</dd>
+
+ <dt><a href="lwg-active.html#695">695</a>:
+ <em>ctype<char>::classic_table() not accessible</em>
+ </dt>
+ <dd>Make the member functions table and classic_table public.
+ </dd>
<!--
<dt><a href="lwg-defects.html#"></a>:
<em></em>
diff --git a/libstdc++-v3/include/bits/locale_facets.h b/libstdc++-v3/include/bits/locale_facets.h
index 7a89927..8f9f7d0 100644
--- a/libstdc++-v3/include/bits/locale_facets.h
+++ b/libstdc++-v3/include/bits/locale_facets.h
@@ -972,7 +972,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return this->do_narrow(__lo, __hi, __dfault, __to);
}
- protected:
+ // _GLIBCXX_RESOLVE_LIB_DEFECTS
+ // DR 695. ctype<char>::classic_table() not accessible.
/// Returns a pointer to the mask table provided to the constructor, or
/// the default from classic_table() if none was provided.
const mask*
@@ -982,6 +983,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/// Returns a pointer to the C locale mask table.
static const mask*
classic_table() throw();
+ protected:
/**
* @brief Destructor.
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/dr695.cc b/libstdc++-v3/testsuite/22_locale/ctype/dr695.cc
new file mode 100644
index 0000000..7d09f35
--- /dev/null
+++ b/libstdc++-v3/testsuite/22_locale/ctype/dr695.cc
@@ -0,0 +1,36 @@
+// { dg-do compile }
+// 2007-11-08 Paolo Carlini <pcarlini@suse.de>
+
+// Copyright (C) 2007 Free Software Foundation
+//
+// 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 2, 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 copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 22.2.1 The ctype category
+
+#include <locale>
+
+// DR 695.
+void
+test01()
+{
+ using namespace std;
+
+ locale loc;
+ const ctype<char>& ct = use_facet<ctype<char> >(loc);
+ ct.table();
+ ct.classic_table();
+}