diff options
| -rw-r--r-- | libstdc++-v3/ChangeLog | 9 | ||||
| -rw-r--r-- | libstdc++-v3/include/std/std_limits.h | 9 | ||||
| -rw-r--r-- | libstdc++-v3/testsuite/27_io/ios_init.cc | 8 |
3 files changed, 20 insertions, 6 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index bbb282d..08561c0 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,12 @@ +2002-04-03 Benjamin Kosnik <bkoz@redhat.com> + + As per DR 184, libstdc++/3139 + * include/std/std_limits.h (__glibcpp_bool_digits): Change to 1. + (numeric_limits<bool>::is_iec559): False. + (numeric_limits<bool>::is_modulo): False. + + * testsuite/27_io/ios_init.cc: Add instantiations. + 2002-04-02 Benjamin Kosnik <bkoz@redhat.com> libstdc++/5268 diff --git a/libstdc++-v3/include/std/std_limits.h b/libstdc++-v3/include/std/std_limits.h index d2b57e3..64d8a9b 100644 --- a/libstdc++-v3/include/std/std_limits.h +++ b/libstdc++-v3/include/std/std_limits.h @@ -233,11 +233,8 @@ // bool-specific hooks: // __glibcpp_bool_digits __glibcpp_int_traps __glibcpp_long_traps -// This is actually CHAR_BITS because the new ABI says a bool -// is one (1) byte wide. - #ifndef __glibcpp_bool_digits -#define __glibcpp_bool_digits __glibcpp_char_bits +#define __glibcpp_bool_digits 1 #endif // char. @@ -996,9 +993,9 @@ namespace std static bool denorm_min() throw() { return false; } - static const bool is_iec559 = true; + static const bool is_iec559 = false; static const bool is_bounded = true; - static const bool is_modulo = true; + static const bool is_modulo = false; // It is not clear what it means for a boolean type to trap. // This is a DR on the LWG issue list. Here, I use integer diff --git a/libstdc++-v3/testsuite/27_io/ios_init.cc b/libstdc++-v3/testsuite/27_io/ios_init.cc index 72b9fb4..1905aa6 100644 --- a/libstdc++-v3/testsuite/27_io/ios_init.cc +++ b/libstdc++-v3/testsuite/27_io/ios_init.cc @@ -215,6 +215,14 @@ template template unsigned short std::basic_string<unsigned short>::_Rep::_S_terminal; + +template + std::basic_string<unsigned char>::size_type + std::basic_string<unsigned char>::_Rep::_S_max_size; + +template + unsigned char + std::basic_string<unsigned char>::_Rep::_S_terminal; #endif int main() |
