aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorBenjamin Kosnik <bkoz@redhat.com>2010-02-17 05:43:24 +0000
committerBenjamin Kosnik <bkoz@gcc.gnu.org>2010-02-17 05:43:24 +0000
commit32ade5590ec9650b24dbd0965831397c7b009314 (patch)
treefc054963dec75674d1c899ab4e594c10311df826 /libstdc++-v3
parentbc349d0a7f40da33d4b2ed8fb972c2a5e3a26ad9 (diff)
downloadgcc-32ade5590ec9650b24dbd0965831397c7b009314.zip
gcc-32ade5590ec9650b24dbd0965831397c7b009314.tar.gz
gcc-32ade5590ec9650b24dbd0965831397c7b009314.tar.bz2
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
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/ChangeLog35
-rw-r--r--libstdc++-v3/config/io/basic_file_stdio.cc4
-rw-r--r--libstdc++-v3/config/locale/darwin/ctype_members.cc6
-rw-r--r--libstdc++-v3/config/locale/generic/c_locale.cc32
-rw-r--r--libstdc++-v3/config/locale/generic/collate_members.cc11
-rw-r--r--libstdc++-v3/config/locale/generic/ctype_members.cc6
-rw-r--r--libstdc++-v3/config/locale/generic/monetary_members.cc29
-rw-r--r--libstdc++-v3/config/locale/generic/time_members.cc20
-rw-r--r--libstdc++-v3/config/locale/gnu/c_locale.cc10
-rw-r--r--libstdc++-v3/config/locale/gnu/collate_members.cc11
-rw-r--r--libstdc++-v3/config/locale/gnu/ctype_members.cc6
-rw-r--r--libstdc++-v3/config/locale/gnu/monetary_members.cc5
-rw-r--r--libstdc++-v3/config/locale/gnu/time_members.cc6
-rw-r--r--libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.cc4
-rw-r--r--libstdc++-v3/include/bits/ios_base.h4
-rw-r--r--libstdc++-v3/include/bits/locale_classes.h26
-rw-r--r--libstdc++-v3/include/bits/locale_facets.h12
-rw-r--r--libstdc++-v3/include/std/system_error4
-rw-r--r--libstdc++-v3/libsupc++/eh_personality.cc6
-rw-r--r--libstdc++-v3/libsupc++/pbase_type_info.cc6
-rw-r--r--libstdc++-v3/libsupc++/pointer_type_info.cc5
-rw-r--r--libstdc++-v3/src/ios.cc6
-rw-r--r--libstdc++-v3/src/ios_locale.cc13
-rw-r--r--libstdc++-v3/src/list.cc10
-rw-r--r--libstdc++-v3/src/locale.cc6
-rw-r--r--libstdc++-v3/src/locale_facets.cc7
-rw-r--r--libstdc++-v3/src/locale_init.cc4
-rw-r--r--libstdc++-v3/src/system_error.cc6
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++1998/all_no_rtti.cc21
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++200x/all_no_rtti.cc21
30 files changed, 217 insertions, 125 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 7ea3348..99e78f5 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -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&),
diff --git a/libstdc++-v3/config/io/basic_file_stdio.cc b/libstdc++-v3/config/io/basic_file_stdio.cc
index b07a483..472f123 100644
--- a/libstdc++-v3/config/io/basic_file_stdio.cc
+++ b/libstdc++-v3/config/io/basic_file_stdio.cc
@@ -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()
diff --git a/libstdc++-v3/config/locale/darwin/ctype_members.cc b/libstdc++-v3/config/locale/darwin/ctype_members.cc
index 2f5268c..e1dd0f2 100644
--- a/libstdc++-v3/config/locale/darwin/ctype_members.cc
+++ b/libstdc++-v3/config/locale/darwin/ctype_members.cc
@@ -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)
diff --git a/libstdc++-v3/config/locale/generic/c_locale.cc b/libstdc++-v3/config/locale/generic/c_locale.cc
index a79a970..4ae951e 100644
--- a/libstdc++-v3/config/locale/generic/c_locale.cc
+++ b/libstdc++-v3/config/locale/generic/c_locale.cc
@@ -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"
};
diff --git a/libstdc++-v3/config/locale/generic/collate_members.cc b/libstdc++-v3/config/locale/generic/collate_members.cc
index be3ee64..e7753e0 100644
--- a/libstdc++-v3/config/locale/generic/collate_members.cc
+++ b/libstdc++-v3/config/locale/generic/collate_members.cc
@@ -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
diff --git a/libstdc++-v3/config/locale/generic/ctype_members.cc b/libstdc++-v3/config/locale/generic/ctype_members.cc
index 39671f6..ae08c3b 100644
--- a/libstdc++-v3/config/locale/generic/ctype_members.cc
+++ b/libstdc++-v3/config/locale/generic/ctype_members.cc
@@ -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)
diff --git a/libstdc++-v3/config/locale/generic/monetary_members.cc b/libstdc++-v3/config/locale/generic/monetary_members.cc
index 9c03f68..26b4358 100644
--- a/libstdc++-v3/config/locale/generic/monetary_members.cc
+++ b/libstdc++-v3/config/locale/generic/monetary_members.cc
@@ -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
diff --git a/libstdc++-v3/config/locale/generic/time_members.cc b/libstdc++-v3/config/locale/generic/time_members.cc
index 86c9249..225bc3c 100644
--- a/libstdc++-v3/config/locale/generic/time_members.cc
+++ b/libstdc++-v3/config/locale/generic/time_members.cc
@@ -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)
{
diff --git a/libstdc++-v3/config/locale/gnu/c_locale.cc b/libstdc++-v3/config/locale/gnu/c_locale.cc
index 80ef9c7..9706e41 100644
--- a/libstdc++-v3/config/locale/gnu/c_locale.cc
+++ b/libstdc++-v3/config/locale/gnu/c_locale.cc
@@ -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
diff --git a/libstdc++-v3/config/locale/gnu/collate_members.cc b/libstdc++-v3/config/locale/gnu/collate_members.cc
index e8df3c2..bcd4153 100644
--- a/libstdc++-v3/config/locale/gnu/collate_members.cc
+++ b/libstdc++-v3/config/locale/gnu/collate_members.cc
@@ -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
diff --git a/libstdc++-v3/config/locale/gnu/ctype_members.cc b/libstdc++-v3/config/locale/gnu/ctype_members.cc
index 546f878..6965694 100644
--- a/libstdc++-v3/config/locale/gnu/ctype_members.cc
+++ b/libstdc++-v3/config/locale/gnu/ctype_members.cc
@@ -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);
diff --git a/libstdc++-v3/config/locale/gnu/monetary_members.cc b/libstdc++-v3/config/locale/gnu/monetary_members.cc
index 02e4824..159eb97 100644
--- a/libstdc++-v3/config/locale/gnu/monetary_members.cc
+++ b/libstdc++-v3/config/locale/gnu/monetary_members.cc
@@ -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;
diff --git a/libstdc++-v3/config/locale/gnu/time_members.cc b/libstdc++-v3/config/locale/gnu/time_members.cc
index f80932c..43cab22 100644
--- a/libstdc++-v3/config/locale/gnu/time_members.cc
+++ b/libstdc++-v3/config/locale/gnu/time_members.cc
@@ -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,
diff --git a/libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.cc b/libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.cc
index 5ce4ba9..262681b 100644
--- a/libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.cc
+++ b/libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.cc
@@ -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<>
diff --git a/libstdc++-v3/include/bits/ios_base.h b/libstdc++-v3/include/bits/ios_base.h
index 601e520..0ac3d69 100644
--- a/libstdc++-v3/include/bits/ios_base.h
+++ b/libstdc++-v3/include/bits/ios_base.h
@@ -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
diff --git a/libstdc++-v3/include/bits/locale_classes.h b/libstdc++-v3/include/bits/locale_classes.h
index 9f7346e..347e761 100644
--- a/libstdc++-v3/include/bits/locale_classes.h
+++ b/libstdc++-v3/include/bits/locale_classes.h
@@ -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].
diff --git a/libstdc++-v3/include/bits/locale_facets.h b/libstdc++-v3/include/bits/locale_facets.h
index c931502..b3f9001 100644
--- a/libstdc++-v3/include/bits/locale_facets.h
+++ b/libstdc++-v3/include/bits/locale_facets.h
@@ -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>
diff --git a/libstdc++-v3/include/std/system_error b/libstdc++-v3/include/std/system_error
index 0e8c697..c485cc4 100644
--- a/libstdc++-v3/include/std/system_error
+++ b/libstdc++-v3/include/std/system_error
@@ -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);
diff --git a/libstdc++-v3/libsupc++/eh_personality.cc b/libstdc++-v3/libsupc++/eh_personality.cc
index befb26c..2b194f2 100644
--- a/libstdc++-v3/libsupc++/eh_personality.cc
+++ b/libstdc++-v3/libsupc++/eh_personality.cc
@@ -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();
diff --git a/libstdc++-v3/libsupc++/pbase_type_info.cc b/libstdc++-v3/libsupc++/pbase_type_info.cc
index e075b9e..f79d9e9 100644
--- a/libstdc++-v3/libsupc++/pbase_type_info.cc
+++ b/libstdc++-v3/libsupc++/pbase_type_info.cc
@@ -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
diff --git a/libstdc++-v3/libsupc++/pointer_type_info.cc b/libstdc++-v3/libsupc++/pointer_type_info.cc
index ae15af0..be96308 100644
--- a/libstdc++-v3/libsupc++/pointer_type_info.cc
+++ b/libstdc++-v3/libsupc++/pointer_type_info.cc
@@ -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);
}
diff --git a/libstdc++-v3/src/ios.cc b/libstdc++-v3/src/ios.cc
index 9d2ff8e..6605287 100644
--- a/libstdc++-v3/src/ios.cc
+++ b/libstdc++-v3/src/ios.cc
@@ -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)
diff --git a/libstdc++-v3/src/ios_locale.cc b/libstdc++-v3/src/ios_locale.cc
index bbdc80e..8b1873e 100644
--- a/libstdc++-v3/src/ios_locale.cc
+++ b/libstdc++-v3/src/ios_locale.cc
@@ -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;
diff --git a/libstdc++-v3/src/list.cc b/libstdc++-v3/src/list.cc
index f35feec..a7a705c 100644
--- a/libstdc++-v3/src/list.cc
+++ b/libstdc++-v3/src/list.cc
@@ -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;
diff --git a/libstdc++-v3/src/locale.cc b/libstdc++-v3/src/locale.cc
index bf31e7c..937e99c 100644
--- a/libstdc++-v3/src/locale.cc
+++ b/libstdc++-v3/src/locale.cc
@@ -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)
{
diff --git a/libstdc++-v3/src/locale_facets.cc b/libstdc++-v3/src/locale_facets.cc
index 0815654..77686c6 100644
--- a/libstdc++-v3/src/locale_facets.cc
+++ b/libstdc++-v3/src/locale_facets.cc
@@ -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));
diff --git a/libstdc++-v3/src/locale_init.cc b/libstdc++-v3/src/locale_init.cc
index 893b606..45f67f6 100644
--- a/libstdc++-v3/src/locale_init.cc
+++ b/libstdc++-v3/src/locale_init.cc
@@ -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
diff --git a/libstdc++-v3/src/system_error.cc b/libstdc++-v3/src/system_error.cc
index c8c19ed..2144801 100644
--- a/libstdc++-v3/src/system_error.cc
+++ b/libstdc++-v3/src/system_error.cc
@@ -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() { }
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_no_rtti.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_no_rtti.cc
new file mode 100644
index 0000000..9958599
--- /dev/null
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_no_rtti.cc
@@ -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>
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++200x/all_no_rtti.cc b/libstdc++-v3/testsuite/17_intro/headers/c++200x/all_no_rtti.cc
new file mode 100644
index 0000000..2ce83ed
--- /dev/null
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++200x/all_no_rtti.cc
@@ -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>