From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32181 invoked by alias); 20 Jul 2010 09:43:07 -0000 Received: (qmail 32163 invoked by uid 22791); 20 Jul 2010 09:43:06 -0000 X-SWARE-Spam-Status: No, hits=-1.7 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,TW_CX X-Spam-Check-By: sourceware.org Received: from vsmtp14.tin.it (HELO vsmtp14.tin.it) (212.216.176.118) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 20 Jul 2010 09:43:01 +0000 Received: from [192.168.0.4] (79.33.216.129) by vsmtp14.tin.it (8.5.113) id 4BCE3037081A3C5B; Tue, 20 Jul 2010 11:42:58 +0200 Message-ID: <4C456FA0.3030800@oracle.com> Date: Tue, 20 Jul 2010 09:43:00 -0000 From: Paolo Carlini User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.10) Gecko/20100520 SUSE/3.0.5 Thunderbird/3.0.5 MIME-Version: 1.0 To: Mikael Pettersson CC: libstdc++@gcc.gnu.org, "gcc-patches@gcc.gnu.org" Subject: Re: [PATCH,libstdc++] unwind-cxx.h: correct prototypes for ARM EH routines (PR libstdc++/44902) References: <19525.28069.747994.274057@pilspetsen.it.uu.se> In-Reply-To: <19525.28069.747994.274057@pilspetsen.it.uu.se> Content-Type: multipart/mixed; boundary="------------090801040002060409060107" X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2010-07/txt/msg01550.txt.bz2 This is a multi-part message in MIME format. --------------090801040002060409060107 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-length: 60 Applied, like this. Thanks. Paolo. ////////////////////// --------------090801040002060409060107 Content-Type: text/plain; name="CL_44902" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="CL_44902" Content-length: 288 2010-07-20 Paolo Carlini * libsupc++/unwind-cxx.h: Minor formatting / stylistic tweaks. 2010-07-20 Mikael Pettersson PR libstdc++/44902 * libsupc++/unwind-cxx.h (__cxa_type_match): Correct prototype. (__cxa_begin_cleanup): Likewise. --------------090801040002060409060107 Content-Type: text/plain; name="patch_44902" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="patch_44902" Content-length: 3659 Index: libsupc++/unwind-cxx.h =================================================================== --- libsupc++/unwind-cxx.h (revision 162327) +++ libsupc++/unwind-cxx.h (working copy) @@ -1,5 +1,5 @@ // -*- C++ -*- Exception handling and frame unwind runtime interface routines. -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of GCC. @@ -148,8 +148,10 @@ // either of the following functions. The "fast" version assumes at least // one prior call of __cxa_get_globals has been made from the current // thread, so no initialization is necessary. -extern "C" __cxa_eh_globals *__cxa_get_globals () throw() __attribute__ ((__const__)); -extern "C" __cxa_eh_globals *__cxa_get_globals_fast () throw() __attribute__ ((__const__)); +extern "C" __cxa_eh_globals *__cxa_get_globals () throw() + __attribute__ ((__const__)); +extern "C" __cxa_eh_globals *__cxa_get_globals_fast () throw() + __attribute__ ((__const__)); // Allocate memory for the primary exception plus the thrown object. extern "C" void *__cxa_allocate_exception(std::size_t thrown_size) throw(); @@ -169,13 +171,14 @@ extern "C" void __cxa_throw (void *thrown_exception, std::type_info *tinfo, void (*dest) (void *)) - __attribute__((noreturn)); + __attribute__((__noreturn__)); // Used to implement exception handlers. -extern "C" void *__cxa_get_exception_ptr (void *) throw() __attribute__ ((__pure__)); +extern "C" void *__cxa_get_exception_ptr (void *) throw() + __attribute__ ((__pure__)); extern "C" void *__cxa_begin_catch (void *) throw(); extern "C" void __cxa_end_catch (); -extern "C" void __cxa_rethrow () __attribute__((noreturn)); +extern "C" void __cxa_rethrow () __attribute__((__noreturn__)); // These facilitate code generation for recurring situations. extern "C" void __cxa_bad_cast () __attribute__((__noreturn__)); @@ -186,8 +189,9 @@ // Handles re-checking the exception specification if unexpectedHandler // throws, and if bad_exception needs to be thrown. Called from the // compiler. -extern "C" void __cxa_call_unexpected (void *) __attribute__((noreturn)); -extern "C" void __cxa_call_terminate (_Unwind_Exception*) throw () __attribute__((noreturn)); +extern "C" void __cxa_call_unexpected (void *) __attribute__((__noreturn__)); +extern "C" void __cxa_call_terminate (_Unwind_Exception*) throw () + __attribute__((__noreturn__)); #ifdef __ARM_EABI_UNWINDER__ // Arm EABI specified routines. @@ -196,16 +200,19 @@ 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 // Invokes given handler, dying appropriately if the user handler was // so inconsiderate as to return. -extern void __terminate(std::terminate_handler) throw () __attribute__((__noreturn__)); -extern void __unexpected(std::unexpected_handler) __attribute__((noreturn)); +extern void __terminate(std::terminate_handler) throw () + __attribute__((__noreturn__)); +extern void __unexpected(std::unexpected_handler) + __attribute__((__noreturn__)); // The current installed user handlers. extern std::terminate_handler __terminate_handler; --------------090801040002060409060107--