help-flex
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: flex beta 2.5.23 released


From: John Millaway
Subject: Re: flex beta 2.5.23 released
Date: Sat, 23 Nov 2002 15:08:00 -0500 (EST)

> <stdint.h>, included by <inttypes.h>, (not <sys/types.h>) is where the C99
> version of ANSI C says the relevant optional (N.B.) types (int32_t, etc.)
> are defined.  It's true that some systems might not have it, but that's
> also true of <sys/types.h> (which, unlike <inttypes.h>, isn't even
> mentioned in ANSI C!).


<sys/types.h>  has been standard since POSIX.1


>  > Note the FLEX_NEEDS_INTEGRAL_TYPES constant.
>
> Moreover, there's no convenient way to define FLEX_NEEDS...... when
> building flex; configure doesn't do it..

Yes it does:

        ./configure CPPFLAGS=-DFLEX_NEEDS_INTEGRAL_TYPES

> And there's no mechanism to provide for it in cases where the
> generated .c file is compiled on a different system from the one
> that ran flex to produce that .c file.

Flex should generate the same .c file regardless of platform. If you
found a case where it doesn't, then that's a bug.


> Also note that on systems *with* a working <inttypes.h>,
> that header should be used rather than the definitions in the
> FLEX_NEEDS........ branch, as the latter may conflict with <inttypes.h>,
> and <inttypes.h> might be included for use with user-defined functions
> in the last section of the .l file.

The problem is identifying whether or not the given <inttypes.h> is a
*working* one. It seems that some systems have the file, but the
contents violate the standard.

-John





reply via email to

[Prev in Thread] Current Thread [Next in Thread]