Commit 32ade559 by Benjamin Kosnik Committed by Benjamin Kosnik

ios_locale.cc: Fixes for -pedantic.

 2010-02-16  Benjamin Kosnik  <bkoz@redhat.com>

	* src/ios_locale.cc: Fixes for -pedantic.
	* src/system_error.cc: Same.
	* src/locale.cc: Same.
	* src/list.cc: Same.
	* src/locale_facets.cc: Same.
	* src/locale_init.cc: Same.
	* src/ios.cc: Same.
	* config/locale/darwin/ctype_members.cc: Same.
	* config/locale/gnu/collate_members.cc: Same.
	* config/locale/gnu/ctype_members.cc: Same.
	* config/locale/gnu/c_locale.cc: Same.
	* config/locale/gnu/monetary_members.cc: Same.
	* config/locale/gnu/time_members.cc: Same.
	* config/locale/ieee_1003.1-2001/c_locale.cc: Same.
	* config/locale/generic/collate_members.cc: Same.
	* config/locale/generic/ctype_members.cc: Same.
	* config/locale/generic/c_locale.cc: Same.
	* config/locale/generic/monetary_members.cc: Same.
	* config/locale/generic/time_members.cc: Same.
	* config/io/basic_file_stdio.cc: Same.

	* libsupc++/pbase_type_info.cc: Fixes for -fno-rtti.
	* libsupc++/pointer_type_info.cc: Same.
	* libsupc++/eh_personality.cc: Same.

	* include/std/system_error: Throw spacing.
	* include/bits/locale_classes.h: Same.
	* include/bits/locale_facets.h: Same.
	* include/bits/ios_base.h: Same.

	* testsuite/17_intro/headers/c++200x/all_no_rtti.cc: New.
	* testsuite/17_intro/headers/c++1998/all_no_rtti.cc: New

