config/tc-avr.c (md_section_align): Append UL for -1 to avoid the latest gcc's warning
authorChen Gang <gang.chen.5i5j@gmail.com>
Sat, 5 Sep 2015 08:02:08 +0000 (16:02 +0800)
committerChen Gang <gang.chen.5i5j@gmail.com>
Tue, 8 Sep 2015 13:43:35 +0000 (21:43 +0800)
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.

gas/ChangeLog
gas/config/tc-avr.c

index 2dc974236ed349f95d61eae87eb2f466e8f8ff63..c0fb09661eeb484710855c39ee582e8eaa28e539 100644 (file)
@@ -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
index c69a91c98577def29a7d3f8c21c2c792c69510fe..09eea48f9e736743ec9de1cb387f68200d15a2c9 100644 (file)
@@ -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