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
This commit is contained in:
Benjamin Kosnik 2010-02-17 05:43:24 +00:00 committed by Benjamin Kosnik
parent bc349d0a7f
commit 32ade5590e
30 changed files with 217 additions and 125 deletions

View File

@ -1,3 +1,38 @@
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>
* include/bits/random.h (linear_congruential_engine(_Sseq&),

View File

@ -1,6 +1,6 @@
// 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.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -182,7 +182,7 @@ namespace
_GLIBCXX_BEGIN_NAMESPACE(std)
// 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) { }
__basic_file<char>::~__basic_file()

View File

@ -1,6 +1,6 @@
// 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.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -55,7 +55,7 @@ namespace std
#ifdef _GLIBCXX_USE_WCHAR_T
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
// never gets called.
@ -150,7 +150,7 @@ namespace std
}
void
ctype<wchar_t>::_M_initialize_ctype()
ctype<wchar_t>::_M_initialize_ctype() throw()
{
wint_t __i;
for (__i = 0; __i < 128; ++__i)

View File

@ -1,6 +1,6 @@
// 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.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -46,8 +46,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<>
void
__convert_to_v(const char* __s, float& __v, ios_base::iostate& __err,
const __c_locale&)
__convert_to_v(const char* __s, float& __v, ios_base::iostate& __err,
const __c_locale&) throw()
{
// Assumes __s formatted for "C" locale.
char* __old = setlocale(LC_ALL, NULL);
@ -111,8 +111,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<>
void
__convert_to_v(const char* __s, double& __v, ios_base::iostate& __err,
const __c_locale&)
__convert_to_v(const char* __s, double& __v, ios_base::iostate& __err,
const __c_locale&) throw()
{
// Assumes __s formatted for "C" locale.
char* __old = setlocale(LC_ALL, NULL);
@ -139,7 +139,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#if __DBL_HAS_INFINITY__
__v == numeric_limits<double>::infinity()
|| __v == -numeric_limits<double>::infinity())
#else
#else
(__v > 1.0 || __v < -1.0) && errno == ERANGE)
#endif
{
@ -156,8 +156,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<>
void
__convert_to_v(const char* __s, long double& __v,
ios_base::iostate& __err, const __c_locale&)
__convert_to_v(const char* __s, long double& __v,
ios_base::iostate& __err, const __c_locale&) throw()
{
// Assumes __s formatted for "C" locale.
char* __old = setlocale(LC_ALL, NULL);
@ -189,10 +189,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
else if (
#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
(__v > 1.0l || __v < -1.0l) && errno == ERANGE)
(__v > 1.0l || __v < -1.0l) && errno == ERANGE)
#endif
{
if (__v > 0.0l)
@ -207,7 +207,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
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)
{
// Currently, the generic model only supports the "C" locale.
@ -223,7 +223,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{ __cloc = NULL; }
__c_locale
locale::facet::_S_clone_c_locale(__c_locale&)
locale::facet::_S_clone_c_locale(__c_locale&) throw()
{ return __c_locale(); }
__c_locale
@ -236,10 +236,10 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
const char* const category_names[6 + _GLIBCXX_NUM_CATEGORIES] =
{
"LC_CTYPE",
"LC_CTYPE",
"LC_NUMERIC",
"LC_TIME",
"LC_COLLATE",
"LC_TIME",
"LC_COLLATE",
"LC_MONETARY",
"LC_MESSAGES"
};

View File

@ -1,6 +1,6 @@
// 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.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -38,7 +38,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// be put there instead of here.
template<>
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);
return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
@ -47,14 +48,14 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<>
size_t
collate<char>::_M_transform(char* __to, const char* __from,
size_t __n) const
size_t __n) const throw()
{ return strxfrm(__to, __from, __n); }
#ifdef _GLIBCXX_USE_WCHAR_T
template<>
int
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);
return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
@ -63,7 +64,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<>
size_t
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); }
#endif

View File

