Makes the Windows build 99% free of warnings. In particular, this change addresses the following classes of warnings:
- CMake Windows build incorrectly passed -Wl,--start-group and -Wl,--end-group to the command line
- Bit-shift too large or negative causes undefined behavior (e.g. (size_t)x >> 32 on x86)
- GetVersionEx API declared deprecated in Windows 8.1 SDK
I think you may need to do something more like:
#include <limits>
lldb::offset_t length = std::numeric_limits<lldb::offset_t>::max().
MacOSX/iOS have cases where 32-bit code debugs 64-bit code, and in cases like that using the host data types does the wrong thing. I'd keep it lldb::offset_t and just fix the warning by what I suspect is the real issue, which is using SIZE_MAX as the initializer.