This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[v3] -fno-exceptions fix


Unbreak build with -fno-exceptions.

tested x86/linux

-benjamin
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.


Index: src/functexcept.cc
===================================================================
--- src/functexcept.cc	(revision 169841)
+++ src/functexcept.cc	(working copy)
@@ -31,6 +31,7 @@
 #include <system_error>
 #include <future>
 #include <functional>
+#include <regex>
 
 #ifdef _GLIBCXX_USE_NLS
 # include <libintl.h>
@@ -111,6 +112,10 @@
   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 @@
   __throw_bad_function_call()
   { std::abort(); }
 
+  void
+  __throw_regex_error(regex_constants::error_type __ecode)
+  { std::abort(); }
 #endif //__EXCEPTIONS
 
 _GLIBCXX_END_NAMESPACE_VERSION
Index: include/bits/regex_error.h
===================================================================
--- include/bits/regex_error.h	(revision 169841)
+++ include/bits/regex_error.h	(working copy)
@@ -156,9 +156,8 @@
   };
 
 
-  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
Index: config/abi/pre/gnu.ver
===================================================================
--- config/abi/pre/gnu.ver	(revision 169841)
+++ config/abi/pre/gnu.ver	(working copy)
@@ -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 @@
     _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.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]