grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Lists and aliasing (Re: Freeze on 27 February)


From: Isaac Dupree
Subject: Re: Lists and aliasing (Re: Freeze on 27 February)
Date: Wed, 22 Feb 2012 21:39:32 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:9.0) Gecko/20111224 Thunderbird/9.0.1

On 02/22/2012 06:03 PM, Lennart Sorensen wrote:
On Wed, Feb 22, 2012 at 05:50:37PM -0500, Lennart Sorensen wrote:
Now I get:

gcc-4.6 -DHAVE_CONFIG_H -I. -I../../../grub-core -I..  -Wall -W -I../../../include 
-I../include  -DGRUB_MACHINE_EMU=1 -DGRUB_MACHINE=POWERPC_EMU -DGRUB_TARGET_CPU_POWERPC=1 
-m32 -DGRUB_FILE=\"normal/charset.c\" -I. -I../../../grub-core -I.. -I../../.. 
-I../../../include -I../include   -I../../../grub-core/lib/posix_wrap   -Os -Wall -W 
-Wshadow -Wold-style-declaration -Wold-style-definition -Wpointer-arith -Wundef -Wextra 
-Waddress -Warray-bounds -Wattributes -Wbuiltin-macro-redefined -Wcast-align 
-Wchar-subscripts -Wclobbered -Wcomment -Wcoverage-mismatch -Wdeprecated 
-Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero -Wempty-body 
-Wendif-labels -Wfloat-equal -Wformat-contains-nul -Wformat-extra-args -Wformat-security 
-Wformat-y2k -Wignored-qualifiers -Wimplicit -Wimplicit-function-declaration 
-Wimplicit-int -Winit-self -Wint-to-pointer-cast -Winvalid-pch 
-Wunsafe-loop-optimizations -Wlogical-op -Wmain -Wmissing-braces 
-Wmissing-field-initializers -Wmissing-fo
rmat-attribute -Wmissing-noreturn -W
mudflap -Wmultichar -Wnonnull -Woverflow -Wpacked-bitfield-compat -Wparentheses 
-Wpointer-arith -Wpointer-to-int-cast -Wreturn-type -Wsequence-point -Wshadow 
-Wsign-compare -Wstrict-aliasing -Wswitch -Wsync-nand -Wtrigraphs  
-Wtype-limits -Wundef -Wuninitialized -Wunknown-pragmas -Wunused 
-Wunused-function -Wunused-label -Wunused-parameter -Wunused-value  
-Wunused-variable -Wvariadic-macros -Wvolatile-register-var -Wwrite-strings 
-Wmissing-parameter-type -Wnested-externs -Wstrict-prototypes -Wpointer-sign -g 
-Wredundant-decls -Wmissing-prototypes -Wmissing-declarations 
-fno-dwarf2-cfi-asm -fno-asynchronous-unwind-tables -m32 -fno-stack-protector 
-Werror -Wno-trampolines -DUSE_ASCII_FAILBACK=1 -DHAVE_UNIFONT_WIDTHSPEC=1      
   -ffreestanding -fno-builtin -Wno-redundant-decls   -c -o 
normal/normal_module-charset.o `test -f 'normal/charset.c' || echo 
'../../../grub-core/'`normal/charset.c
../../../grub-core/normal/charset.c: In function 'bidi_line_wrap':
../../../grub-core/normal/charset.c:737:55: error: comparison between signed 
and unsigned integer expressions [-Werror=sign-compare]
cc1: all warnings being treated as errors

For some reason the compiler thinks GRUB_INT_MIN which is defined as
-0x80000000 is unsigned.

That's probably because "-0x80000000" *is* unsigned.

0x80000000 is an integer literal that does not fit into (32-bit) int but does fit into (32-bit) unsigned int.

The negation operator does not change the signedness of its operand's type.

It should probably be signed, e.g.
    #define GRUB_INT_MIN (-0x7fffffff - 1)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]