Wireshark mailing list archives
Re: MSVC 2015 failures
From: Guy Harris <guy () alum mit edu>
Date: Fri, 5 Jun 2015 12:22:10 -0700
On Jun 5, 2015, at 3:50 AM, Anders Broman <anders.broman () ericsson com> wrote:
in_cksum.c(92): error C2220: warning treated as error - no 'object' file generated in_cksum.c(92): warning C4311: 'type cast': pointer truncation from 'const guint16 *' to 'unsigned long'
This is trying to do 2-byte operations with word loads/stores/arithmetic instructions, but to do it safely, so that we don't do those with unaligned pointers. It's testing the low-order bit of the pointer. On ILP32 platforms, such as 32-bit UN*Xes and 32-bit Windows, an int, a long, and a pointer are all 32 bits, so you can just cast a pointer to an int or a long. On LP64 platforms, such as all the 64-bit UN*Xes we support, a long and a pointer are both 64 bits, so you can just cast a pointer to a long. On LLP64 platforms, such as 64-bit Windows, an int and a long are both 32 bits, and a long long and a pointer are both 64 bits, so you can't just cast a pointer to a long without throwing away bits. Those bits don't actually *matter* in this case, but the compiler still warns. C99 has an intptr_t type, but C90 doesn't. MSVC has it at least as far back as Visual Studio .NET 2003: https://msdn.microsoft.com/en-us/library/323b6b3k(v=vs.71).aspx I don't know whether any UN*X platforms we support don't have it; I suspect most if not all of them have adopted it. Alternatively, GLib 2.18 and later have gintptr, although configure.ac currently only requires 2.16 or later. ___________________________________________________________________________ Sent via: Wireshark-dev mailing list <wireshark-dev () wireshark org> Archives: https://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-request () wireshark org?subject=unsubscribe
Current thread:
- MSVC 2015 failures Anders Broman (Jun 05)
- Re: MSVC 2015 failures Guy Harris (Jun 05)
- Re: MSVC 2015 failures Anders Broman (Jun 08)
- Re: MSVC 2015 failures Guy Harris (Jun 05)