config/tc-avr.c (md_section_align): Append UL for -1 to avoid the latest gcc's warning
Commit Message
From: Chen Gang <gang.chen.5i5j@gmail.com>
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 | 5 +++++
gas/config/tc-avr.c | 2 +-
2 files changed, 6 insertions(+), 1 deletion(-)
Comments
Hi Chen,
> 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.
Approved - please apply.
Cheers
Nick
On 9/7/15 23:56, Nick Clifton wrote:
> Hi Chen,
>
>> 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.
>
> Approved - please apply.
>
Applied, thanks.
--
Chen Gang (陈刚)
Open, share, and attitude like air, water, and life which God blessed
@@ -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
@@ -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