From e6829c6a44ba000f53c8d5042c0bee98e703585f Mon Sep 17 00:00:00 2001 From: paolo Date: Sun, 12 Oct 2003 10:12:09 +0000 Subject: [PATCH] 2003-10-12 Paolo Carlini * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Change #ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS to a comment. * include/bits/basic_string.tcc: Likewise. * include/bits/ios_base.h: Likewise. * include/bits/istream.tcc: Likewise. * include/bits/locale_facets.tcc: Likewise. * include/bits/ostream.tcc: Likewise. * include/bits/stl_function.h: Likewise. * include/bits/stl_multiset.h: Likewise. * include/bits/stl_pair.h: Likewise. * include/bits/stl_set.h: Likewise. * include/bits/streambuf_iterator.h * include/std/std_iosfwd.h: Likewise. * include/std/std_istream.h: Likewise. * include/std/std_sstream.h: Likewise. * include/std/std_streambuf.h: Likewise. * src/ios.cc: Likewise. * include/bits/c++config: Comment out #define _GLIBCXX_RESOLVE_LIB_DEFECTS 1. * testsuite/27_io/ios_base/cons/assign_neg.cc: Tweak a dg-error directive due to removal of a blank line. * testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72392 138bc75d-0d04-0410-961f-82ee72b054a4 --- libstdc++-v3/ChangeLog | 25 ++++++++++++ .../ieee_1003.1-2001/codecvt_specializations.h | 6 +-- libstdc++-v3/include/bits/basic_string.tcc | 5 +-- libstdc++-v3/include/bits/c++config | 2 +- libstdc++-v3/include/bits/ios_base.h | 10 ++--- libstdc++-v3/include/bits/istream.tcc | 45 +++++++++------------- libstdc++-v3/include/bits/locale_facets.tcc | 10 ++--- libstdc++-v3/include/bits/ostream.tcc | 24 +++++------- libstdc++-v3/include/bits/stl_function.h | 10 ++--- libstdc++-v3/include/bits/stl_multiset.h | 16 +------- libstdc++-v3/include/bits/stl_pair.h | 15 +++----- libstdc++-v3/include/bits/stl_set.h | 16 +------- libstdc++-v3/include/bits/streambuf_iterator.h | 3 +- libstdc++-v3/include/std/std_iosfwd.h | 3 +- libstdc++-v3/include/std/std_istream.h | 5 +-- libstdc++-v3/include/std/std_sstream.h | 20 ++++------ libstdc++-v3/include/std/std_streambuf.h | 3 +- libstdc++-v3/src/ios.cc | 3 +- .../testsuite/27_io/ios_base/cons/assign_neg.cc | 2 +- .../testsuite/27_io/ios_base/cons/copy_neg.cc | 2 +- 20 files changed, 95 insertions(+), 130 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 6f631d2..594caaa 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,28 @@ +2003-10-12 Paolo Carlini + + * config/locale/ieee_1003.1-2001/codecvt_specializations.h: + Change #ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS to a comment. + * include/bits/basic_string.tcc: Likewise. + * include/bits/ios_base.h: Likewise. + * include/bits/istream.tcc: Likewise. + * include/bits/locale_facets.tcc: Likewise. + * include/bits/ostream.tcc: Likewise. + * include/bits/stl_function.h: Likewise. + * include/bits/stl_multiset.h: Likewise. + * include/bits/stl_pair.h: Likewise. + * include/bits/stl_set.h: Likewise. + * include/bits/streambuf_iterator.h + * include/std/std_iosfwd.h: Likewise. + * include/std/std_istream.h: Likewise. + * include/std/std_sstream.h: Likewise. + * include/std/std_streambuf.h: Likewise. + * src/ios.cc: Likewise. + * include/bits/c++config: + Comment out #define _GLIBCXX_RESOLVE_LIB_DEFECTS 1. + * testsuite/27_io/ios_base/cons/assign_neg.cc: Tweak a + dg-error directive due to removal of a blank line. + * testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise. + 2003-10-12 Andreas Tobler Paolo Carlini diff --git a/libstdc++-v3/config/locale/ieee_1003.1-2001/codecvt_specializations.h b/libstdc++-v3/config/locale/ieee_1003.1-2001/codecvt_specializations.h index 5b0a908..93d0e5a 100644 --- a/libstdc++-v3/config/locale/ieee_1003.1-2001/codecvt_specializations.h +++ b/libstdc++-v3/config/locale/ieee_1003.1-2001/codecvt_specializations.h @@ -453,11 +453,11 @@ const extern_type* __end, size_t __max) const { return std::min(__max, static_cast(__end - __from)); } -#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS -// 74. Garbled text for codecvt::do_max_length + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 74. Garbled text for codecvt::do_max_length template int codecvt<_InternT, _ExternT, __enc_traits>:: do_max_length() const throw() { return 1; } -#endif + diff --git a/libstdc++-v3/include/bits/basic_string.tcc b/libstdc++-v3/include/bits/basic_string.tcc index fb46c4c..ecd8f71 100644 --- a/libstdc++-v3/include/bits/basic_string.tcc +++ b/libstdc++-v3/include/bits/basic_string.tcc @@ -502,12 +502,9 @@ namespace std _S_create(size_t __capacity, const _Alloc& __alloc) { typedef basic_string<_CharT, _Traits, _Alloc> __string_type; -#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS + // _GLIBCXX_RESOLVE_LIB_DEFECTS // 83. String::npos vs. string::max_size() if (__capacity > _S_max_size) -#else - if (__capacity == npos) -#endif __throw_length_error("basic_string::_S_create"); // NB: Need an array of char_type[__capacity], plus a diff --git a/libstdc++-v3/include/bits/c++config b/libstdc++-v3/include/bits/c++config index cda2c87..7a35dde 100644 --- a/libstdc++-v3/include/bits/c++config +++ b/libstdc++-v3/include/bits/c++config @@ -55,7 +55,7 @@ //#define _GLIBCXX_DEPRECATED 1 // Use corrected code from the committee library group's issues list. -#define _GLIBCXX_RESOLVE_LIB_DEFECTS 1 +//#define _GLIBCXX_RESOLVE_LIB_DEFECTS 1 // The remainder of the prewritten config is automatic; all the // user hooks are listed above. diff --git a/libstdc++-v3/include/bits/ios_base.h b/libstdc++-v3/include/bits/ios_base.h index 43e5f9d..5455dd2 100644 --- a/libstdc++-v3/include/bits/ios_base.h +++ b/libstdc++-v3/include/bits/ios_base.h @@ -164,8 +164,8 @@ namespace std class failure : public exception { public: -#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS - //48. Use of non-existent exception constructor + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 48. Use of non-existent exception constructor explicit failure(const string& __str) throw(); @@ -179,7 +179,6 @@ namespace std private: string _M_msg; -#endif }; // 27.4.2.1.2 Type ios_base::fmtflags @@ -738,14 +737,13 @@ namespace std protected: ios_base(); -#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS - //50. Copy constructor and assignment operator of ios_base + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 50. Copy constructor and assignment operator of ios_base private: ios_base(const ios_base&); ios_base& operator=(const ios_base&); -#endif }; // [27.4.5.1] fmtflags manipulators diff --git a/libstdc++-v3/include/bits/istream.tcc b/libstdc++-v3/include/bits/istream.tcc index bf58337..1ae7cba 100644 --- a/libstdc++-v3/include/bits/istream.tcc +++ b/libstdc++-v3/include/bits/istream.tcc @@ -62,11 +62,10 @@ namespace std traits_type::to_char_type(__c))) __c = __sb->snextc(); -#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS -//195. Should basic_istream::sentry's constructor ever set eofbit? + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 195. Should basic_istream::sentry's constructor ever set eofbit? if (traits_type::eq_int_type(__c, __eof)) __in.setstate(ios_base::eofbit); -#endif } } @@ -147,7 +146,7 @@ namespace std ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); const __num_get_type& __ng = __check_facet(this->_M_num_get); __ng.get(*this, 0, *this, __err, __l); -#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS + // _GLIBCXX_RESOLVE_LIB_DEFECTS // 118. basic_istream uses nonexistent num_get member functions. if (!(__err & ios_base::failbit) && (numeric_limits::min() <= __l @@ -155,7 +154,6 @@ namespace std __n = __l; else __err |= ios_base::failbit; -#endif this->setstate(__err); } catch(...) @@ -211,7 +209,7 @@ namespace std ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); const __num_get_type& __ng = __check_facet(this->_M_num_get); __ng.get(*this, 0, *this, __err, __l); -#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS + // _GLIBCXX_RESOLVE_LIB_DEFECTS // 118. basic_istream uses nonexistent num_get member functions. if (!(__err & ios_base::failbit) && (numeric_limits::min() <= __l @@ -219,7 +217,6 @@ namespace std __n = __l; else __err |= ios_base::failbit; -#endif this->setstate(__err); } catch(...) @@ -844,10 +841,9 @@ namespace std basic_istream<_CharT, _Traits>:: putback(char_type __c) { -#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS -// 60. What is a formatted input function? + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 60. What is a formatted input function? _M_gcount = 0; -#endif sentry __cerb(*this, true); if (__cerb) { @@ -876,10 +872,9 @@ namespace std basic_istream<_CharT, _Traits>:: unget(void) { -#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS -// 60. What is a formatted input function? + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 60. What is a formatted input function? _M_gcount = 0; -#endif sentry __cerb(*this, true); if (__cerb) { @@ -957,14 +952,13 @@ namespace std // DR60. Do not change _M_gcount. if (!this->fail()) { -#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS -// 136. seekp, seekg setting wrong streams? + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 136. seekp, seekg setting wrong streams? pos_type __err = this->rdbuf()->pubseekpos(__pos, ios_base::in); -// 129. Need error indication from seekp() and seekg() + // 129. Need error indication from seekp() and seekg() if (__err == pos_type(off_type(-1))) this->setstate(ios_base::failbit); -#endif } return *this; } @@ -977,15 +971,14 @@ namespace std // DR60. Do not change _M_gcount. if (!this->fail()) { -#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS -// 136. seekp, seekg setting wrong streams? + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 136. seekp, seekg setting wrong streams? pos_type __err = this->rdbuf()->pubseekoff(__off, __dir, ios_base::in); -// 129. Need error indication from seekp() and seekg() + // 129. Need error indication from seekp() and seekg() if (__err == pos_type(off_type(-1))) this->setstate(ios_base::failbit); -#endif } return *this; } @@ -1052,10 +1045,9 @@ namespace std if (_Traits::eq_int_type(__c, __eof)) __in.setstate(ios_base::eofbit); -#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS -//68. Extractors for char* should store null at end + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 68. Extractors for char* should store null at end *__s = char_type(); -#endif __in.width(0); } catch(...) @@ -1136,11 +1128,10 @@ namespace std __in.setstate(ios_base::eofbit); __in.width(0); } -#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS -//211. operator>>(istream&, string&) doesn't set failbit + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 211. operator>>(istream&, string&) doesn't set failbit if (!__extracted) __in.setstate (ios_base::failbit); -#endif return __in; } diff --git a/libstdc++-v3/include/bits/locale_facets.tcc b/libstdc++-v3/include/bits/locale_facets.tcc index 9d4ec44..ad965ba 100644 --- a/libstdc++-v3/include/bits/locale_facets.tcc +++ b/libstdc++-v3/include/bits/locale_facets.tcc @@ -409,8 +409,8 @@ namespace std return __beg; } -#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS - //17. Bad bool parsing + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 17. Bad bool parsing template _InIter num_get<_CharT, _InIter>:: @@ -479,7 +479,6 @@ namespace std } return __beg; } -#endif template _InIter @@ -863,8 +862,8 @@ namespace std _M_group_float(const string& __grouping, _CharT __sep, const _CharT* __p, _CharT* __new, _CharT* __cs, int& __len) const { -#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS - //282. What types does numpunct grouping refer to? + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 282. What types does numpunct grouping refer to? // Add grouping, if necessary. _CharT* __p2; const int __declen = __p ? __p - __cs : __len; @@ -880,7 +879,6 @@ namespace std __newlen += __len - __declen; } __len = __newlen; -#endif } // The following code uses snprintf (or sprintf(), when diff --git a/libstdc++-v3/include/bits/ostream.tcc b/libstdc++-v3/include/bits/ostream.tcc index fee2f27..df63364 100644 --- a/libstdc++-v3/include/bits/ostream.tcc +++ b/libstdc++-v3/include/bits/ostream.tcc @@ -428,14 +428,13 @@ namespace std { if (!this->fail()) { -#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS -// 136. seekp, seekg setting wrong streams? + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 136. seekp, seekg setting wrong streams? pos_type __err = this->rdbuf()->pubseekpos(__pos, ios_base::out); -// 129. Need error indication from seekp() and seekg() + // 129. Need error indication from seekp() and seekg() if (__err == pos_type(off_type(-1))) this->setstate(ios_base::failbit); -#endif } return *this; } @@ -447,15 +446,14 @@ namespace std { if (!this->fail()) { -#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS -// 136. seekp, seekg setting wrong streams? + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 136. seekp, seekg setting wrong streams? pos_type __err = this->rdbuf()->pubseekoff(__off, __d, ios_base::out); -// 129. Need error indication from seekp() and seekg() + // 129. Need error indication from seekp() and seekg() if (__err == pos_type(off_type(-1))) this->setstate(ios_base::failbit); -#endif } return *this; } @@ -576,11 +574,10 @@ namespace std operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s) { typedef basic_ostream<_CharT, _Traits> __ostream_type; -#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS -// 167. Improper use of traits_type::length() -// Note that this is only in 'Review' status. + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 167. Improper use of traits_type::length() + // Note that this is only in 'Review' status. typedef char_traits __traits_type; -#endif typename __ostream_type::sentry __cerb(__out); if (__cerb && __s) { @@ -672,9 +669,8 @@ namespace std const streamsize __w = __out.width(); streamsize __len = static_cast(__str.size()); const _CharT* __s = __str.data(); -#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS + // _GLIBCXX_RESOLVE_LIB_DEFECTS // 25. String operator<< uses width() value wrong -#endif if (__w > __len) { _CharT* __cs = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) diff --git a/libstdc++-v3/include/bits/stl_function.h b/libstdc++-v3/include/bits/stl_function.h index 9051314..556104c 100644 --- a/libstdc++-v3/include/bits/stl_function.h +++ b/libstdc++-v3/include/bits/stl_function.h @@ -361,13 +361,12 @@ public: operator()(const typename _Operation::second_argument_type& __x) const { return op(value, __x); } -#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS - //109. Missing binders for non-const sequence elements + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 109. Missing binders for non-const sequence elements typename _Operation::result_type operator()(typename _Operation::second_argument_type& __x) const { return op(value, __x); } -#endif }; /// One of the @link s20_3_6_binder binder functors@endlink. @@ -395,13 +394,12 @@ public: operator()(const typename _Operation::first_argument_type& __x) const { return op(__x, value); } -#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS - //109. Missing binders for non-const sequence elements + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 109. Missing binders for non-const sequence elements typename _Operation::result_type operator()(typename _Operation::first_argument_type& __x) const { return op(__x, value); } -#endif }; /// One of the @link s20_3_6_binder binder functors@endlink. diff --git a/libstdc++-v3/include/bits/stl_multiset.h b/libstdc++-v3/include/bits/stl_multiset.h index 7c908e1..49d8c4e 100644 --- a/libstdc++-v3/include/bits/stl_multiset.h +++ b/libstdc++-v3/include/bits/stl_multiset.h @@ -183,8 +183,8 @@ public: size_type count(const key_type& __x) const { return _M_t.count(__x); } -#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS -//214. set::find() missing const overload + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 214. set::find() missing const overload iterator find(const key_type& __x) { return _M_t.find(__x); } const_iterator find(const key_type& __x) const { return _M_t.find(__x); } iterator lower_bound(const key_type& __x) { @@ -205,18 +205,6 @@ public: pair equal_range(const key_type& __x) const { return _M_t.equal_range(__x); } -#else - iterator find(const key_type& __x) const { return _M_t.find(__x); } - iterator lower_bound(const key_type& __x) const { - return _M_t.lower_bound(__x); - } - iterator upper_bound(const key_type& __x) const { - return _M_t.upper_bound(__x); - } - pair equal_range(const key_type& __x) const { - return _M_t.equal_range(__x); - } -#endif template friend bool operator== (const multiset<_K1,_C1,_A1>&, diff --git a/libstdc++-v3/include/bits/stl_pair.h b/libstdc++-v3/include/bits/stl_pair.h index 0d0047f..6b08b93 100644 --- a/libstdc++-v3/include/bits/stl_pair.h +++ b/libstdc++-v3/include/bits/stl_pair.h @@ -72,14 +72,12 @@ struct pair { _T1 first; ///< @c first is a copy of the first object _T2 second; ///< @c second is a copy of the second object -#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS -//265. std::pair::pair() effects overly restrictive + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 265. std::pair::pair() effects overly restrictive /** The default constructor creates @c first and @c second using their * respective default constructors. */ pair() : first(), second() {} -#else - pair() : first(_T1()), second(_T2()) {} -#endif + /** Two objects may be passed to a @c pair constructor to be copied. */ pair(const _T1& __a, const _T2& __b) : first(__a), second(__b) {} @@ -138,12 +136,9 @@ inline bool operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { * the LWG by default. */ template -#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS -//181. make_pair() unintended behavior +// _GLIBCXX_RESOLVE_LIB_DEFECTS +// 181. make_pair() unintended behavior inline pair<_T1, _T2> make_pair(_T1 __x, _T2 __y) -#else -inline pair<_T1, _T2> make_pair(const _T1& __x, const _T2& __y) -#endif { return pair<_T1, _T2>(__x, __y); } diff --git a/libstdc++-v3/include/bits/stl_set.h b/libstdc++-v3/include/bits/stl_set.h index 3c47760..fa8c6cf 100644 --- a/libstdc++-v3/include/bits/stl_set.h +++ b/libstdc++-v3/include/bits/stl_set.h @@ -182,8 +182,8 @@ public: return _M_t.find(__x) == _M_t.end() ? 0 : 1; } -#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS -//214. set::find() missing const overload + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 214. set::find() missing const overload iterator find(const key_type& __x) { return _M_t.find(__x); } const_iterator find(const key_type& __x) const { return _M_t.find(__x); } iterator lower_bound(const key_type& __x) { @@ -204,18 +204,6 @@ public: pair equal_range(const key_type& __x) const { return _M_t.equal_range(__x); } -#else - iterator find(const key_type& __x) const { return _M_t.find(__x); } - iterator lower_bound(const key_type& __x) const { - return _M_t.lower_bound(__x); - } - iterator upper_bound(const key_type& __x) const { - return _M_t.upper_bound(__x); - } - pair equal_range(const key_type& __x) const { - return _M_t.equal_range(__x); - } -#endif template friend bool operator== (const set<_K1,_C1,_A1>&, const set<_K1,_C1,_A1>&); diff --git a/libstdc++-v3/include/bits/streambuf_iterator.h b/libstdc++-v3/include/bits/streambuf_iterator.h index f25cd4f..51d8384 100644 --- a/libstdc++-v3/include/bits/streambuf_iterator.h +++ b/libstdc++-v3/include/bits/streambuf_iterator.h @@ -109,7 +109,7 @@ namespace std return __old; } -#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS + // _GLIBCXX_RESOLVE_LIB_DEFECTS // 110 istreambuf_iterator::equal not const // NB: there is also number 111 (NAD, Future) pending on this function. bool @@ -120,7 +120,6 @@ namespace std bool __beof = traits_type::eq_int_type(__b._M_get(), __eof); return (__thiseof && __beof || (!__thiseof && !__beof)); } -#endif private: int_type diff --git a/libstdc++-v3/include/std/std_iosfwd.h b/libstdc++-v3/include/std/std_iosfwd.h index 0d275a7..71288b5 100644 --- a/libstdc++-v3/include/std/std_iosfwd.h +++ b/libstdc++-v3/include/std/std_iosfwd.h @@ -100,10 +100,9 @@ namespace std template > class ostreambuf_iterator; -#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS + // _GLIBCXX_RESOLVE_LIB_DEFECTS // Not included. (??? Apparently no LWG number?) class ios_base; -#endif /** * @defgroup s27_2_iosfwd I/O Forward Declarations diff --git a/libstdc++-v3/include/std/std_istream.h b/libstdc++-v3/include/std/std_istream.h index ce4e611..f22b503 100644 --- a/libstdc++-v3/include/std/std_istream.h +++ b/libstdc++-v3/include/std/std_istream.h @@ -705,15 +705,14 @@ namespace std public basic_ostream<_CharT, _Traits> { public: -#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS -// 271. basic_iostream missing typedefs + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 271. basic_iostream missing typedefs // Types (inherited): typedef _CharT char_type; typedef typename _Traits::int_type int_type; typedef typename _Traits::pos_type pos_type; typedef typename _Traits::off_type off_type; typedef _Traits traits_type; -#endif // Non-standard Types: typedef basic_istream<_CharT, _Traits> __istream_type; diff --git a/libstdc++-v3/include/std/std_sstream.h b/libstdc++-v3/include/std/std_sstream.h index c856eb0..a2ffcef 100644 --- a/libstdc++-v3/include/std/std_sstream.h +++ b/libstdc++-v3/include/std/std_sstream.h @@ -65,10 +65,9 @@ namespace std // Types: typedef _CharT char_type; typedef _Traits traits_type; -#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS -// 251. basic_stringbuf missing allocator_type + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 251. basic_stringbuf missing allocator_type typedef _Alloc allocator_type; -#endif typedef typename traits_type::int_type int_type; typedef typename traits_type::pos_type pos_type; typedef typename traits_type::off_type off_type; @@ -304,10 +303,9 @@ namespace std // Types: typedef _CharT char_type; typedef _Traits traits_type; -#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS -// 251. basic_stringbuf missing allocator_type + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 251. basic_stringbuf missing allocator_type typedef _Alloc allocator_type; -#endif typedef typename traits_type::int_type int_type; typedef typename traits_type::pos_type pos_type; typedef typename traits_type::off_type off_type; @@ -423,10 +421,9 @@ namespace std // Types: typedef _CharT char_type; typedef _Traits traits_type; -#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS -// 251. basic_stringbuf missing allocator_type + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 251. basic_stringbuf missing allocator_type typedef _Alloc allocator_type; -#endif typedef typename traits_type::int_type int_type; typedef typename traits_type::pos_type pos_type; typedef typename traits_type::off_type off_type; @@ -542,10 +539,9 @@ namespace std // Types: typedef _CharT char_type; typedef _Traits traits_type; -#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS -// 251. basic_stringbuf missing allocator_type + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 251. basic_stringbuf missing allocator_type typedef _Alloc allocator_type; -#endif typedef typename traits_type::int_type int_type; typedef typename traits_type::pos_type pos_type; typedef typename traits_type::off_type off_type; diff --git a/libstdc++-v3/include/std/std_streambuf.h b/libstdc++-v3/include/std/std_streambuf.h index dc43db0..e8a4992 100644 --- a/libstdc++-v3/include/std/std_streambuf.h +++ b/libstdc++-v3/include/std/std_streambuf.h @@ -764,14 +764,13 @@ namespace std } #endif -#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS + // _GLIBCXX_RESOLVE_LIB_DEFECTS // Side effect of DR 50. private: basic_streambuf(const __streambuf_type&) { }; __streambuf_type& operator=(const __streambuf_type&) { return *this; }; -#endif }; } // namespace std diff --git a/libstdc++-v3/src/ios.cc b/libstdc++-v3/src/ios.cc index ee28205..616f4f5 100644 --- a/libstdc++-v3/src/ios.cc +++ b/libstdc++-v3/src/ios.cc @@ -338,10 +338,9 @@ namespace std bool ios_base::sync_with_stdio(bool __sync) { -#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS + // _GLIBCXX_RESOLVE_LIB_DEFECTS // 49. Underspecification of ios_base::sync_with_stdio bool __ret = ios_base::Init::_S_synced_with_stdio; -#endif // Turn off sync with C FILE* for cin, cout, cerr, clog iff // currently synchronized. diff --git a/libstdc++-v3/testsuite/27_io/ios_base/cons/assign_neg.cc b/libstdc++-v3/testsuite/27_io/ios_base/cons/assign_neg.cc index fe7a8ef..ae7ba3c 100644 --- a/libstdc++-v3/testsuite/27_io/ios_base/cons/assign_neg.cc +++ b/libstdc++-v3/testsuite/27_io/ios_base/cons/assign_neg.cc @@ -41,5 +41,5 @@ void test01() io1 = io2; } // { dg-error "within this context" "" { target *-*-* } 41 } -// { dg-error "is private" "" { target *-*-* } 747 } +// { dg-error "is private" "" { target *-*-* } 746 } // { dg-error "operator=" "" { target *-*-* } 0 } diff --git a/libstdc++-v3/testsuite/27_io/ios_base/cons/copy_neg.cc b/libstdc++-v3/testsuite/27_io/ios_base/cons/copy_neg.cc index 55033f9..9dfde27 100644 --- a/libstdc++-v3/testsuite/27_io/ios_base/cons/copy_neg.cc +++ b/libstdc++-v3/testsuite/27_io/ios_base/cons/copy_neg.cc @@ -41,5 +41,5 @@ void test02() test_base io2 = io1; } // { dg-error "within this context" "" { target *-*-* } 41 } -// { dg-error "is private" "" { target *-*-* } 744 } +// { dg-error "is private" "" { target *-*-* } 743 } // { dg-error "copy constructor" "" { target *-*-* } 0 } -- 2.7.4