The 16-bit relocations in powerpc.cc have the line val &= ~static_cast<Valtype>(0xffff);
This causes gcc to complain about the fact that the ~ operator causes gcc to promote to int the result of the Valtype (uint16_t) static_cast, which is then attempted to be used for the &= assignment: ../../src/gold/powerpc.cc:631: warning: overflow in implicit constant conversion This change moves the ~ operation inside the static_cast so the result is 16 bits wide. B 2008-06-18 Brendan Kehoe <[EMAIL PROTECTED]> * powerpc.cc (Powerpc_relocate_functions::addr16_ha): Move ~ one- complement inside static_cast to avoid promotion to int. (Powerpc_relocate_functions::rel16_ha): Likewise. Index: powerpc.cc =================================================================== RCS file: /cvs/src/src/gold/powerpc.cc,v retrieving revision 1.3 diff -u -p -r1.3 powerpc.cc --- powerpc.cc 18 Jun 2008 22:32:37 -0000 1.3 +++ powerpc.cc 19 Jun 2008 22:22:11 -0000 @@ -605,7 +605,7 @@ public: reloc += 0x10000; reloc >>= 16; - val &= ~static_cast<Valtype>(0xffff); + val &= static_cast<Valtype>(~0xffff); reloc &= static_cast<Valtype>(0xffff); elfcpp::Swap<16, true>::writeval(wv, val | reloc); @@ -628,7 +628,7 @@ public: reloc += 0x10000; reloc >>= 16; - val &= ~static_cast<Valtype>(0xffff); + val &= static_cast<Valtype>(~0xffff); reloc &= static_cast<Valtype>(0xffff); elfcpp::Swap<16, true>::writeval(wv, val | reloc); -- Summary: adjustment to hush warnings about overflow in implicit conversion Product: binutils Version: unspecified Status: NEW Severity: normal Priority: P3 Component: gold AssignedTo: ian at airs dot com ReportedBy: brendan+sourceware at zen dot org CC: bug-binutils at gnu dot org http://sourceware.org/bugzilla/show_bug.cgi?id=6660 ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils