From patchwork Tue Jul 20 09:42:56 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Carlini X-Patchwork-Id: 59291 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 1887FB6F04 for ; Tue, 20 Jul 2010 19:43:11 +1000 (EST) 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 11:42:56 +0200 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> X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Applied, like this. Thanks. Paolo. ////////////////////// 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. 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;