[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] exec-all: Fix void pointer arithmetic
From: |
Blue Swirl |
Subject: |
Re: [Qemu-devel] [PATCH] exec-all: Fix void pointer arithmetic |
Date: |
Sun, 30 Oct 2011 11:00:27 +0000 |
Thanks, applied.
On Sun, Oct 23, 2011 at 06:19, Stefan Weil <address@hidden> wrote:
> Adding an offset to a void pointer works with gcc but is not allowed
> by the current C standards. With -pedantic, gcc complains:
>
> exec-all.h:344: error: pointer of type ‘void *’ used in arithmetic
>
> Fix this, and also replace (unsigned int) by (uintptr_t) in the same
> statement.
>
> Signed-off-by: Stefan Weil <address@hidden>
> ---
> exec-all.h | 3 +--
> 1 files changed, 1 insertions(+), 2 deletions(-)
>
> diff --git a/exec-all.h b/exec-all.h
> index 69fd5e4..0f10393 100644
> --- a/exec-all.h
> +++ b/exec-all.h
> @@ -358,8 +358,7 @@ static inline tb_page_addr_t get_page_addr_code(CPUState
> *env1, target_ulong add
> cpu_abort(env1, "Trying to execute code outside RAM or ROM at 0x"
> TARGET_FMT_lx "\n", addr);
> #endif
> }
> - p = (void *)(unsigned long)addr
> - + env1->tlb_table[mmu_idx][page_index].addend;
> + p = (void *)((uintptr_t)addr +
> env1->tlb_table[mmu_idx][page_index].addend);
> return qemu_ram_addr_from_host_nofail(p);
> }
> #endif
> --
> 1.7.2.5
>
>
>