From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1474) id E19183856DDC; Sat, 17 Sep 2022 13:41:12 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E19183856DDC DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1663422072; bh=K3JZNc2VLIqqANNXTWY+NCOQsYEdkVTOxkttZcVVHsY=; h=From:To:Subject:Date:From; b=FR1Y5htmQzpFNICQEo2QdQ9R/QnjPIpr8lcqnB/myZ+YuS4Vee+qSHVmRQOXgL8Vc s4Cd1k28lCZ9W5c/ME/3gQdy8UF/QsY66P13iNeNv74Smg0u1N0u1cIjSMGydYA4oB gfbXjORGXPa1RuYgosVbedJ8hKcUwcL0cwEL62Jw= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Jan-Benedict Glaw To: gcc-cvs@gcc.gnu.org Subject: [gcc r13-2711] Fix unsigned comparison warning X-Act-Checkin: gcc X-Git-Author: Jan-Benedict Glaw X-Git-Refname: refs/heads/master X-Git-Oldrev: f4dad09c543eebc4d33cab277d691ed5646bcd65 X-Git-Newrev: c8e93a08693cdd8e18f129f3a1918ed3d32eeebe Message-Id: <20220917134112.E19183856DDC@sourceware.org> Date: Sat, 17 Sep 2022 13:41:12 +0000 (GMT) List-Id: https://gcc.gnu.org/g:c8e93a08693cdd8e18f129f3a1918ed3d32eeebe commit r13-2711-gc8e93a08693cdd8e18f129f3a1918ed3d32eeebe Author: Jan-Benedict Glaw Date: Sat Sep 17 15:40:28 2022 +0200 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. Diff: --- gcc/config/csky/csky.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/config/csky/csky.h b/gcc/config/csky/csky.h index f786ad55d43..a9d13691db3 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))