Remove project int types: Case long_i: Replace with plain long.

Replace long_i with plain long.

long_i was just plain long, adding marker __w64, to be used by
Microsoft's compilers only, as an aid when transitioning from 32 bits to
64 bits. Purpose of this marker was, in fact, to make a 32 bit compiler
emit the same warnings that a 64 bit compiler would.

This __w64 marker is nowadays deprecated by said compilers, and use of a
real 64 bit compiler is recommended instead. See
http://msdn.microsoft.com/en-us/library/s04b5w00.aspx for details.

So, there's no reason to maintain this anymore, and thus is removed.

Refactoring long into int64_t is not attempted, as doing that in a bulk
way is too much complicated. That is left to be done later, on a
file-by-file basis, probably intermixed with file-by-file -Wconversion
activation.

Requested in #459.
This commit is contained in:
Eliseo Martínez
2014-04-30 20:21:21 +02:00
committed by Justin M. Keyes
parent ad966753d4
commit 4fe0a51844
2 changed files with 13 additions and 24 deletions

View File

@@ -71,17 +71,10 @@ Error: configure did not run properly.Check auto/config.log.
#define NUMBUFLEN 30 /* length of a buffer to store a number in ASCII */
/* Make sure long_u is big enough to hold a pointer.
* On Win64, longs are 32 bits and pointers are 64 bits.
* For printf() and scanf(), we need to take care of long_u specifically. */
/* Microsoft-specific. The __w64 keyword should be specified on any typedefs
* that change size between 32-bit and 64-bit platforms. For any such type,
* __w64 should appear only on the 32-bit definition of the typedef.
* Define __w64 as an empty token for everything but MSVC 7.x or later.
*/
# define __w64
typedef unsigned long __w64 long_u;
typedef long __w64 long_i;
// Make sure long_u is big enough to hold a pointer.
// On Win64, longs are 32 bits and pointers are 64 bits.
// For printf() and scanf(), we need to take care of long_u specifically.
typedef unsigned long long_u;
/*
* The characters and attributes cached for the screen.