Mercurial > hg > octave-lyh > gnulib-hg
changeset 9474:6266ba33b229
Document 64-bit #if problems in stdint.texi.
* doc/headers/stdint.texi (stdint.h): Mention problems with
64-bit-#if, and how to work around them.
author | Paul Eggert <eggert@cs.ucla.edu> |
---|---|
date | Mon, 12 Nov 2007 23:43:16 -0800 |
parents | 8c3f82d802ec |
children | 799b495c5bed |
files | ChangeLog doc/headers/stdint.texi |
diffstat | 2 files changed, 12 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2007-11-12 Paul Eggert <eggert@cs.ucla.edu> + Document 64-bit #if problems in stdint.texi. + * doc/headers/stdint.texi (stdint.h): Mention problems with + 64-bit-#if, and how to work around them. + Don't insist on 'long long int' support in the preprocessor. It breaks too many things. For example, PRIdMAX still uses a 'long long int' format with the latest Sun compiler, even though
--- a/doc/headers/stdint.texi +++ b/doc/headers/stdint.texi @@ -28,6 +28,14 @@ types available on the system. @item Macros are used instead of typedefs. +@item +Some C preprocessors mishandle constants that do not fit in @code{long int}. +For example, as of 2007, Sun C mishandles @code{#if LLONG_MIN < 0} on +a platform with 32-bit @code{long int} and 64-bit @code{long long int}. +Some older preprocessors mishandle constants ending in @code{LL}. +To work around these problems, compute the value of expressions like +@code{LONG_MAX < LLONG_MAX} at @code{configure}-time rather than at +@code{#if}-time. @end itemize The stdint.h module uses @code{#include_next}. If you wish to install