[PATCH for-7.2] accel/tcg: Suppress compiler warning with flag -Wclobbered

Stefan Weil via posted 1 patch 1 year, 5 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20221105114424.622563-1-sw@weilnetz.de
Maintainers: Richard Henderson <richard.henderson@linaro.org>, Paolo Bonzini <pbonzini@redhat.com>
accel/tcg/translate-all.c | 3 +++
1 file changed, 3 insertions(+)
[PATCH for-7.2] accel/tcg: Suppress compiler warning with flag -Wclobbered
Posted by Stefan Weil via 1 year, 5 months ago
At least some versions of gcc show a warning when compiler flag -Wclobbered
is used (tested with gcc on Debian bookworm i386 and with cross gcc for
Windows on Debian bullseye).

Signed-off-by: Stefan Weil <sw@weilnetz.de>
---
 accel/tcg/translate-all.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/accel/tcg/translate-all.c b/accel/tcg/translate-all.c
index 921944a5ab..90191d97ec 100644
--- a/accel/tcg/translate-all.c
+++ b/accel/tcg/translate-all.c
@@ -743,6 +743,8 @@ void page_collection_unlock(struct page_collection *set)
 #endif /* !CONFIG_USER_ONLY */
 
 /* Called with mmap_lock held for user mode emulation.  */
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wclobbered"
 TranslationBlock *tb_gen_code(CPUState *cpu,
                               target_ulong pc, target_ulong cs_base,
                               uint32_t flags, int cflags)
@@ -1020,6 +1022,7 @@ TranslationBlock *tb_gen_code(CPUState *cpu,
     }
     return tb;
 }
+#pragma GCC diagnostic pop
 
 /* user-mode: call with mmap_lock held */
 void tb_check_watchpoint(CPUState *cpu, uintptr_t retaddr)
-- 
2.30.2
Re: [PATCH for-7.2] accel/tcg: Suppress compiler warning with flag -Wclobbered
Posted by Richard Henderson 1 year, 5 months ago
On 11/5/22 22:44, Stefan Weil wrote:
> At least some versions of gcc show a warning when compiler flag -Wclobbered
> is used (tested with gcc on Debian bookworm i386 and with cross gcc for
> Windows on Debian bullseye).
> 
> Signed-off-by: Stefan Weil <sw@weilnetz.de>
> ---
>   accel/tcg/translate-all.c | 3 +++
>   1 file changed, 3 insertions(+)
> 
> diff --git a/accel/tcg/translate-all.c b/accel/tcg/translate-all.c
> index 921944a5ab..90191d97ec 100644
> --- a/accel/tcg/translate-all.c
> +++ b/accel/tcg/translate-all.c
> @@ -743,6 +743,8 @@ void page_collection_unlock(struct page_collection *set)
>   #endif /* !CONFIG_USER_ONLY */
>   
>   /* Called with mmap_lock held for user mode emulation.  */
> +#pragma GCC diagnostic push
> +#pragma GCC diagnostic ignored "-Wclobbered"
>   TranslationBlock *tb_gen_code(CPUState *cpu,
>                                 target_ulong pc, target_ulong cs_base,
>                                 uint32_t flags, int cflags)
> @@ -1020,6 +1022,7 @@ TranslationBlock *tb_gen_code(CPUState *cpu,
>       }
>       return tb;
>   }
> +#pragma GCC diagnostic pop

No, I think this is a real setjmp problem.
I'll send a patch for this and a similar error in disas/nanomips.c.


r~