On Wed, 12 Mar 2008, Ian Lance Taylor wrote: > I don't disagree with that, but I would also like to see something > that will not require changing every target for basic default > behaviour. > > I'd like to suggest that in the absence of other information from the > tm.h file, for N in {8,16,32,64}, where N <= UNITS_PER_WORD * > BITS_PER_UNIT, we map int_fastN_t to int_fastM_t, where M == > UNITS_PER_WORD * BITS_PER_UNIT.
Given the ABI implications and the varying rules used to determine these types on different targets, I think it would be best not to install <stdint.h> from GCC or define any associated internal macros for C code if we don't have appropriate definitions of the types for the particular target in question. We can, however, provide defaults of our choice for targets that don't have the relevant types at all and won't be updated to have them (unmaintained OSes, or targets with OS version numbers for old OS versions - in the latter case, types from a newer OS version would be an appropriate choice); it's just targets that might have them but haven't had the relevant information recorded in GCC that I think should not have the types defined by default in GCC. (How this relates to Fortran is up to the Fortran maintainers.) -- Joseph S. Myers [EMAIL PROTECTED]