qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] tci: Fix build with no '-DNDEBUG'


From: Stefan Weil
Subject: Re: [Qemu-devel] [PATCH] tci: Fix build with no '-DNDEBUG'
Date: Mon, 4 Apr 2016 13:56:46 +0200
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.7.0

Am 04.04.2016 um 13:05 schrieb Sergey Fedorov:
> From: Sergey Fedorov <address@hidden>
>
> assert() always evaluates its argument so there's no need to #ifdef the
> definitions which is only used for assert(). Actually, doing so
> generates a compilation warning which is treated as an error in QEMU
> build by default. Let compiler sort out and eliminate unnecessary
> local variables.
>
> Signed-off-by: Sergey Fedorov <address@hidden>
> Signed-off-by: Sergey Fedorov <address@hidden>
> ---
>  tci.c | 2 --
>  1 file changed, 2 deletions(-)
>
> diff --git a/tci.c b/tci.c
> index 7cbb39ed4b6a..d709e008f3f9 100644
> --- a/tci.c
> +++ b/tci.c
> @@ -472,10 +472,8 @@ uintptr_t tcg_qemu_tb_exec(CPUArchState *env, uint8_t 
> *tb_ptr)
>  
>      for (;;) {
>          TCGOpcode opc = tb_ptr[0];
> -#if !defined(NDEBUG)
>          uint8_t op_size = tb_ptr[1];
>          uint8_t *old_code_ptr = tb_ptr;
> -#endif
>          tcg_target_ulong t0;
>          tcg_target_ulong t1;
>          tcg_target_ulong t2;


This patch should not be applied.

>From the Linux man page for assert: "the macro assert() generates no code".

Which variant of the assert macro evaluates its argument even when NDEBUG
is defined? On which system with which configuration did you see the
problem?

There is indeed a regression in the current code. Commit
d38ea87ac54af64ef611de434d07c12dc0399216 added an include statement
which includes assert.h before NDEBUG is defined. This is wrong and
needs a fix. Could you please try tci.c starting like this?

/* Defining NDEBUG disables assertions (which makes the code faster). */
#if !defined(CONFIG_DEBUG_TCG) && !defined(NDEBUG)
# define NDEBUG
#endif

#include "qemu/osdep.h"

Thanks,
Stefan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]