http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54640
Bug #: 54640 Summary: arm_adjust_block_mem: signed/unsigned comparison Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: amyl...@gcc.gnu.org Blocks: 44756 Target: arm-wrs-vxworks, arm-netbsdelf g++ -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -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/../libdecnumber -I../../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber \ ../../../gcc/gcc/config/arm/arm.c -o arm.o ../../../gcc/gcc/config/arm/arm.c: In function ‘int const_ok_for_dimode_op(long int, rtx_code)’: ../../../gcc/gcc/config/arm/arm.c:2520:32: error: right shift count >= width of type [-Werror] HOST_WIDE_INT hi_val = (i >> 32) & 0xFFFFFFFF; ^ ../../../gcc/gcc/config/arm/arm.c: In function ‘void arm_block_move_unaligned_straight(rtx, rtx, long int, unsigned int)’: ../../../gcc/gcc/config/arm/arm.c:11004:21: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] for (i = 0; i < interleave_factor; i++) ^ ../../../gcc/gcc/config/arm/arm.c:11007:21: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] for (i = 0; i < interleave_factor; i++) ^ ../../../gcc/gcc/config/arm/arm.c:11019:19: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] for (i = 0; i < interleave_factor; i++) ^ ../../../gcc/gcc/config/arm/arm.c:11035:20: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] for (j = 0; j < interleave_factor; j++) ^ ../../../gcc/gcc/config/arm/arm.c:11055:20: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] for (j = 0; j < interleave_factor; j++) ^ In file included from ../../../gcc/gcc/config/arm/arm.c:26:0: ../../../gcc/gcc/config/arm/arm.c:11074:23: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] gcc_assert (words < interleave_factor); ^ ../../../gcc/gcc/system.h:679:14: note: in definition of macro 'gcc_assert' ((void)(!(EXPR) ? fancy_abort (__FILE__, __LINE__, __FUNCTION__), 0 : 0)) ^ In file included from ../../../gcc/gcc/config/arm/arm.c:26:0: ../../../gcc/gcc/config/arm/arm.c: In function ‘void arm_adjust_block_mem(rtx, long int, rtx_def**, rtx_def**)’: ../../../gcc/gcc/system.h:344:27: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] #define MIN(X,Y) ((X) < (Y) ? (X) : (Y)) ^ ../../../gcc/gcc/config/arm/arm.c:11212:29: note: in expansion of macro 'MIN' set_mem_align (*loop_mem, MIN (MEM_ALIGN (mem), length * BITS_PER_UNIT)); ^ cc1plus: all warnings being treated as errors make[2]: *** [arm.o] Error 1 rm gcj-dbtool.pod gccgo.pod jcf-dump.pod gcj.pod gcov.pod cpp.pod fsf-funding.pod gij.pod gc-analyze.pod grmic.pod gcc.pod gfortran.pod jv-convert.pod gfdl.pod make[2]: Leaving directory `/home/amylaar/fsf/multi/arm-wrs-vxworks/gcc'