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? 4.5? (I don't have svn write access.) libstdc++-v3/ 2010-07-20 Mikael Pettersson <mi...@it.uu.se> PR libstdc++/44902 * libsupc++/unwind-cxx.h (__cxa_type_match): Correct prototype. (__cxa_begin_cleanup): Likewise. --- 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