aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Kosnik <bkoz@redhat.com>2002-05-27 11:42:59 +0000
committerBenjamin Kosnik <bkoz@gcc.gnu.org>2002-05-27 11:42:59 +0000
commitbed1bd8c51498ff087a18eb0bbc4cd35122f719f (patch)
tree9a1e611ee5c2e887039d13ae7a028b98dd253ba7
parent5149f0701c126f74f3cccf53b14175374fe3a7e9 (diff)
downloadgcc-bed1bd8c51498ff087a18eb0bbc4cd35122f719f.zip
gcc-bed1bd8c51498ff087a18eb0bbc4cd35122f719f.tar.gz
gcc-bed1bd8c51498ff087a18eb0bbc4cd35122f719f.tar.bz2
re PR libstdc++/6795 (stringbuf failure)
2002-05-27 Benjamin Kosnik <bkoz@redhat.com> PR libstdc++/6795. * config/os/solaris/solaris2.6/bits/ctype_noninline.h (classic_table): Fix. * config/os/solaris/solaris2.5/bits/ctype_noninline.h: Same. 2002-05-27 Benjamin Kosnik <bkoz@redhat.com> * testsuite/22_locale/ctype_is_wchar_t.cc: Guard with _GLIBCPP_USE_WCHAR_T. * testsuite/22_locale/ctype_narrow_wchar_t.cc: Same. * testsuite/22_locale/ctype_to_wchar_t.cc: Same. * testsuite/22_locale/ctype_widen_wchar_t.cc: Same. From-SVN: r53921
-rw-r--r--libstdc++-v3/ChangeLog15
-rw-r--r--libstdc++-v3/config/os/solaris/solaris2.5/bits/ctype_noninline.h2
-rw-r--r--libstdc++-v3/config/os/solaris/solaris2.6/bits/ctype_noninline.h2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype_is_wchar_t.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype_narrow_wchar_t.cc6
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype_to_wchar_t.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype_widen_wchar_t.cc4
7 files changed, 34 insertions, 3 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 233734e..ac445d5 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,18 @@
+2002-05-27 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/6795.
+ * config/os/solaris/solaris2.6/bits/ctype_noninline.h
+ (classic_table): Fix.
+ * config/os/solaris/solaris2.5/bits/ctype_noninline.h: Same.
+
+2002-05-27 Benjamin Kosnik <bkoz@redhat.com>
+
+ * testsuite/22_locale/ctype_is_wchar_t.cc: Guard with
+ _GLIBCPP_USE_WCHAR_T.
+ * testsuite/22_locale/ctype_narrow_wchar_t.cc: Same.
+ * testsuite/22_locale/ctype_to_wchar_t.cc: Same.
+ * testsuite/22_locale/ctype_widen_wchar_t.cc: Same.
+
2002-05-26 Carlo Wood <carlo@alinoe.com>
Paolo Carlini <pcarlini@unitus.it>
diff --git a/libstdc++-v3/config/os/solaris/solaris2.5/bits/ctype_noninline.h b/libstdc++-v3/config/os/solaris/solaris2.5/bits/ctype_noninline.h
index f466afb..a3c27b0 100644
--- a/libstdc++-v3/config/os/solaris/solaris2.5/bits/ctype_noninline.h
+++ b/libstdc++-v3/config/os/solaris/solaris2.5/bits/ctype_noninline.h
@@ -35,7 +35,7 @@
const ctype_base::mask*
ctype<char>::classic_table() throw()
- { return 0; }
+ { return __ctype; }
ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
size_t __refs)
diff --git a/libstdc++-v3/config/os/solaris/solaris2.6/bits/ctype_noninline.h b/libstdc++-v3/config/os/solaris/solaris2.6/bits/ctype_noninline.h
index b22ad9a..f65cfe7 100644
--- a/libstdc++-v3/config/os/solaris/solaris2.6/bits/ctype_noninline.h
+++ b/libstdc++-v3/config/os/solaris/solaris2.6/bits/ctype_noninline.h
@@ -35,7 +35,7 @@
const ctype_base::mask*
ctype<char>::classic_table() throw()
- { return 0; }
+ { return __ctype_mask; }
ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
size_t __refs)
diff --git a/libstdc++-v3/testsuite/22_locale/ctype_is_wchar_t.cc b/libstdc++-v3/testsuite/22_locale/ctype_is_wchar_t.cc
index 9e6271d..50aa0dc 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype_is_wchar_t.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype_is_wchar_t.cc
@@ -34,6 +34,7 @@
// XXX This test (test02) is not working for non-glibc locale models.
// { dg-do run { xfail *-*-* } }
+#ifdef _GLIBCPP_USE_WCHAR_T
typedef wchar_t char_type;
class gnu_ctype: public std::ctype<char_type> { };
@@ -183,11 +184,14 @@ void test05()
VERIFY( preLANG == postLANG );
}
}
+#endif
int main()
{
+#ifdef _GLIBCPP_USE_WCHAR_T
test01();
test04();
test05();
+#endif
return 0;
}
diff --git a/libstdc++-v3/testsuite/22_locale/ctype_narrow_wchar_t.cc b/libstdc++-v3/testsuite/22_locale/ctype_narrow_wchar_t.cc
index 95946a7..18745b9 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype_narrow_wchar_t.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype_narrow_wchar_t.cc
@@ -33,6 +33,7 @@
#include <vector>
#include <testsuite_hooks.h>
+#ifdef _GLIBCPP_USE_WCHAR_T
// libstdc++/6701
void test01()
{
@@ -94,10 +95,13 @@ void test02()
for (int i = 0; i < wide.length(); ++i)
VERIFY( narrow_chars[i] == narrow[i] );
}
+#endif
int main()
{
+#ifdef _GLIBCPP_USE_WCHAR_T
test01();
test02();
- return 0;
+#endif
+ return 0;
}
diff --git a/libstdc++-v3/testsuite/22_locale/ctype_to_wchar_t.cc b/libstdc++-v3/testsuite/22_locale/ctype_to_wchar_t.cc
index ccc3d87..70ca529 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype_to_wchar_t.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype_to_wchar_t.cc
@@ -30,6 +30,7 @@
#include <locale>
#include <testsuite_hooks.h>
+#ifdef _GLIBCPP_USE_WCHAR_T
typedef wchar_t char_type;
class gnu_ctype: public std::ctype<char_type> { };
@@ -130,11 +131,14 @@ void test05()
VERIFY( preLANG == postLANG );
}
}
+#endif
int main()
{
+#ifdef _GLIBCPP_USE_WCHAR_T
test01();
test04();
test05();
+#endif
return 0;
}
diff --git a/libstdc++-v3/testsuite/22_locale/ctype_widen_wchar_t.cc b/libstdc++-v3/testsuite/22_locale/ctype_widen_wchar_t.cc
index f089a06..d07a58d 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype_widen_wchar_t.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype_widen_wchar_t.cc
@@ -33,6 +33,7 @@
#include <vector>
#include <testsuite_hooks.h>
+#ifdef _GLIBCPP_USE_WCHAR_T
void test01()
{
using namespace std;
@@ -59,9 +60,12 @@ void test01()
for (int i = 0; i < narrow.length(); ++i)
VERIFY( wide_chars[i] == wide[i] );
}
+#endif
int main()
{
+#ifdef _GLIBCPP_USE_WCHAR_T
test01();
+#endif
return 0;
}