Use 0xffffffffffffffffLL to silence GCC 6 warning
authorH.J. Lu <hjl.tools@gmail.com>
Fri, 24 Jul 2015 16:05:33 +0000 (09:05 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Fri, 24 Jul 2015 16:05:33 +0000 (09:05 -0700)
GCC 6 warns:

error: result of ‘4294967295ll << 32’ requires 65 bits to represent, but ‘long long int’ only has 64 bits [-Werror=shift-overflow=]

on ((((bfd_signed_vma) 0xffffffff) << 32) | 0xffffffff).  This patch
replaces it with bfd_signed_vma) 0xffffffffffffffffLL.

* stabs.c (parse_stab_range_type): Use 0xffffffffffffffffLL.

binutils/ChangeLog
binutils/stabs.c

index 4679498d190bd2ab843d13b7a402edd4a6417544..bbaf93785a52126e49ddd2f4b95cc7748c563cf3 100644 (file)
@@ -1,3 +1,7 @@
+2015-07-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * stabs.c (parse_stab_range_type): Use 0xffffffffffffffffLL.
+
 2015-07-22  Alan Modra  <amodra@gmail.com>
 
        * readelf.c (dump_relocations): Show MIN_INT addends as negative.
index 4f1730896ac91a0a89be8c6fd8aac4e67ab4c85f..5b4c8a3a8589feb34dbf6ccb6f51f16c15c417aa 100644 (file)
@@ -1774,7 +1774,7 @@ parse_stab_range_type (void *dhandle, struct stab_handle *info, const char *type
          else if (n3 == (bfd_signed_vma) 0xffffffff)
            return debug_make_int_type (dhandle, 4, TRUE);
 #ifdef BFD64
-         else if (n3 == ((((bfd_signed_vma) 0xffffffff) << 32) | 0xffffffff))
+         else if (n3 == (bfd_signed_vma) 0xffffffffffffffffLL)
            return debug_make_int_type (dhandle, 8, TRUE);
 #endif
        }