On Fri, 20 Mar 2020 at 16:19, Richard Henderson
<address@hidden> wrote:
On 3/20/20 9:04 AM, Philippe Mathieu-Daudé wrote:
Not related to this patch, but this line generates a warning with Clang:
CC rx-softmmu/target/rx/cpu.o
target/rx/cpu.c:158:33: warning: The result of the left shift is undefined
because the left operand is negative
address = physical = addr & TARGET_PAGE_MASK;
^~~~~~~~~~~~~~~~
include/exec/cpu-all.h:234:45: note: expanded from macro 'TARGET_PAGE_MASK'
#define TARGET_PAGE_MASK ((target_long)-1 << TARGET_PAGE_BITS)
~~~~~~~~~~~~~~~ ^
1 warning generated.
>From configure:
# We use -fwrapv to tell the compiler that we require a C dialect where
# left shift of signed integers is well defined and has the expected
# 2s-complement style results. (Both clang and gcc agree that it
# provides these semantics.)
Clang is *supposed* to be not generating those warnings.
I do have clang in my build tests, so at least some versions of
clang do indeed correctly handle -fwrapv. What version are
you using, Philippe ?