diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index d2f17b8eb29c57198e1b14c05e139f7bb81994cf..aaa5178f04fc50bbbe374a1cf46342f5e7393f2b 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2011-02-04 Benjamin Kosnik <bkoz@redhat.com> + + * include/bits/regex_error.h (__throw_regex_error): Not inline. + * src/functexcept.cc: Add definition. + * config/abi/pre/gnu.ver: Export. + 2011-02-04 Ralf Corsépius <ralf.corsepius@rtems.org> * crossconfig.m4 (GLIBCXX_CROSSCONFIG): Add *-rtems*. diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver index 67571395cc5ecb2edcee8c10ec3697ee8e7e6827..b5acc5da1308743d08e86683b8dc41d8e9b99651 100644 --- a/libstdc++-v3/config/abi/pre/gnu.ver +++ b/libstdc++-v3/config/abi/pre/gnu.ver @@ -1,6 +1,6 @@ ## Linker script for GNU versioning (GNU ld 2.13.91+ only.) ## -## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 +## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 ## Free Software Foundation, Inc. ## ## This file is part of the GNU ISO C++ Library. This library is free @@ -1205,6 +1205,13 @@ GLIBCXX_3.4.15 { _ZNSt8__detail15_List_node_base11_M_transfer*; _ZNSt8__detail15_List_node_base4swapERS0_S1_; + _ZNSt11regex_errorD*; + _ZNKSt11regex_error4whatEv; + _ZTSSt11regex_error; + _ZTVSt11regex_error; + _ZTISt11regex_error; + _ZSt19__throw_regex_errorNSt15regex_constants10error_typeE; + } GLIBCXX_3.4.14; # Symbols in the support library (libsupc++) have their own tag. diff --git a/libstdc++-v3/include/bits/regex_error.h b/libstdc++-v3/include/bits/regex_error.h index ffbedd51fae2d10c0f54d3f553c966dee094ab45..cfcf4798f3be94c00cee4c1fb6b7db40151a6489 100644 --- a/libstdc++-v3/include/bits/regex_error.h +++ b/libstdc++-v3/include/bits/regex_error.h @@ -156,9 +156,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION }; - inline void - __throw_regex_error(regex_constants::error_type __ecode) - { throw regex_error(__ecode); } + void + __throw_regex_error(regex_constants::error_type __ecode); _GLIBCXX_END_NAMESPACE_VERSION } // namespace std diff --git a/libstdc++-v3/src/functexcept.cc b/libstdc++-v3/src/functexcept.cc index 5cd5ea3b19482bb32e39a4cf5c9d14c07b6be79d..2fe14d532e056741e17795bbdc25bf31b385c49f 100644 --- a/libstdc++-v3/src/functexcept.cc +++ b/libstdc++-v3/src/functexcept.cc @@ -31,6 +31,7 @@ #include <system_error> #include <future> #include <functional> +#include <regex> #ifdef _GLIBCXX_USE_NLS # include <libintl.h> @@ -111,6 +112,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION void __throw_bad_function_call() { throw bad_function_call(); } + + void + __throw_regex_error(regex_constants::error_type __ecode) + { throw regex_error(__ecode); } #else void __throw_bad_exception(void) @@ -180,6 +185,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION __throw_bad_function_call() { std::abort(); } + void + __throw_regex_error(regex_constants::error_type __ecode) + { std::abort(); } #endif //__EXCEPTIONS _GLIBCXX_END_NAMESPACE_VERSION