Inconsistency in CPU version symbols
Jacob Carlborg
doob at me.com
Sun Jan 27 03:37:30 PST 2013
On 2013-01-27 10:42, Johannes Pfau wrote:
> Questions:
> * D_LP64 docs say it means 64bit pointers. GDC currently checks for
> "INT_SIZE == 32 && LONG_INT_SIZE == 64 && POINTER_SIZE == 64" which
> matches the C definition of LP64. This would not match ILP64/SILP64
> for example, so what is D_LP64 supposed to mean?
Looking at the source code, by default LP64 is set if sizeof(size_t) ==
8. The the -m32/64 flags can override this.
On Windows that name is kind of misleading. On Windows the correct data
models seems to be LLP64.
http://en.wikipedia.org/wiki/64-bit_computing#64-bit_data_models
--
/Jacob Carlborg
More information about the Digitalmars-d
mailing list