[binutils-gdb] config/tc-avr.c (md_section_align): Append UL for -1 to avoid the latest gcc's warning

Chen Gang gchen@sourceware.org
Tue Sep 8 13:45:00 GMT 2015


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=dce55a03c1cd7205cb8157f7cc80c76073d86047

commit dce55a03c1cd7205cb8157f7cc80c76073d86047
Author: Chen Gang <gang.chen.5i5j@gmail.com>
Date:   Sat Sep 5 16:02:08 2015 +0800

    config/tc-avr.c (md_section_align): Append UL for -1 to avoid the latest gcc's warning
    
    The related warning is:
    
      gcc -DHAVE_CONFIG_H -I. -I../../binutils-gdb/gas  -I. -I../../binutils-gdb/gas -I../bfd -I../../binutils-gdb/gas/config -I../../binutils-gdb/gas/../include -I../../binutils-gdb/gas/.. -I../../binutils-gdb/gas/../bfd -DLOCALEDIR="\"/upstream/release-avr32/share/locale\""  -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror -I../../binutils-gdb/gas/../zlib -g -O2 -MT tc-avr.o -MD -MP -MF .deps/tc-avr.Tpo -c -o tc-avr.o `test -f 'config/tc-avr.c' || echo '../../binutils-gdb/gas/'`config/tc-avr.c
    ../../binutils-gdb/gas/config/tc-avr.c: In function ‘md_section_align’:
    ../../binutils-gdb/gas/config/tc-avr.c:1233:43: error: left shift of negative value [-Werror=shift-negative-value]
         return ((addr + (1 << align) - 1) & (-1 << align));
                                                 ^
    
    2015-09-05  Chen Gang  <gang.chen.5i5j@gmail.com>
    
    	* config/tc-avr.c (md_section_align): Append UL for -1 to avoid
    	the latest gcc's warning.

Diff:
---
 gas/ChangeLog       | 5 +++++
 gas/config/tc-avr.c | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/gas/ChangeLog b/gas/ChangeLog
index 2dc9742..c0fb096 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2015-09-05  Chen Gang  <gang.chen.5i5j@gmail.com>
+
+	* config/tc-avr.c (md_section_align): Append UL for -1 to avoid
+	the latest gcc's warning.
+
 2015-08-27  Alan Modra  <amodra@gmail.com>
 
 	PR gas/18581
diff --git a/gas/config/tc-avr.c b/gas/config/tc-avr.c
index c69a91c..09eea48 100644
--- a/gas/config/tc-avr.c
+++ b/gas/config/tc-avr.c
@@ -1230,7 +1230,7 @@ valueT
 md_section_align (asection *seg, valueT addr)
 {
   int align = bfd_get_section_alignment (stdoutput, seg);
-  return ((addr + (1 << align) - 1) & (-1 << align));
+  return ((addr + (1 << align) - 1) & (-1UL << align));
 }
 
 /* If you define this macro, it should return the offset between the



More information about the Binutils-cvs mailing list