@ -1,6 +1,6 @@
// 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.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -53,7 +53,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#ifdef _GLIBCXX_USE_WCHAR_T
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;
switch (__m)
@ -239,7 +239,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
void
ctype<wchar_t>::_M_initialize_ctype()
ctype<wchar_t>::_M_initialize_ctype() throw()
{
wint_t __i;
for (__i = 0; __i < 128; ++__i)

View File

@ -1,6 +1,7 @@
// 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
// software; you can redistribute it and/or modify it under the
@ -35,10 +36,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// Construct and return valid pattern consisting of some combination of:
// space none symbol sign value
money_base::pattern
money_base::_S_construct_pattern(char, char, char)
money_base::_S_construct_pattern(char, char, char) throw()
{ return _S_default_pattern; }
template<>
template<>
void
moneypunct<char, true>::_M_initialize_moneypunct(__c_locale, const char*)
{
@ -64,7 +65,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
}
template<>
template<>
void
moneypunct<char, false>::_M_initialize_moneypunct(__c_locale, const char*)
{
@ -90,18 +91,18 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
}
template<>
template<>
moneypunct<char, true>::~moneypunct()
{ delete _M_data; }
template<>
template<>
moneypunct<char, false>::~moneypunct()
{ delete _M_data; }
#ifdef _GLIBCXX_USE_WCHAR_T
template<>
template<>
void
moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale,
moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale,
const char*)
{
// "C" locale
@ -115,9 +116,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_M_data->_M_curr_symbol = L"";
_M_data->_M_curr_symbol_size = 0;
_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_size = 0;
_M_data->_M_negative_sign_size = 0;
_M_data->_M_frac_digits = 0;
_M_data->_M_pos_format = money_base::_S_default_pattern;
_M_data->_M_neg_format = money_base::_S_default_pattern;
@ -127,9 +128,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
static_cast<wchar_t>(money_base::_S_atoms[__i]);
}
template<>
template<>
void
moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale,
moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale,
const char*)
{
// "C" locale
@ -155,11 +156,11 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
static_cast<wchar_t>(money_base::_S_atoms[__i]);
}
template<>
template<>
moneypunct<wchar_t, true>::~moneypunct()
{ delete _M_data; }
template<>
template<>
moneypunct<wchar_t, false>::~moneypunct()
{ delete _M_data; }
#endif

View File

@ -1,6 +1,6 @@
// 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.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -39,8 +39,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<>
void
__timepunct<char>::
_M_put(char* __s, size_t __maxlen, const char* __format,
const tm* __tm) const
_M_put(char* __s, size_t __maxlen, const char* __format,
const tm* __tm) const throw()
{
char* __old = setlocale(LC_ALL, NULL);
const size_t __llen = strlen(__old) + 1;
@ -55,10 +55,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
__s[0] = '\0';
}
template<>
template<>
void
__timepunct<char>::_M_initialize_timepunct(__c_locale)
{
{
// "C" locale.
if (!_M_data)
_M_data = new __timepunct_cache<char>;
@ -72,7 +72,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_M_data->_M_am = "AM";
_M_data->_M_pm = "PM";
_M_data->_M_am_pm_format = "";
// Day names, starting with "C"'s Sunday.
_M_data->_M_day1 = "Sunday";
_M_data->_M_day2 = "Monday";
@ -124,8 +124,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<>
void
__timepunct<wchar_t>::
_M_put(wchar_t* __s, size_t __maxlen, const wchar_t* __format,
const tm* __tm) const
_M_put(wchar_t* __s, size_t __maxlen, const wchar_t* __format,
const tm* __tm) const throw()
{
char* __old = setlocale(LC_ALL, NULL);
const size_t __llen = strlen(__old) + 1;
@ -137,10 +137,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
delete [] __sav;
// Make sure __s is null terminated.
if (__len == 0)
__s[0] = L'\0';
__s[0] = L'\0';
}
template<>
template<>
void
__timepunct<wchar_t>::_M_initialize_timepunct(__c_locale)
{

View File

@ -1,6 +1,6 @@
// 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.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -40,7 +40,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<>
void
__convert_to_v(const char* __s, float& __v, ios_base::iostate& __err,
const __c_locale& __cloc)
const __c_locale& __cloc) throw()
{
char* __sanity;
__v = __strtof_l(__s, &__sanity, __cloc);
@ -67,7 +67,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<>
void
__convert_to_v(const char* __s, double& __v, ios_base::iostate& __err,
const __c_locale& __cloc)
const __c_locale& __cloc) throw()
{
char* __sanity;
__v = __strtod_l(__s, &__sanity, __cloc);
@ -94,7 +94,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<>
void
__convert_to_v(const char* __s, long double& __v, ios_base::iostate& __err,
const __c_locale& __cloc)
const __c_locale& __cloc) throw()
{
char* __sanity;
#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
@ -145,7 +145,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
__c_locale
locale::facet::_S_clone_c_locale(__c_locale& __cloc)
locale::facet::_S_clone_c_locale(__c_locale& __cloc) throw()
{ return __duplocale(__cloc); }
__c_locale

View File

@ -1,6 +1,6 @@
// 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
// software; you can redistribute it and/or modify it under the
@ -37,7 +37,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// be put there instead of here.
template<>
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);
return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
@ -46,14 +47,14 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<>
size_t
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); }
#ifdef _GLIBCXX_USE_WCHAR_T
template<>
int
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);
return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
@ -62,7 +63,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<>
size_t
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); }
#endif

