[PATCH v3] target/arm: Fix compile error in gcc 4.9.4.

Kaige Li posted 1 patch 1 week ago
Test docker-quick@centos7 failed
Test docker-mingw@fedora failed
Test checkpatch failed
Test FreeBSD failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/1596186433-17364-1-git-send-email-likaige@loongson.cn
target/arm/translate-a64.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

[PATCH v3] target/arm: Fix compile error in gcc 4.9.4.

Posted by Kaige Li 1 week ago
Error log:

/home/LiKaige/qemu/target/arm/translate-a64.c: In function ‘disas_ldst’:
/home/LiKaige/qemu/target/arm/translate-a64.c:3392:5: error: ‘fn’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
     fn(cpu_reg(s, rt), clean_addr, tcg_rs, get_mem_index(s),
     ^
/home/LiKaige/qemu/target/arm/translate-a64.c:3318:22: note: ‘fn’ was declared here
     AtomicThreeOpFn *fn;
                      ^
cc1: all warnings being treated as errors

Add an initiallization value NULL for fn to fix this.

Signed-off-by: Kaige Li <likaige@loongson.cn>
---
 target/arm/translate-a64.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c
index 8c07649..c98dfb1 100644
--- a/target/arm/translate-a64.c
+++ b/target/arm/translate-a64.c
@@ -3315,7 +3315,7 @@ static void disas_ldst_atomic(DisasContext *s, uint32_t insn,
     bool r = extract32(insn, 22, 1);
     bool a = extract32(insn, 23, 1);
     TCGv_i64 tcg_rs, clean_addr;
-    AtomicThreeOpFn *fn;
+    AtomicThreeOpFn *fn = NULL;
 
     if (is_vector || !dc_isar_feature(aa64_atomics, s)) {
         unallocated_encoding(s);
-- 
2.1.0


Re: [PATCH v3] target/arm: Fix compile error in gcc 4.9.4.

Posted by Peter Maydell 1 week ago
On Fri, 31 Jul 2020 at 10:07, Kaige Li <likaige@loongson.cn> wrote:
>
> Error log:
>
> /home/LiKaige/qemu/target/arm/translate-a64.c: In function ‘disas_ldst’:
> /home/LiKaige/qemu/target/arm/translate-a64.c:3392:5: error: ‘fn’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
>      fn(cpu_reg(s, rt), clean_addr, tcg_rs, get_mem_index(s),
>      ^
> /home/LiKaige/qemu/target/arm/translate-a64.c:3318:22: note: ‘fn’ was declared here
>      AtomicThreeOpFn *fn;
>                       ^
> cc1: all warnings being treated as errors
>
> Add an initiallization value NULL for fn to fix this.

As I said, I've already applied this patch to target-arm.next,
so you don't need to do anything further. It'll get into
master probably on Monday.

thanks
-- PMM

Re: [PATCH v3] target/arm: Fix compile error in gcc 4.9.4.

Posted by Kaige Li 1 week ago
On 07/31/2020 05:20 PM, Peter Maydell wrote:

> On Fri, 31 Jul 2020 at 10:07, Kaige Li <likaige@loongson.cn> wrote:
>> Error log:
>>
>> /home/LiKaige/qemu/target/arm/translate-a64.c: In function ‘disas_ldst’:
>> /home/LiKaige/qemu/target/arm/translate-a64.c:3392:5: error: ‘fn’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
>>       fn(cpu_reg(s, rt), clean_addr, tcg_rs, get_mem_index(s),
>>       ^
>> /home/LiKaige/qemu/target/arm/translate-a64.c:3318:22: note: ‘fn’ was declared here
>>       AtomicThreeOpFn *fn;
>>                        ^
>> cc1: all warnings being treated as errors
>>
>> Add an initiallization value NULL for fn to fix this.
> As I said, I've already applied this patch to target-arm.next,
> so you don't need to do anything further. It'll get into
> master probably on Monday.
Ok, Thank you.
Kaige.
>
> thanks
> -- PMM