diff options
author | Jan-Benedict Glaw <jbglaw@lug-owl.de> | 2022-09-17 15:40:28 +0200 |
---|---|---|
committer | Jan-Benedict Glaw <jbglaw@lug-owl.de> | 2022-09-17 15:40:28 +0200 |
commit | c8e93a08693cdd8e18f129f3a1918ed3d32eeebe (patch) | |
tree | f3be1c509d1074e24f5532a4b3a32102310d4a79 | |
parent | f4dad09c543eebc4d33cab277d691ed5646bcd65 (diff) | |
download | gcc-c8e93a08693cdd8e18f129f3a1918ed3d32eeebe.zip gcc-c8e93a08693cdd8e18f129f3a1918ed3d32eeebe.tar.gz gcc-c8e93a08693cdd8e18f129f3a1918ed3d32eeebe.tar.bz2 |
Fix unsigned comparison warning
When -mfloat-abi=hard support was added, a cast went missing that
used to silence a warning in common code:
/usr/lib/gcc-snapshot/bin/g++ -fno-PIE -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common -DHAVE_CONFIG_H -I. -I. -I../../gcc/gcc -I../../gcc/gcc/. -I../../gcc/gcc/../include -I../../gcc/gcc/../libcpp/include -I../../gcc/gcc/../libcody -I../../gcc/gcc/../libdecnumber -I../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I../../gcc/gcc/../libbacktrace -o builtins.o -MT builtins.o -MMD -MP -MF ./.deps/builtins.TPo ../../gcc/gcc/builtins.cc
In file included from ./tm.h:21,
from ../../gcc/gcc/backend.h:28,
from ../../gcc/gcc/builtins.cc:27:
../../gcc/gcc/builtins.cc: In function 'int apply_args_size()':
../../gcc/gcc/config/csky/csky.h:421:13: error: comparison of unsigned expression in '>= 0' is always true [-Werror=type-limits]
421 | (((REGNO) >= CSKY_FIRST_PARM_REGNUM \
../../gcc/gcc/builtins.cc:1444:13: note: in expansion of macro 'FUNCTION_ARG_REGNO_P'
1444 | if (FUNCTION_ARG_REGNO_P (regno))
| ^~~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
make[1]: *** [Makefile:1146: builtins.o] Error 1
The needed (int) cast is even mentioned in the comment above, so reinstate
it here.
gcc/ChangeLog:
* config/csky/csky.h (FUNCTION_ARG_REGNO_P): Cast REGNO to (int)
to prevent warning.
-rw-r--r-- | gcc/config/csky/csky.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/config/csky/csky.h b/gcc/config/csky/csky.h index f786ad5..a9d1369 100644 --- a/gcc/config/csky/csky.h +++ b/gcc/config/csky/csky.h @@ -422,7 +422,7 @@ typedef struct The int cast is to prevent a complaint about unsigned comparison to zero, since CSKY_FIRST_PARM_REGNUM is zero. */ #define FUNCTION_ARG_REGNO_P(REGNO) \ - (((REGNO) >= CSKY_FIRST_PARM_REGNUM \ + (((int)(REGNO) >= CSKY_FIRST_PARM_REGNUM \ && (REGNO) < (CSKY_NPARM_REGS + CSKY_FIRST_PARM_REGNUM)) \ || FUNCTION_VARG_REGNO_P(REGNO)) |