From-SVN: r156822
parent bc349d0a
2010-02-16 Benjamin Kosnik <bkoz@redhat.com>
* src/ios_locale.cc: Fixes for -pedantic.
* src/system_error.cc: Same.
* src/locale.cc: Same.
* src/list.cc: Same.
* src/locale_facets.cc: Same.
* src/locale_init.cc: Same.
* src/ios.cc: Same.
* config/locale/darwin/ctype_members.cc: Same.
* config/locale/gnu/collate_members.cc: Same.
* config/locale/gnu/ctype_members.cc: Same.
* config/locale/gnu/c_locale.cc: Same.
* config/locale/gnu/monetary_members.cc: Same.
* config/locale/gnu/time_members.cc: Same.
* config/locale/ieee_1003.1-2001/c_locale.cc: Same.
* config/locale/generic/collate_members.cc: Same.
* config/locale/generic/ctype_members.cc: Same.
* config/locale/generic/c_locale.cc: Same.
* config/locale/generic/monetary_members.cc: Same.
* config/locale/generic/time_members.cc: Same.
* config/io/basic_file_stdio.cc: Same.
* libsupc++/pbase_type_info.cc: Fixes for -fno-rtti.
* libsupc++/pointer_type_info.cc: Same.
* libsupc++/eh_personality.cc: Same.
* include/std/system_error: Throw spacing.
* include/bits/locale_classes.h: Same.
* include/bits/locale_facets.h: Same.
* include/bits/ios_base.h: Same.
* testsuite/17_intro/headers/c++200x/all_no_rtti.cc: New.
* testsuite/17_intro/headers/c++1998/all_no_rtti.cc: New.
2010-02-16 Paolo Carlini <paolo.carlini@oracle.com> 2010-02-16 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/random.h (linear_congruential_engine(_Sseq&), * include/bits/random.h (linear_congruential_engine(_Sseq&),
......
// Wrapper of C-language FILE struct -*- C++ -*- // Wrapper of C-language FILE struct -*- C++ -*-
// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2006, 2007, 2009 // Copyright (C) 2000, 2001, 2002, 2003, 2004, 2006, 2007, 2009, 2010
// Free Software Foundation, Inc. // Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
...@@ -182,7 +182,7 @@ namespace ...@@ -182,7 +182,7 @@ namespace
_GLIBCXX_BEGIN_NAMESPACE(std) _GLIBCXX_BEGIN_NAMESPACE(std)
// Definitions for __basic_file<char>. // Definitions for __basic_file<char>.
__basic_file<char>::__basic_file(__c_lock* /*__lock*/) __basic_file<char>::__basic_file(__c_lock* /*__lock*/) throw()
: _M_cfile(NULL), _M_cfile_created(false) { } : _M_cfile(NULL), _M_cfile_created(false) { }
__basic_file<char>::~__basic_file() __basic_file<char>::~__basic_file()
......
// std::ctype implementation details, GNU version -*- C++ -*- // std::ctype implementation details, GNU version -*- C++ -*-
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 // Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
// Free Software Foundation, Inc. // Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
...@@ -55,7 +55,7 @@ namespace std ...@@ -55,7 +55,7 @@ namespace std
#ifdef _GLIBCXX_USE_WCHAR_T #ifdef _GLIBCXX_USE_WCHAR_T
ctype<wchar_t>::__wmask_type ctype<wchar_t>::__wmask_type
ctype<wchar_t>::_M_convert_to_wmask(const mask __m) const ctype<wchar_t>::_M_convert_to_wmask(const mask __m) const throw()
{ {
// Darwin uses the same codes for 'char' as 'wchar_t', so this routine // Darwin uses the same codes for 'char' as 'wchar_t', so this routine
// never gets called. // never gets called.
...@@ -150,7 +150,7 @@ namespace std ...@@ -150,7 +150,7 @@ namespace std
} }
void void
ctype<wchar_t>::_M_initialize_ctype() ctype<wchar_t>::_M_initialize_ctype() throw()
{ {
wint_t __i; wint_t __i;
for (__i = 0; __i < 128; ++__i) for (__i = 0; __i < 128; ++__i)
......
// Wrapper for underlying C-language localization -*- C++ -*- // Wrapper for underlying C-language localization -*- C++ -*-
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 // Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
// Free Software Foundation, Inc. // Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
...@@ -46,8 +46,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -46,8 +46,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<> template<>
void void
__convert_to_v(const char* __s, float& __v, ios_base::iostate& __err, __convert_to_v(const char* __s, float& __v, ios_base::iostate& __err,
const __c_locale&) const __c_locale&) throw()
{ {
// Assumes __s formatted for "C" locale. // Assumes __s formatted for "C" locale.
char* __old = setlocale(LC_ALL, NULL); char* __old = setlocale(LC_ALL, NULL);
...@@ -111,8 +111,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -111,8 +111,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<> template<>
void void
__convert_to_v(const char* __s, double& __v, ios_base::iostate& __err, __convert_to_v(const char* __s, double& __v, ios_base::iostate& __err,
const __c_locale&) const __c_locale&) throw()
{ {
// Assumes __s formatted for "C" locale. // Assumes __s formatted for "C" locale.
char* __old = setlocale(LC_ALL, NULL); char* __old = setlocale(LC_ALL, NULL);
...@@ -139,7 +139,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -139,7 +139,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#if __DBL_HAS_INFINITY__ #if __DBL_HAS_INFINITY__
__v == numeric_limits<double>::infinity() __v == numeric_limits<double>::infinity()
|| __v == -numeric_limits<double>::infinity()) || __v == -numeric_limits<double>::infinity())
#else #else
(__v > 1.0 || __v < -1.0) && errno == ERANGE) (__v > 1.0 || __v < -1.0) && errno == ERANGE)
#endif #endif
{ {
...@@ -156,8 +156,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -156,8 +156,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<> template<>
void void
__convert_to_v(const char* __s, long double& __v, __convert_to_v(const char* __s, long double& __v,
ios_base::iostate& __err, const __c_locale&) ios_base::iostate& __err, const __c_locale&) throw()
{ {
// Assumes __s formatted for "C" locale. // Assumes __s formatted for "C" locale.
char* __old = setlocale(LC_ALL, NULL); char* __old = setlocale(LC_ALL, NULL);
...@@ -189,10 +189,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -189,10 +189,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
} }
else if ( else if (
#if __LDBL_HAS_INFINITY__ #if __LDBL_HAS_INFINITY__
__v == numeric_limits<long double>::infinity() __v == numeric_limits<long double>::infinity()
|| __v == -numeric_limits<long double>::infinity()) || __v == -numeric_limits<long double>::infinity())
#else #else
(__v > 1.0l || __v < -1.0l) && errno == ERANGE) (__v > 1.0l || __v < -1.0l) && errno == ERANGE)
#endif #endif
{ {
if (__v > 0.0l) if (__v > 0.0l)
...@@ -207,7 +207,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -207,7 +207,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
} }
void void
locale::facet::_S_create_c_locale(__c_locale& __cloc, const char* __s, locale::facet::_S_create_c_locale(__c_locale& __cloc, const char* __s,
__c_locale) __c_locale)
{ {
// Currently, the generic model only supports the "C" locale. // Currently, the generic model only supports the "C" locale.
...@@ -223,7 +223,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -223,7 +223,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{ __cloc = NULL; } { __cloc = NULL; }
__c_locale __c_locale
locale::facet::_S_clone_c_locale(__c_locale&) locale::facet::_S_clone_c_locale(__c_locale&) throw()
{ return __c_locale(); } { return __c_locale(); }
__c_locale __c_locale
...@@ -236,10 +236,10 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) ...@@ -236,10 +236,10 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
const char* const category_names[6 + _GLIBCXX_NUM_CATEGORIES] = const char* const category_names[6 + _GLIBCXX_NUM_CATEGORIES] =
{ {
"LC_CTYPE", "LC_CTYPE",
"LC_NUMERIC", "LC_NUMERIC",
"LC_TIME", "LC_TIME",
"LC_COLLATE", "LC_COLLATE",
"LC_MONETARY", "LC_MONETARY",
"LC_MESSAGES" "LC_MESSAGES"
}; };
......
// std::collate implementation details, generic version -*- C++ -*- // std::collate implementation details, generic version -*- C++ -*-
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 // Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010
// Free Software Foundation, Inc. // Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
...@@ -38,7 +38,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -38,7 +38,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// be put there instead of here. // be put there instead of here.
template<> template<>
int int
collate<char>::_M_compare(const char* __one, const char* __two) const collate<char>::_M_compare(const char* __one,
const char* __two) const throw()
{ {
int __cmp = strcoll(__one, __two); int __cmp = strcoll(__one, __two);
return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0); return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
...@@ -47,14 +48,14 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -47,14 +48,14 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<> template<>
size_t size_t
collate<char>::_M_transform(char* __to, const char* __from, collate<char>::_M_transform(char* __to, const char* __from,
size_t __n) const size_t __n) const throw()
{ return strxfrm(__to, __from, __n); } { return strxfrm(__to, __from, __n); }
#ifdef _GLIBCXX_USE_WCHAR_T #ifdef _GLIBCXX_USE_WCHAR_T
template<> template<>
int int
collate<wchar_t>::_M_compare(const wchar_t* __one, collate<wchar_t>::_M_compare(const wchar_t* __one,
const wchar_t* __two) const const wchar_t* __two) const throw()
{ {
int __cmp = wcscoll(__one, __two); int __cmp = wcscoll(__one, __two);
return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0); return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
...@@ -63,7 +64,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -63,7 +64,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<> template<>
size_t size_t
collate<wchar_t>::_M_transform(wchar_t* __to, const wchar_t* __from, collate<wchar_t>::_M_transform(wchar_t* __to, const wchar_t* __from,
size_t __n) const size_t __n) const throw()
{ return wcsxfrm(__to, __from, __n); } { return wcsxfrm(__to, __from, __n); }
#endif #endif
......
// std::ctype implementation details, generic version -*- C++ -*- // std::ctype implementation details, generic version -*- C++ -*-
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 // Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
// Free Software Foundation, Inc. // Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
...@@ -53,7 +53,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -53,7 +53,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#ifdef _GLIBCXX_USE_WCHAR_T #ifdef _GLIBCXX_USE_WCHAR_T
ctype<wchar_t>::__wmask_type ctype<wchar_t>::__wmask_type
ctype<wchar_t>::_M_convert_to_wmask(const mask __m) const ctype<wchar_t>::_M_convert_to_wmask(const mask __m) const throw()
{ {
__wmask_type __ret; __wmask_type __ret;
switch (__m) switch (__m)
...@@ -239,7 +239,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -239,7 +239,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
} }
void void
ctype<wchar_t>::_M_initialize_ctype() ctype<wchar_t>::_M_initialize_ctype() throw()
{ {
wint_t __i; wint_t __i;
for (__i = 0; __i < 128; ++__i) for (__i = 0; __i < 128; ++__i)
......
// std::moneypunct implementation details, generic version -*- C++ -*- // std::moneypunct implementation details, generic version -*- C++ -*-
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009 Free Software Foundation, Inc. // Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009, 2010
// Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -35,10 +36,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -35,10 +36,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// Construct and return valid pattern consisting of some combination of: // Construct and return valid pattern consisting of some combination of:
// space none symbol sign value // space none symbol sign value
money_base::pattern money_base::pattern
money_base::_S_construct_pattern(char, char, char) money_base::_S_construct_pattern(char, char, char) throw()
{ return _S_default_pattern; } { return _S_default_pattern; }
template<> template<>
void void
moneypunct<char, true>::_M_initialize_moneypunct(__c_locale, const char*) moneypunct<char, true>::_M_initialize_moneypunct(__c_locale, const char*)
{ {
...@@ -64,7 +65,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -64,7 +65,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_M_data->_M_atoms[__i] = money_base::_S_atoms[__i]; _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
} }
template<> template<>
void void
moneypunct<char, false>::_M_initialize_moneypunct(__c_locale, const char*) moneypunct<char, false>::_M_initialize_moneypunct(__c_locale, const char*)
{ {
...@@ -90,18 +91,18 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -90,18 +91,18 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_M_data->_M_atoms[__i] = money_base::_S_atoms[__i]; _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
} }
template<> template<>
moneypunct<char, true>::~moneypunct() moneypunct<char, true>::~moneypunct()
{ delete _M_data; } { delete _M_data; }
template<> template<>
moneypunct<char, false>::~moneypunct() moneypunct<char, false>::~moneypunct()
{ delete _M_data; } { delete _M_data; }
#ifdef _GLIBCXX_USE_WCHAR_T #ifdef _GLIBCXX_USE_WCHAR_T
template<> template<>
void void
moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale, moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale,
const char*) const char*)
{ {
// "C" locale // "C" locale
...@@ -115,9 +116,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -115,9 +116,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_M_data->_M_curr_symbol = L""; _M_data->_M_curr_symbol = L"";
_M_data->_M_curr_symbol_size = 0; _M_data->_M_curr_symbol_size = 0;
_M_data->_M_positive_sign = L""; _M_data->_M_positive_sign = L"";
_M_data->_M_positive_sign_size = 0; _M_data->_M_positive_sign_size = 0;
_M_data->_M_negative_sign = L""; _M_data->_M_negative_sign = L"";
_M_data->_M_negative_sign_size = 0; _M_data->_M_negative_sign_size = 0;
_M_data->_M_frac_digits = 0; _M_data->_M_frac_digits = 0;
_M_data->_M_pos_format = money_base::_S_default_pattern; _M_data->_M_pos_format = money_base::_S_default_pattern;
_M_data->_M_neg_format = money_base::_S_default_pattern; _M_data->_M_neg_format = money_base::_S_default_pattern;
...@@ -127,9 +128,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -127,9 +128,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
static_cast<wchar_t>(money_base::_S_atoms[__i]); static_cast<wchar_t>(money_base::_S_atoms[__i]);
} }
template<> template<>
void void
moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale, moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale,
const char*) const char*)
{ {
// "C" locale // "C" locale
...@@ -155,11 +156,11 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -155,11 +156,11 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
static_cast<wchar_t>(money_base::_S_atoms[__i]); static_cast<wchar_t>(money_base::_S_atoms[__i]);
} }
template<> template<>
moneypunct<wchar_t, true>::~moneypunct() moneypunct<wchar_t, true>::~moneypunct()
{ delete _M_data; } { delete _M_data; }
template<> template<>
moneypunct<wchar_t, false>::~moneypunct() moneypunct<wchar_t, false>::~moneypunct()
{ delete _M_data; } { delete _M_data; }
#endif #endif
......
// std::time_get, std::time_put implementation, generic version -*- C++ -*- // std::time_get, std::time_put implementation, generic version -*- C++ -*-
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 // Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010
// Free Software Foundation, Inc. // Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
...@@ -39,8 +39,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -39,8 +39,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<> template<>
void void
__timepunct<char>:: __timepunct<char>::
_M_put(char* __s, size_t __maxlen, const char* __format, _M_put(char* __s, size_t __maxlen, const char* __format,
const tm* __tm) const const tm* __tm) const throw()
{ {
char* __old = setlocale(LC_ALL, NULL); char* __old = setlocale(LC_ALL, NULL);
const size_t __llen = strlen(__old) + 1; const size_t __llen = strlen(__old) + 1;
...@@ -55,10 +55,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -55,10 +55,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
__s[0] = '\0'; __s[0] = '\0';
} }
template<> template<>
void void
__timepunct<char>::_M_initialize_timepunct(__c_locale) __timepunct<char>::_M_initialize_timepunct(__c_locale)
{ {
// "C" locale. // "C" locale.
if (!_M_data) if (!_M_data)
_M_data = new __timepunct_cache<char>; _M_data = new __timepunct_cache<char>;
...@@ -72,7 +72,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -72,7 +72,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_M_data->_M_am = "AM"; _M_data->_M_am = "AM";
_M_data->_M_pm = "PM"; _M_data->_M_pm = "PM";
_M_data->_M_am_pm_format = ""; _M_data->_M_am_pm_format = "";
// Day names, starting with "C"'s Sunday. // Day names, starting with "C"'s Sunday.
_M_data->_M_day1 = "Sunday"; _M_data->_M_day1 = "Sunday";
_M_data->_M_day2 = "Monday"; _M_data->_M_day2 = "Monday";
...@@ -124,8 +124,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -124,8 +124,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<> template<>
void void
__timepunct<wchar_t>:: __timepunct<wchar_t>::
_M_put(wchar_t* __s, size_t __maxlen, const wchar_t* __format, _M_put(wchar_t* __s, size_t __maxlen, const wchar_t* __format,
const tm* __tm) const const tm* __tm) const throw()
{ {
char* __old = setlocale(LC_ALL, NULL); char* __old = setlocale(LC_ALL, NULL);
const size_t __llen = strlen(__old) + 1; const size_t __llen = strlen(__old) + 1;
...@@ -137,10 +137,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -137,10 +137,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
delete [] __sav; delete [] __sav;
// Make sure __s is null terminated. // Make sure __s is null terminated.
if (__len == 0) if (__len == 0)
__s[0] = L'\0'; __s[0] = L'\0';
} }
template<> template<>
void void
__timepunct<wchar_t>::_M_initialize_timepunct(__c_locale) __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale)
{ {
......
// Wrapper for underlying C-language localization -*- C++ -*- // Wrapper for underlying C-language localization -*- C++ -*-
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 // Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
// Free Software Foundation, Inc. // Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
...@@ -40,7 +40,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -40,7 +40,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<> template<>
void void
__convert_to_v(const char* __s, float& __v, ios_base::iostate& __err, __convert_to_v(const char* __s, float& __v, ios_base::iostate& __err,
const __c_locale& __cloc) const __c_locale& __cloc) throw()
{ {
char* __sanity; char* __sanity;
__v = __strtof_l(__s, &__sanity, __cloc); __v = __strtof_l(__s, &__sanity, __cloc);
...@@ -67,7 +67,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -67,7 +67,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<> template<>
void void
__convert_to_v(const char* __s, double& __v, ios_base::iostate& __err, __convert_to_v(const char* __s, double& __v, ios_base::iostate& __err,
const __c_locale& __cloc) const __c_locale& __cloc) throw()
{ {
char* __sanity; char* __sanity;
__v = __strtod_l(__s, &__sanity, __cloc); __v = __strtod_l(__s, &__sanity, __cloc);
...@@ -94,7 +94,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -94,7 +94,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<> template<>
void void
__convert_to_v(const char* __s, long double& __v, ios_base::iostate& __err, __convert_to_v(const char* __s, long double& __v, ios_base::iostate& __err,
const __c_locale& __cloc) const __c_locale& __cloc) throw()
{ {
char* __sanity; char* __sanity;
#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
...@@ -145,7 +145,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -145,7 +145,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
} }
__c_locale __c_locale
locale::facet::_S_clone_c_locale(__c_locale& __cloc) locale::facet::_S_clone_c_locale(__c_locale& __cloc) throw()
{ return __duplocale(__cloc); } { return __duplocale(__cloc); }
__c_locale __c_locale
......
// std::collate implementation details, GNU version -*- C++ -*- // std::collate implementation details, GNU version -*- C++ -*-
// Copyright (C) 2001, 2002, 2005, 2009 Free Software Foundation, Inc. // Copyright (C) 2001, 2002, 2005, 2009, 2010 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -37,7 +37,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -37,7 +37,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// be put there instead of here. // be put there instead of here.
template<> template<>
int int
collate<char>::_M_compare(const char* __one, const char* __two) const collate<char>::_M_compare(const char* __one,
const char* __two) const throw()
{ {
int __cmp = __strcoll_l(__one, __two, _M_c_locale_collate); int __cmp = __strcoll_l(__one, __two, _M_c_locale_collate);
return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0); return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
...@@ -46,14 +47,14 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -46,14 +47,14 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<> template<>
size_t size_t
collate<char>::_M_transform(char* __to, const char* __from, collate<char>::_M_transform(char* __to, const char* __from,
size_t __n) const size_t __n) const throw()
{ return __strxfrm_l(__to, __from, __n, _M_c_locale_collate); } { return __strxfrm_l(__to, __from, __n, _M_c_locale_collate); }
#ifdef _GLIBCXX_USE_WCHAR_T #ifdef _GLIBCXX_USE_WCHAR_T
template<> template<>
int int
collate<wchar_t>::_M_compare(const wchar_t* __one, collate<wchar_t>::_M_compare(const wchar_t* __one,
const wchar_t* __two) const const wchar_t* __two) const throw()
{ {
int __cmp = __wcscoll_l(__one, __two, _M_c_locale_collate); int __cmp = __wcscoll_l(__one, __two, _M_c_locale_collate);
return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0); return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
...@@ -62,7 +63,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -62,7 +63,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<> template<>
size_t size_t
collate<wchar_t>::_M_transform(wchar_t* __to, const wchar_t* __from, collate<wchar_t>::_M_transform(wchar_t* __to, const wchar_t* __from,
size_t __n) const size_t __n) const throw()
{ return __wcsxfrm_l(__to, __from, __n, _M_c_locale_collate); } { return __wcsxfrm_l(__to, __from, __n, _M_c_locale_collate); }
#endif #endif
......
// std::ctype implementation details, GNU version -*- C++ -*- // std::ctype implementation details, GNU version -*- C++ -*-
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 // Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
// Free Software Foundation, Inc. // Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
...@@ -55,7 +55,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -55,7 +55,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#ifdef _GLIBCXX_USE_WCHAR_T #ifdef _GLIBCXX_USE_WCHAR_T
ctype<wchar_t>::__wmask_type ctype<wchar_t>::__wmask_type
ctype<wchar_t>::_M_convert_to_wmask(const mask __m) const ctype<wchar_t>::_M_convert_to_wmask(const mask __m) const throw()
{ {
__wmask_type __ret; __wmask_type __ret;
switch (__m) switch (__m)
...@@ -267,7 +267,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -267,7 +267,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
} }
void void
ctype<wchar_t>::_M_initialize_ctype() ctype<wchar_t>::_M_initialize_ctype() throw()
{ {
#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
__c_locale __old = __uselocale(_M_c_locale_ctype); __c_locale __old = __uselocale(_M_c_locale_ctype);
......
// std::moneypunct implementation details, GNU version -*- C++ -*- // std::moneypunct implementation details, GNU version -*- C++ -*-
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 // Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
// Free Software Foundation, Inc. // Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
...@@ -37,7 +37,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -37,7 +37,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// Construct and return valid pattern consisting of some combination of: // Construct and return valid pattern consisting of some combination of:
// space none symbol sign value // space none symbol sign value
money_base::pattern money_base::pattern
money_base::_S_construct_pattern(char __precedes, char __space, char __posn) money_base::_S_construct_pattern(char __precedes, char __space,
char __posn) throw()
{ {
pattern __ret; pattern __ret;
......
// std::time_get, std::time_put implementation, GNU version -*- C++ -*- // std::time_get, std::time_put implementation, GNU version -*- C++ -*-
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 // Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010
// Free Software Foundation, Inc. // Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
...@@ -39,7 +39,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -39,7 +39,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
void void
__timepunct<char>:: __timepunct<char>::
_M_put(char* __s, size_t __maxlen, const char* __format, _M_put(char* __s, size_t __maxlen, const char* __format,
const tm* __tm) const const tm* __tm) const throw()
{ {
#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
const size_t __len = __strftime_l(__s, __maxlen, __format, __tm, const size_t __len = __strftime_l(__s, __maxlen, __format, __tm,
...@@ -195,7 +195,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -195,7 +195,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
void void
__timepunct<wchar_t>:: __timepunct<wchar_t>::
_M_put(wchar_t* __s, size_t __maxlen, const wchar_t* __format, _M_put(wchar_t* __s, size_t __maxlen, const wchar_t* __format,
const tm* __tm) const const tm* __tm) const throw()
{ {
#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
const size_t __len = __wcsftime_l(__s, __maxlen, __format, __tm, const size_t __len = __wcsftime_l(__s, __maxlen, __format, __tm,
......
// Wrapper for underlying C-language localization -*- C++ -*- // Wrapper for underlying C-language localization -*- C++ -*-
// Copyright (C) 2001, 2002, 2009 Free Software Foundation, Inc. // Copyright (C) 2001, 2002, 2009, 2010 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -41,7 +41,7 @@ namespace std ...@@ -41,7 +41,7 @@ namespace std
{ } { }
__c_locale __c_locale
locale::facet::_S_clone_c_locale(__c_locale&) locale::facet::_S_clone_c_locale(__c_locale&) throw()
{ return __c_locale(); } { return __c_locale(); }
template<> template<>
......
...@@ -521,7 +521,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -521,7 +521,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
locale _M_ios_locale; locale _M_ios_locale;
void void
_M_init() throw (); _M_init() throw();
public: public:
...@@ -680,7 +680,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -680,7 +680,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* with imbue_event. * with imbue_event.
*/ */
locale locale
imbue(const locale& __loc) throw (); imbue(const locale& __loc) throw();
/** /**
* @brief Locale access * @brief Locale access
......
...@@ -222,7 +222,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -222,7 +222,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* copies, or have the same name. False otherwise. * copies, or have the same name. False otherwise.
*/ */
bool bool
operator==(const locale& __other) const throw (); operator==(const locale& __other) const throw();
/** /**
* @brief Locale inequality. * @brief Locale inequality.
...@@ -231,7 +231,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -231,7 +231,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* @return ! (*this == other) * @return ! (*this == other)
*/ */
bool bool
operator!=(const locale& __other) const throw () operator!=(const locale& __other) const throw()
{ return !(this->operator==(__other)); } { return !(this->operator==(__other)); }
/** /**
...@@ -313,7 +313,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -313,7 +313,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_S_initialize(); _S_initialize();
static void static void
_S_initialize_once() throw (); _S_initialize_once() throw();
static category static category
_S_normalize_category(category); _S_normalize_category(category);
...@@ -378,7 +378,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -378,7 +378,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
__c_locale __old = 0); __c_locale __old = 0);
static __c_locale static __c_locale
_S_clone_c_locale(__c_locale& __cloc) throw (); _S_clone_c_locale(__c_locale& __cloc) throw();
static void static void
_S_destroy_c_locale(__c_locale& __cloc); _S_destroy_c_locale(__c_locale& __cloc);
...@@ -392,7 +392,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -392,7 +392,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_S_get_c_locale(); _S_get_c_locale();
_GLIBCXX_CONST static const char* _GLIBCXX_CONST static const char*
_S_get_c_name() throw (); _S_get_c_name() throw();
private: private:
void void
...@@ -441,7 +441,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -441,7 +441,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<typename _Facet> template<typename _Facet>
friend bool friend bool
has_facet(const locale&) throw (); has_facet(const locale&) throw();
// NB: There is no accessor for _M_index because it may be used // NB: There is no accessor for _M_index because it may be used
// before the constructor is run; the effect of calling a member // before the constructor is run; the effect of calling a member
...@@ -463,7 +463,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -463,7 +463,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
id() { } id() { }
size_t size_t
_M_id() const throw (); _M_id() const throw();
}; };
...@@ -703,10 +703,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -703,10 +703,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// Used to abstract out _CharT bits in virtual member functions, below. // Used to abstract out _CharT bits in virtual member functions, below.
int int
_M_compare(const _CharT*, const _CharT*) const throw (); _M_compare(const _CharT*, const _CharT*) const throw();
size_t size_t
_M_transform(_CharT*, const _CharT*, size_t) const throw (); _M_transform(_CharT*, const _CharT*, size_t) const throw();
protected: protected:
/// Destructor. /// Destructor.
...@@ -765,20 +765,20 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -765,20 +765,20 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// Specializations. // Specializations.
template<> template<>
int int
collate<char>::_M_compare(const char*, const char*) const throw (); collate<char>::_M_compare(const char*, const char*) const throw();
template<> template<>
size_t size_t
collate<char>::_M_transform(char*, const char*, size_t) const throw (); collate<char>::_M_transform(char*, const char*, size_t) const throw();
#ifdef _GLIBCXX_USE_WCHAR_T #ifdef _GLIBCXX_USE_WCHAR_T
template<> template<>
int int
collate<wchar_t>::_M_compare(const wchar_t*, const wchar_t*) const throw (); collate<wchar_t>::_M_compare(const wchar_t*, const wchar_t*) const throw();
template<> template<>
size_t size_t
collate<wchar_t>::_M_transform(wchar_t*, const wchar_t*, size_t) const throw (); collate<wchar_t>::_M_transform(wchar_t*, const wchar_t*, size_t) const throw();
#endif #endif
/// class collate_byname [22.2.4.2]. /// class collate_byname [22.2.4.2].
......
...@@ -70,17 +70,17 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -70,17 +70,17 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<> template<>
void void
__convert_to_v(const char*, float&, ios_base::iostate&, __convert_to_v(const char*, float&, ios_base::iostate&,
const __c_locale&) throw (); const __c_locale&) throw();
template<> template<>
void void
__convert_to_v(const char*, double&, ios_base::iostate&, __convert_to_v(const char*, double&, ios_base::iostate&,
const __c_locale&) throw (); const __c_locale&) throw();
template<> template<>
void void
__convert_to_v(const char*, long double&, ios_base::iostate&, __convert_to_v(const char*, long double&, ios_base::iostate&,
const __c_locale&) throw (); const __c_locale&) throw();
// NB: __pad is a struct, rather than a function, so it can be // NB: __pad is a struct, rather than a function, so it can be
// partially-specialized. // partially-specialized.
...@@ -1219,7 +1219,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -1219,7 +1219,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
protected: protected:
__wmask_type __wmask_type
_M_convert_to_wmask(const mask __m) const throw (); _M_convert_to_wmask(const mask __m) const throw();
/// Destructor /// Destructor
virtual virtual
...@@ -1457,7 +1457,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -1457,7 +1457,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// For use at construction time only. // For use at construction time only.
void void
_M_initialize_ctype() throw (); _M_initialize_ctype() throw();
}; };
#endif //_GLIBCXX_USE_WCHAR_T #endif //_GLIBCXX_USE_WCHAR_T
...@@ -1557,7 +1557,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -1557,7 +1557,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// num_put // num_put
// Construct and return valid scanf format for floating point types. // Construct and return valid scanf format for floating point types.
static void static void
_S_format_float(const ios_base& __io, char* __fptr, char __mod) throw (); _S_format_float(const ios_base& __io, char* __fptr, char __mod) throw();
}; };
template<typename _CharT> template<typename _CharT>
......
...@@ -103,8 +103,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -103,8 +103,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
inline error_category::error_category() = default; inline error_category::error_category() = default;
// DR 890. // DR 890.
_GLIBCXX_CONST const error_category& system_category() throw (); _GLIBCXX_CONST const error_category& system_category() throw();
_GLIBCXX_CONST const error_category& generic_category() throw (); _GLIBCXX_CONST const error_category& generic_category() throw();
error_code make_error_code(errc); error_code make_error_code(errc);
......
// -*- C++ -*- The GNU C++ exception personality routine. // -*- C++ -*- The GNU C++ exception personality routine.
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 // Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
// Free Software Foundation, Inc. // Free Software Foundation, Inc.
// //
// This file is part of GCC. // This file is part of GCC.
...@@ -549,6 +549,7 @@ PERSONALITY_FUNCTION (int version, ...@@ -549,6 +549,7 @@ PERSONALITY_FUNCTION (int version,
else if (!foreign_exception) else if (!foreign_exception)
thrown_ptr = __get_object_from_ue (ue_header); thrown_ptr = __get_object_from_ue (ue_header);
#else #else
#ifdef __GXX_RTTI
// During forced unwinding, match a magic exception type. // During forced unwinding, match a magic exception type.
if (actions & _UA_FORCE_UNWIND) if (actions & _UA_FORCE_UNWIND)
{ {
...@@ -561,6 +562,7 @@ PERSONALITY_FUNCTION (int version, ...@@ -561,6 +562,7 @@ PERSONALITY_FUNCTION (int version,
throw_type = &typeid(abi::__foreign_exception); throw_type = &typeid(abi::__foreign_exception);
} }
else else
#endif
{ {
thrown_ptr = __get_object_from_ue (ue_header); thrown_ptr = __get_object_from_ue (ue_header);
throw_type = __get_exception_header_from_obj throw_type = __get_exception_header_from_obj
...@@ -771,7 +773,7 @@ __cxa_call_unexpected (void *exc_obj_in) ...@@ -771,7 +773,7 @@ __cxa_call_unexpected (void *exc_obj_in)
// If the exception spec allows std::bad_exception, throw that. // If the exception spec allows std::bad_exception, throw that.
// We don't have a thrown object to compare against, but since // We don't have a thrown object to compare against, but since
// bad_exception doesn't have virtual bases, that's OK; just pass 0. // bad_exception doesn't have virtual bases, that's OK; just pass 0.
#ifdef __EXCEPTIONS #if defined(__EXCEPTIONS) && defined(__GXX_RTTI)
const std::type_info &bad_exc = typeid (std::bad_exception); const std::type_info &bad_exc = typeid (std::bad_exception);
if (check_exception_spec (&info, &bad_exc, 0, xh_switch_value)) if (check_exception_spec (&info, &bad_exc, 0, xh_switch_value))
throw std::bad_exception(); throw std::bad_exception();
......
// Copyright (C) 1994, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2007, 2009 // Copyright (C) 1994, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2007,
// 2009, 2010
// Free Software Foundation // Free Software Foundation
// //
// This file is part of GCC. // This file is part of GCC.
...@@ -37,8 +38,11 @@ __do_catch (const type_info *thr_type, ...@@ -37,8 +38,11 @@ __do_catch (const type_info *thr_type,
{ {
if (*this == *thr_type) if (*this == *thr_type)
return true; // same type return true; // same type
#ifdef __GXX_RTTI
if (typeid (*this) != typeid (*thr_type)) if (typeid (*this) != typeid (*thr_type))
return false; // not both same kind of pointers return false; // not both same kind of pointers
#endif
if (!(outer & 1)) if (!(outer & 1))
// We're not the same and our outer pointers are not all const qualified // We're not the same and our outer pointers are not all const qualified
......
// Copyright (C) 1994, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2007, 2009 // Copyright (C) 1994, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2007,
// 2009, 2010
// Free Software Foundation // Free Software Foundation
// //
// This file is part of GCC. // This file is part of GCC.
...@@ -41,11 +42,13 @@ __pointer_catch (const __pbase_type_info *thrown_type, ...@@ -41,11 +42,13 @@ __pointer_catch (const __pbase_type_info *thrown_type,
void **thr_obj, void **thr_obj,
unsigned outer) const unsigned outer) const
{ {
#ifdef __GXX_RTTI
if (outer < 2 && *__pointee == typeid (void)) if (outer < 2 && *__pointee == typeid (void))
{ {
// conversion to void // conversion to void
return !thrown_type->__pointee->__is_function_p (); return !thrown_type->__pointee->__is_function_p ();
} }
#endif
return __pbase_type_info::__pointer_catch (thrown_type, thr_obj, outer); return __pbase_type_info::__pointer_catch (thrown_type, thr_obj, outer);
} }
......
// Iostreams base classes -*- C++ -*- // Iostreams base classes -*- C++ -*-
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
// 2006, 2007, 2008, 2009 // 2006, 2007, 2008, 2009, 2010
// Free Software Foundation, Inc. // Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
...@@ -73,7 +73,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -73,7 +73,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
bool ios_base::Init::_S_synced_with_stdio = true; bool ios_base::Init::_S_synced_with_stdio = true;
ios_base::ios_base() ios_base::ios_base() throw()
: _M_precision(), _M_width(), _M_flags(), _M_exception(), : _M_precision(), _M_width(), _M_flags(), _M_exception(),
_M_streambuf_state(), _M_callbacks(0), _M_word_zero(), _M_streambuf_state(), _M_callbacks(0), _M_word_zero(),
_M_word_size(_S_local_word_size), _M_word(_M_local_word), _M_ios_locale() _M_word_size(_S_local_word_size), _M_word(_M_local_word), _M_ios_locale()
...@@ -175,7 +175,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -175,7 +175,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
} }
void void
ios_base::_M_dispose_callbacks(void) ios_base::_M_dispose_callbacks(void) throw()
{ {
_Callback_list* __p = _M_callbacks; _Callback_list* __p = _M_callbacks;
while (__p && __p->_M_remove_reference() == 0) while (__p && __p->_M_remove_reference() == 0)
......
// Iostreams base classes -*- C++ -*- // Iostreams base classes -*- C++ -*-
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2009 // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005,
// 2009, 2010
// Free Software Foundation, Inc. // Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
...@@ -33,19 +34,19 @@ ...@@ -33,19 +34,19 @@
_GLIBCXX_BEGIN_NAMESPACE(std) _GLIBCXX_BEGIN_NAMESPACE(std)
// Called only by basic_ios<>::init. // Called only by basic_ios<>::init.
void void
ios_base::_M_init() ios_base::_M_init() throw()
{ {
// NB: May be called more than once // NB: May be called more than once
_M_precision = 6; _M_precision = 6;
_M_width = 0; _M_width = 0;
_M_flags = skipws | dec; _M_flags = skipws | dec;
_M_ios_locale = locale(); _M_ios_locale = locale();
} }
// 27.4.2.3 ios_base locale functions // 27.4.2.3 ios_base locale functions
locale locale
ios_base::imbue(const locale& __loc) ios_base::imbue(const locale& __loc) throw()
{ {
locale __old = _M_ios_locale; locale __old = _M_ios_locale;
_M_ios_locale = __loc; _M_ios_locale = __loc;
......
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
void void
_List_node_base::swap(_List_node_base& __x, _List_node_base& __y) _List_node_base::swap(_List_node_base& __x, _List_node_base& __y) throw()
{ {
if ( __x._M_next != &__x ) if ( __x._M_next != &__x )
{ {
...@@ -86,7 +86,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) ...@@ -86,7 +86,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
void void
_List_node_base::_M_transfer(_List_node_base * const __first, _List_node_base::_M_transfer(_List_node_base * const __first,
_List_node_base * const __last) _List_node_base * const __last) throw()
{ {
if (this != __last) if (this != __last)
{ {
...@@ -104,7 +104,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) ...@@ -104,7 +104,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
} }
void void
_List_node_base::_M_reverse() _List_node_base::_M_reverse() throw()
{ {
_List_node_base* __tmp = this; _List_node_base* __tmp = this;
do do
...@@ -118,7 +118,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) ...@@ -118,7 +118,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
} }
void void
_List_node_base::_M_hook(_List_node_base* const __position) _List_node_base::_M_hook(_List_node_base* const __position) throw()
{ {
this->_M_next = __position; this->_M_next = __position;
this->_M_prev = __position->_M_prev; this->_M_prev = __position->_M_prev;
...@@ -127,7 +127,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D) ...@@ -127,7 +127,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
} }
void void
_List_node_base::_M_unhook() _List_node_base::_M_unhook() throw()
{ {
_List_node_base* const __next_node = this->_M_next; _List_node_base* const __next_node = this->_M_next;
_List_node_base* const __prev_node = this->_M_prev; _List_node_base* const __prev_node = this->_M_prev;
......
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
// 2006, 2007, 2008, 2009 // 2006, 2007, 2008, 2009, 2010
// Free Software Foundation, Inc. // Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
...@@ -217,7 +217,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -217,7 +217,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
} }
const char* const char*
locale::facet::_S_get_c_name() locale::facet::_S_get_c_name() throw()
{ return _S_c_name; } { return _S_c_name; }
locale::facet:: locale::facet::
...@@ -408,7 +408,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -408,7 +408,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_Atomic_word locale::id::_S_refcount; // init'd to 0 by linker _Atomic_word locale::id::_S_refcount; // init'd to 0 by linker
size_t size_t
locale::id::_M_id() const locale::id::_M_id() const throw()
{ {
if (!_M_index) if (!_M_index)
{ {
......
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
// 2006, 2007, 2008, 2009 // 2006, 2007, 2008, 2009, 2010
// Free Software Foundation, Inc. // Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
...@@ -58,7 +58,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -58,7 +58,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// According to the resolution of DR 231, about 22.2.2.2.2, p11, // According to the resolution of DR 231, about 22.2.2.2.2, p11,
// "str.precision() is specified in the conversion specification". // "str.precision() is specified in the conversion specification".
void void
__num_base::_S_format_float(const ios_base& __io, char* __fptr, char __mod) __num_base::_S_format_float(const ios_base& __io, char* __fptr,
char __mod) throw()
{ {
ios_base::fmtflags __flags = __io.flags(); ios_base::fmtflags __flags = __io.flags();
*__fptr++ = '%'; *__fptr++ = '%';
...@@ -88,7 +89,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -88,7 +89,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
bool bool
__verify_grouping(const char* __grouping, size_t __grouping_size, __verify_grouping(const char* __grouping, size_t __grouping_size,
const string& __grouping_tmp) const string& __grouping_tmp) throw()
{ {
const size_t __n = __grouping_tmp.size() - 1; const size_t __n = __grouping_tmp.size() - 1;
const size_t __min = std::min(__n, size_t(__grouping_size - 1)); const size_t __min = std::min(__n, size_t(__grouping_size - 1));
......
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
// 2009 // 2009, 2010
// Free Software Foundation, Inc. // Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
...@@ -260,7 +260,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -260,7 +260,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
} }
void void
locale::_S_initialize_once() locale::_S_initialize_once() throw()
{ {
// 2 references. // 2 references.
// One reference for _S_classic, one for _S_global // One reference for _S_classic, one for _S_global
......
// <system_error> implementation file // <system_error> implementation file
// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc. // Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -69,10 +69,10 @@ namespace ...@@ -69,10 +69,10 @@ namespace
_GLIBCXX_BEGIN_NAMESPACE(std) _GLIBCXX_BEGIN_NAMESPACE(std)
const error_category& const error_category&
system_category() { return system_category_instance; } system_category() throw() { return system_category_instance; }
const error_category& const error_category&
generic_category() { return generic_category_instance; } generic_category() throw() { return generic_category_instance; }
system_error::~system_error() throw() { } system_error::~system_error() throw() { }
......
// { dg-do compile }
// { dg-options "-fno-rtti" }
// Copyright (C) 2010 Free Software Foundation, Inc.
//
// 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 3, 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 COPYING3. If not see
// <http://www.gnu.org/licenses/>.
#include <bits/extc++.h>
// { dg-do compile }
// { dg-options "-std=gnu++0x -fno-rtti" }
// Copyright (C) 2010 Free Software Foundation, Inc.
//
// 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 3, 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 COPYING3. If not see
// <http://www.gnu.org/licenses/>.
#include <bits/extc++.h>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment