C machine

Karl Heuer karl at haddock.ISC.COM
Wed Feb 3 09:58:33 AEST 1988


In article <8817 at ism780c.UUCP> marv at ism780.UUCP (Marvin Rubenstein) writes:
>The problem I (Marv Rubinstein) was trying to address is that soon (hopfully
>before we discard C) there will be machines with 48 bit (or longer) pointers
>and 32 bit arithmetic registers.

I also noted this problem.  Apparently an implementation can still be
conforming if it has additional types (using, say, `__verylong int' rather
than `long long int', so as to avoid violating a constraint).  The type of
ptrdiff_t must be a signed arithmetic type.  Must it be one of the standard
arithmetic types, or is it permissible for it to be larger than a long int?
I'm not sure what the dpANS says about this.

Btw, one solution for the printf-format problem is to require something like
  #define FORMAT_TIME_T     "%ld"
  #define FORMAT_PTRDIFF_T  "%d"
in some header file; string pasting makes this feasible.

Karl W. Z. Heuer (ima!haddock!karl or karl at haddock.isc.com), The Walking Lint



More information about the Comp.lang.c mailing list