View File

@ -1,6 +1,6 @@
// 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.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -55,7 +55,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#ifdef _GLIBCXX_USE_WCHAR_T
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;
switch (__m)
@ -267,7 +267,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
void
ctype<wchar_t>::_M_initialize_ctype()
ctype<wchar_t>::_M_initialize_ctype() throw()
{
#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
__c_locale __old = __uselocale(_M_c_locale_ctype);

View File

@ -1,6 +1,6 @@
// 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.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -37,7 +37,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// Construct and return valid pattern consisting of some combination of:
// space none symbol sign value
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;

View File

@ -1,6 +1,6 @@
// 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.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -39,7 +39,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
void
__timepunct<char>::
_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)
const size_t __len = __strftime_l(__s, __maxlen, __format, __tm,
@ -195,7 +195,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
void
__timepunct<wchar_t>::
_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)
const size_t __len = __wcsftime_l(__s, __maxlen, __format, __tm,

View File

@ -1,6 +1,6 @@
// 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
// software; you can redistribute it and/or modify it under the
@ -41,7 +41,7 @@ namespace std
{ }
__c_locale
locale::facet::_S_clone_c_locale(__c_locale&)
locale::facet::_S_clone_c_locale(__c_locale&) throw()
{ return __c_locale(); }
template<>

View File

@ -521,7 +521,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
locale _M_ios_locale;
void
_M_init() throw ();
_M_init() throw();
public:
@ -680,7 +680,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* with imbue_event.
*/
locale
imbue(const locale& __loc) throw ();
imbue(const locale& __loc) throw();
/**
* @brief Locale access

View File

@ -222,7 +222,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* copies, or have the same name. False otherwise.
*/
bool
operator==(const locale& __other) const throw ();
operator==(const locale& __other) const throw();
/**
* @brief Locale inequality.
@ -231,7 +231,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* @return ! (*this == other)
*/
bool
operator!=(const locale& __other) const throw ()
operator!=(const locale& __other) const throw()
{ return !(this->operator==(__other)); }
/**
@ -313,7 +313,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_S_initialize();
static void
_S_initialize_once() throw ();
_S_initialize_once() throw();
static category
_S_normalize_category(category);
@ -378,7 +378,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
__c_locale __old = 0);
static __c_locale
_S_clone_c_locale(__c_locale& __cloc) throw ();
_S_clone_c_locale(__c_locale& __cloc) throw();
static void
_S_destroy_c_locale(__c_locale& __cloc);
@ -392,7 +392,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_S_get_c_locale();
_GLIBCXX_CONST static const char*
_S_get_c_name() throw ();
_S_get_c_name() throw();
private:
void
@ -441,7 +441,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<typename _Facet>
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
// before the constructor is run; the effect of calling a member
@ -463,7 +463,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
id() { }
size_t
_M_id() const throw ();
_M_id() const throw();
};
@ -703,10 +703,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// Used to abstract out _CharT bits in virtual member functions, below.
int
_M_compare(const _CharT*, const _CharT*) const throw ();
_M_compare(const _CharT*, const _CharT*) const throw();
size_t
_M_transform(_CharT*, const _CharT*, size_t) const throw ();
_M_transform(_CharT*, const _CharT*, size_t) const throw();
protected:
/// Destructor.
@ -765,20 +765,20 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// Specializations.
template<>
int
collate<char>::_M_compare(const char*, const char*) const throw ();
collate<char>::_M_compare(const char*, const char*) const throw();
template<>
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
template<>
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<>
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
/// class collate_byname [22.2.4.2].

View File

@ -70,17 +70,17 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<>
void
__convert_to_v(const char*, float&, ios_base::iostate&,
const __c_locale&) throw ();
const __c_locale&) throw();
template<>
void
__convert_to_v(const char*, double&, ios_base::iostate&,
const __c_locale&) throw ();
const __c_locale&) throw();
template<>
void
__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
// partially-specialized.
@ -1219,7 +1219,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
protected:
__wmask_type
_M_convert_to_wmask(const mask __m) const throw ();
_M_convert_to_wmask(const mask __m) const throw();
/// Destructor
virtual
@ -1457,7 +1457,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// For use at construction time only.
void
_M_initialize_ctype() throw ();
_M_initialize_ctype() throw();
};
#endif //_GLIBCXX_USE_WCHAR_T
@ -1557,7 +1557,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// num_put
// Construct and return valid scanf format for floating point types.
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>

View File

@ -103,8 +103,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
inline error_category::error_category() = default;
// DR 890.
_GLIBCXX_CONST const error_category& system_category() throw ();
_GLIBCXX_CONST const error_category& generic_category() throw ();
_GLIBCXX_CONST const error_category& system_category() throw();
_GLIBCXX_CONST const error_category& generic_category() throw();
error_code make_error_code(errc);

View File

@ -1,5 +1,5 @@
// -*- 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.
//
// This file is part of GCC.
@ -549,6 +549,7 @@ PERSONALITY_FUNCTION (int version,
else if (!foreign_exception)
thrown_ptr = __get_object_from_ue (ue_header);
#else
#ifdef __GXX_RTTI
// During forced unwinding, match a magic exception type.
if (actions & _UA_FORCE_UNWIND)
{
@ -561,6 +562,7 @@ PERSONALITY_FUNCTION (int version,
throw_type = &typeid(abi::__foreign_exception);
}
else
#endif
{
thrown_ptr = __get_object_from_ue (ue_header);
throw_type = __get_exception_header_from_obj
@ -771,7 +773,7 @@ __cxa_call_unexpected (void *exc_obj_in)
// If the exception spec allows std::bad_exception, throw that.
// 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.
#ifdef __EXCEPTIONS
#if defined(__EXCEPTIONS) && defined(__GXX_RTTI)
const std::type_info &bad_exc = typeid (std::bad_exception);
if (check_exception_spec (&info, &bad_exc, 0, xh_switch_value))
throw std::bad_exception();

View File

@ -1,4 +1,5 @@
// 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
//
// This file is part of GCC.
@ -37,8 +38,11 @@ __do_catch (const type_info *thr_type,
{
if (*this == *thr_type)
return true; // same type
#ifdef __GXX_RTTI
if (typeid (*this) != typeid (*thr_type))
return false; // not both same kind of pointers
#endif
if (!(outer & 1))
// We're not the same and our outer pointers are not all const qualified

View File

@ -1,4 +1,5 @@
// 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
//
// This file is part of GCC.
@ -41,11 +42,13 @@ __pointer_catch (const __pbase_type_info *thrown_type,
void **thr_obj,
unsigned outer) const
{
#ifdef __GXX_RTTI
if (outer < 2 && *__pointee == typeid (void))
{
// conversion to void
return !thrown_type->__pointee->__is_function_p ();
}
#endif
return __pbase_type_info::__pointer_catch (thrown_type, thr_obj, outer);
}

View File

@ -1,7 +1,7 @@
// Iostreams base classes -*- C++ -*-
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
// 2006, 2007, 2008, 2009
// 2006, 2007, 2008, 2009, 2010
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -73,7 +73,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
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_streambuf_state(), _M_callbacks(0), _M_word_zero(),
_M_word_size(_S_local_word_size), _M_word(_M_local_word), _M_ios_locale()
@ -175,7 +175,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
void
ios_base::_M_dispose_callbacks(void)
ios_base::_M_dispose_callbacks(void) throw()
{
_Callback_list* __p = _M_callbacks;
while (__p && __p->_M_remove_reference() == 0)

View File

@ -1,6 +1,7 @@
// 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.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -33,19 +34,19 @@
_GLIBCXX_BEGIN_NAMESPACE(std)
// Called only by basic_ios<>::init.
void
ios_base::_M_init()
void
ios_base::_M_init() throw()
{
// NB: May be called more than once
_M_precision = 6;
_M_width = 0;
_M_flags = skipws | dec;
_M_ios_locale = locale();
}
}
// 27.4.2.3 ios_base locale functions
locale
ios_base::imbue(const locale& __loc)
ios_base::imbue(const locale& __loc) throw()
{
locale __old = _M_ios_locale;
_M_ios_locale = __loc;

View File

@ -53,7 +53,7 @@
_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
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 )
{
@ -86,7 +86,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
void
_List_node_base::_M_transfer(_List_node_base * const __first,
_List_node_base * const __last)
_List_node_base * const __last) throw()
{
if (this != __last)
{
@ -104,7 +104,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
}
void
_List_node_base::_M_reverse()
_List_node_base::_M_reverse() throw()
{
_List_node_base* __tmp = this;
do
@ -118,7 +118,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
}
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_prev = __position->_M_prev;
@ -127,7 +127,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
}
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 __prev_node = this->_M_prev;

View File

@ -1,5 +1,5 @@
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
// 2006, 2007, 2008, 2009
// 2006, 2007, 2008, 2009, 2010
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -217,7 +217,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
const char*
locale::facet::_S_get_c_name()
locale::facet::_S_get_c_name() throw()
{ return _S_c_name; }
locale::facet::
@ -408,7 +408,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_Atomic_word locale::id::_S_refcount; // init'd to 0 by linker
size_t
locale::id::_M_id() const
locale::id::_M_id() const throw()
{
if (!_M_index)
{

View File

@ -1,5 +1,5 @@
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
// 2006, 2007, 2008, 2009
// 2006, 2007, 2008, 2009, 2010
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -58,7 +58,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// According to the resolution of DR 231, about 22.2.2.2.2, p11,
// "str.precision() is specified in the conversion specification".
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();
*__fptr++ = '%';
@ -88,7 +89,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
bool
__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 __min = std::min(__n, size_t(__grouping_size - 1));

View File

@ -1,5 +1,5 @@
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
// 2009
// 2009, 2010
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -260,7 +260,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
void
locale::_S_initialize_once()
locale::_S_initialize_once() throw()
{
// 2 references.
// One reference for _S_classic, one for _S_global

View File

@ -1,6 +1,6 @@
// <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
// software; you can redistribute it and/or modify it under the
@ -69,10 +69,10 @@ namespace
_GLIBCXX_BEGIN_NAMESPACE(std)
const error_category&
system_category() { return system_category_instance; }
system_category() throw() { return system_category_instance; }
const error_category&
generic_category() { return generic_category_instance; }
generic_category() throw() { return generic_category_instance; }
system_error::~system_error() throw() { }

View File

@ -0,0 +1,21 @@
// { 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>

View File

@ -0,0 +1,21 @@
// { 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>