Subject: Re: Bug in regex library?
To: Peter Seebach <seebs@solon.com>
From: John F. Woods <jfw@jfwhome.funhouse.com>
List: current-users
Date: 10/30/1996 07:40:59
> >Nobody has convinced me that it is a violation of the standard to have
> >a type longer than a long, nor even for off_t to be such a type;
> >indeed, I don't think I've seen even unsupported claims to that effect.

> I'll make a supported one; the integral types are defined to be the
> character types, short int, int, long int, and unsigned (short, int,
> long int).  The list is exhaustive.  (6.1.2.5.)

Exhaustive in the sense that all derived types in the Standard which are
of integral type must be one of those types.  Nothing prohibits a compiler
from offering additional types, as long as the Standard's types are, well,
standard.  (That "long long int" is a syntax error, pure and simple, does
not change this, it merely means that it can't be used without a diagnostic
when the compiler is in strict conformance mode.  The use of "__int64" in
a user program is a user "error" which does not require a diagnostic, hence
can be silently accepted if the compiler has made use of its liberty to
supply a symbol in the reserved namespace.  (I'm sure Peter knows this,
this is for everyone else's dubious benefit :-) ).

> I don't have the standard in front of me (!!!) so I can't be sure off_t
> is an integral type, but I'm *pretty sure* it is... I know fpos_t isn't
> required to be.

off_t is not an ANSI feature, it is POSIX; it is therefore not required
to be a listed ANSI integral type.