From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1L61p2-00037m-LG for qemu-devel@nongnu.org; Fri, 28 Nov 2008 06:47:44 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1L61p1-00036l-Kd for qemu-devel@nongnu.org; Fri, 28 Nov 2008 06:47:43 -0500 Received: from [199.232.76.173] (port=53038 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L61p1-00036Q-3L for qemu-devel@nongnu.org; Fri, 28 Nov 2008 06:47:43 -0500 Received: from lizzard.sbs.de ([194.138.37.39]:19783) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1L61p0-0007hD-F7 for qemu-devel@nongnu.org; Fri, 28 Nov 2008 06:47:42 -0500 Received: from mail2.sbs.de (localhost [127.0.0.1]) by lizzard.sbs.de (8.12.11.20060308/8.12.11) with ESMTP id mASBleI0012436 for ; Fri, 28 Nov 2008 12:47:40 +0100 Received: from [139.25.109.167] (mchn012c.ww002.siemens.net [139.25.109.167] (may be forged)) by mail2.sbs.de (8.12.11.20060308/8.12.11) with ESMTP id mASBle55025036 for ; Fri, 28 Nov 2008 12:47:40 +0100 Message-ID: <492FDA5D.6080602@siemens.com> Date: Fri, 28 Nov 2008 12:47:41 +0100 From: Jan Kiszka MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] [PATCH 2/2] Add __noreturn function attribute Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Introduce __noreturn attribute and attach it to cpu_loop_exit as well as interrupt/exception helpers for i386. This avoids a bunch of gcc4 warnings. Signed-off-by: Jan Kiszka --- exec-all.h | 5 ++++- target-i386/exec.h | 8 ++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/exec-all.h b/exec-all.h index ca97f57..4934932 100644 --- a/exec-all.h +++ b/exec-all.h @@ -20,6 +20,9 @@ #ifndef _EXEC_ALL_H_ #define _EXEC_ALL_H_ + +#define __noreturn __attribute__ ((__noreturn__)) + /* allow to see translation results - the slowdown should be negligible, so we leave it */ #define DEBUG_DISAS @@ -82,7 +85,7 @@ TranslationBlock *tb_gen_code(CPUState *env, target_ulong pc, target_ulong cs_base, int flags, int cflags); void cpu_exec_init(CPUState *env); -void cpu_loop_exit(void); +void __noreturn cpu_loop_exit(void); int page_unprotect(target_ulong address, unsigned long pc, void *puc); void tb_invalidate_phys_page_range(target_phys_addr_t start, target_phys_addr_t end, int is_cpu_write_access); diff --git a/target-i386/exec.h b/target-i386/exec.h index 3663166..b35f08b 100644 --- a/target-i386/exec.h +++ b/target-i386/exec.h @@ -67,10 +67,10 @@ void do_interrupt(int intno, int is_int, int error_code, target_ulong next_eip, int is_hw); void do_interrupt_user(int intno, int is_int, int error_code, target_ulong next_eip); -void raise_interrupt(int intno, int is_int, int error_code, - int next_eip_addend); -void raise_exception_err(int exception_index, int error_code); -void raise_exception(int exception_index); +void __noreturn raise_interrupt(int intno, int is_int, int error_code, + int next_eip_addend); +void __noreturn raise_exception_err(int exception_index, int error_code); +void __noreturn raise_exception(int exception_index); void do_smm_enter(void); /* n must be a constant to be efficient */