Patchwork [RESEND,libstdc++] unwind-cxx.h: correct prototypes for ARM EH routines (PR libstdc++/44902)

login
register
mail settings
Submitter Mikael Pettersson
Date July 20, 2010, 9:45 a.m.
Message ID <19525.28716.954793.167164@pilspetsen.it.uu.se>
Download mbox | patch
Permalink /patch/59292/
State New
Headers show

Comments

Mikael Pettersson - July 20, 2010, 9:45 a.m.
(Resend, mistakenly cc:d gcc@ not gcc-patches@.)

The prototypes for two ARM EH routines don't match their actual
definitions in eh_arm.cc, resulting in build-time warnings.  When
-Werror is active, the build fails.  See PR44902.

Fixed simply by updating the prototypes to match the definitions.

Tested with crosses to arm-eabi and arm-linux-gnueabi, and with
a native bootstrap and regtest on arm-linux-gnueabi.

Ok for 4.6? (I don't have svn write access.)

libstdc++-v3/

2010-07-20  Mikael Pettersson  <mikpe@it.uu.se>

	PR libstdc++/44902
	* libsupc++/unwind-cxx.h (__cxa_type_match): Correct prototype.
	(__cxa_begin_cleanup): Likewise.

Patch

--- gcc-4.6-20100717/libstdc++-v3/libsupc++/unwind-cxx.h.~1~	2009-05-03 18:51:50.000000000 +0200
+++ gcc-4.6-20100717/libstdc++-v3/libsupc++/unwind-cxx.h	2010-07-20 11:18:42.000000000 +0200
@@ -196,9 +196,9 @@  typedef enum {
   ctm_succeeded = 1,
   ctm_succeeded_with_ptr_to_base = 2
 } __cxa_type_match_result;
-extern "C" bool __cxa_type_match(_Unwind_Exception*, const std::type_info*,
-				 bool, void**);
-extern "C" void __cxa_begin_cleanup (_Unwind_Exception*);
+extern "C" __cxa_type_match_result __cxa_type_match(_Unwind_Exception*, const std::type_info*,
+						    bool, void**);
+extern "C" bool __cxa_begin_cleanup (_Unwind_Exception*);
 extern "C" void __cxa_end_cleanup (void);
 #endif