Patchwork [v3] -fno-exceptions fix

login
register
mail settings
Submitter Benjamin Kosnik
Date Feb. 5, 2011, 12:18 a.m.
Message ID <20110204161801.0de0d7ae@shotwell>
Download mbox | patch
Permalink /patch/81984/
State New
Headers show

Comments

Benjamin Kosnik - Feb. 5, 2011, 12:18 a.m.
Unbreak build with -fno-exceptions.

tested x86/linux

-benjamin

Patch

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.