summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 233734efb94..ac445d5ce09 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 f466afbc1ce..a3c27b06b87 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 b22ad9a1374..f65cfe70f79 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 9e6271dd4da..50aa0dcdf1a 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 95946a76034..18745b9e3a4 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 ccc3d87dea0..70ca529826e 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 f089a06e3ed..d07a58d2201 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;
}