summaryrefslogtreecommitdiff
path: root/include/stdint.h
AgeCommit message (Collapse)AuthorLines
2013-04-22remove __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS checks in stdint.hRich Felker-8/+0
C++11, the first C++ with stdint.h, requires the previously protected macros to be exposed unconditionally by stdint.h. apparently these checks were an early attempt by the C committee to guess what the C++ committee would want, and they guessed wrong.
2013-04-04fix type issues in stdint.h so underlying types of 64-bit types match ABIRich Felker-8/+15
2013-04-04eliminate bits/wchar.hRich Felker-1/+8
the preprocessor can reliably determine the signedness of wchar_t. L'\0' is used for 0 in the expressions so that, if the underlying type of wchar_t is long rather than int, the promoted type of the expression will match the type of wchar_t.
2012-06-08fix signedness errors in stdint.h constant macrosRich Felker-2/+2
the types of these expressions must match the integer promotions. unsigned 8- and 16-bit values promote to signed int, not unsigned int.
2012-02-07revert hacks for types of stdint.h integer constant macrosRich Felker-4/+4
per 7.18.4: Each invocation of one of these macros shall expand to an integer constant expression suitable for use in #if preprocessing directives. The type of the expression shall have the same type as would an expression of the corresponding type converted according to the integer promotions. The value of the expression shall be that of the argument. the key phrase is "converted according to the integer promotions". thus there is no intent or allowance that the expression have smaller-than-int types.
2011-10-04make [U]INTn_C() macros have the right type...Rich Felker-4/+4
...and still be valid in #if directives.
2011-09-19fix the type of wchar_t on arm; support wchar_t varying with archRich Felker-9/+4
really wchar_t should never vary, but the ARM EABI defines it as an unsigned 32-bit int instead of a signed one, and gcc follows this nonsense. thus, to give a conformant environment, we have to follow (otherwise L""[0] and L'\0' would be 0U rather than 0, but the application would be unaware due to a mismatched definition for WCHAR_MIN and WCHAR_MAX, and Bad Things could happen with respect to signed/unsigned comparisons, promotions, etc.). fortunately no rules are imposed by the C standard on the relationship between wchar_t and wint_t, and WEOF has type wint_t, so we can still make wint_t always-signed and use -1 for WEOF.
2011-04-11more types cleanupRich Felker-12/+3
the basic idea is that the only things in alltypes.h should be types that either vary from system to system (in practice, not just in theoretical la-la land - this is the implementation so we choose what constraints we want to impose on ports) or which are needed by multiple system headers.
2011-04-11cleanup types stuff in headers, fix missing u_int*_t in sys/types.hRich Felker-0/+10
2011-02-12initial check-in, version 0.5.0v0.5.0Rich Felker-0/+107