Mercurial > projects > ldc
diff druntime/import/stdc/stdint.d @ 760:6f33b427bfd1
Seems like hg ignores .di files, so I missed a bunch of stuff. complete druntime should be there now :)
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Wed, 12 Nov 2008 00:19:18 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/druntime/import/stdc/stdint.d Wed Nov 12 00:19:18 2008 +0100 @@ -0,0 +1,151 @@ +/** + * D header file for C99. + * + * Copyright: Public Domain + * License: Public Domain + * Authors: Sean Kelly + * Standards: ISO/IEC 9899:1999 (E) + */ +module stdc.stdint; + +private +{ + template typify(T) + { + T typify( T val ) { return val; } + } +} + +extern (C): + +alias byte int8_t; +alias short int16_t; +alias int int32_t; +alias long int64_t; +//alias cent int128_t; + +alias ubyte uint8_t; +alias ushort uint16_t; +alias uint uint32_t; +alias ulong uint64_t; +//alias ucent uint128_t; + +alias byte int_least8_t; +alias short int_least16_t; +alias int int_least32_t; +alias long int_least64_t; + +alias ubyte uint_least8_t; +alias ushort uint_least16_t; +alias uint uint_least32_t; +alias ulong uint_least64_t; + +alias byte int_fast8_t; +alias int int_fast16_t; +alias int int_fast32_t; +alias long int_fast64_t; + +alias ubyte uint_fast8_t; +alias uint uint_fast16_t; +alias uint uint_fast32_t; +alias ulong uint_fast64_t; + +version( X86_64 ) +{ + alias long intptr_t; + alias ulong uintptr_t; +} +else +{ + alias int intptr_t; + alias uint uintptr_t; +} + +alias long intmax_t; +alias ulong uintmax_t; + +version( VerboseC ) +{ + private import stdc.stddef; + private import stdc.signal; // for sig_atomic_t + + const int8_t INT8_MIN = int8_t.min; + const int8_t INT8_MAX = int8_t.max; + const int16_t INT16_MIN = int16_t.min; + const int16_t INT16_MAX = int16_t.max; + const int32_t INT32_MIN = int32_t.min; + const int32_t INT32_MAX = int32_t.max; + const int64_t INT64_MIN = int64_t.min; + const int64_t INT64_MAX = int64_t.max; + + const uint8_t UINT8_MAX = uint8_t.max; + const uint16_t UINT16_MAX = uint16_t.max; + const uint32_t UINT32_MAX = uint32_t.max; + const uint64_t UINT64_MAX = uint64_t.max; + + const int_least8_t INT_LEAST8_MIN = int_least8_t.min; + const int_least8_t INT_LEAST8_MAX = int_least8_t.max; + const int_least16_t INT_LEAST16_MIN = int_least16_t.min; + const int_least16_t INT_LEAST16_MAX = int_least16_t.max; + const int_least32_t INT_LEAST32_MIN = int_least32_t.min; + const int_least32_t INT_LEAST32_MAX = int_least32_t.max; + const int_least64_t INT_LEAST64_MIN = int_least64_t.min; + const int_least64_t INT_LEAST64_MAX = int_least64_t.max; + + const uint_least8_t UINT_LEAST8_MAX = uint_least8_t.max; + const uint_least16_t UINT_LEAST16_MAX = uint_least16_t.max; + const uint_least32_t UINT_LEAST32_MAX = uint_least32_t.max; + const uint_least64_t UINT_LEAST64_MAX = uint_least64_t.max; + + const int_fast8_t INT_FAST8_MIN = int_fast8_t.min; + const int_fast8_t INT_FAST8_MAX = int_fast8_t.max; + const int_fast16_t INT_FAST16_MIN = int_fast16_t.min; + const int_fast16_t INT_FAST16_MAX = int_fast16_t.max; + const int_fast32_t INT_FAST32_MIN = int_fast32_t.min; + const int_fast32_t INT_FAST32_MAX = int_fast32_t.max; + const int_fast64_t INT_FAST64_MIN = int_fast64_t.min; + const int_fast64_t INT_FAST64_MAX = int_fast64_t.max; + + const uint_fast8_t UINT_FAST8_MAX = uint_fast8_t.max; + const uint_fast16_t UINT_FAST16_MAX = uint_fast16_t.max; + const uint_fast32_t UINT_FAST32_MAX = uint_fast32_t.max; + const uint_fast64_t UINT_FAST64_MAX = uint_fast64_t.max; + + const intptr_t INTPTR_MIN = intptr_t.min; + const intptr_t INTPTR_MAX = intptr_t.max; + + const uintptr_t UINTPTR_MIN = uintptr_t.min; + const uintptr_t UINTPTR_MAX = uintptr_t.max; + + const intmax_t INTMAX_MIN = intmax_t.min; + const intmax_t INTMAX_MAX = intmax_t.max; + + const uintmax_t UINTMAX_MAX = uintmax_t.max; + + const ptrdiff_t PTRDIFF_MIN = ptrdiff_t.min; + const ptrdiff_t PTRDIFF_MAX = ptrdiff_t.max; + + const sig_atomic_t SIG_ATOMIC_MIN = sig_atomic_t.min; + const sig_atomic_t SIG_ATOMIC_MAX = sig_atomic_t.max; + + const size_t SIZE_MAX = size_t.max; + + const wchar_t WCHAR_MIN = wchar_t.min; + const wchar_t WCHAR_MAX = wchar_t.max; + + const wint_t WINT_MIN = wint_t.min; + const wint_t WINT_MAX = wint_t.max; +} + +alias typify!(int8_t) INT8_C; +alias typify!(int16_t) INT16_C; +alias typify!(int32_t) INT32_C; +alias typify!(int64_t) INT64_C; + +alias typify!(uint8_t) UINT8_C; +alias typify!(uint16_t) UINT16_C; +alias typify!(uint32_t) UINT32_C; +alias typify!(uint64_t) UINT64_C; + +alias typify!(intmax_t) INTMAX_C; +alias typify!(uintmax_t) UINTMAX_C;