flex
Bill.Stewart.<ho95c>
wcs at skep2.ATT.COM
Fri May 20 07:02:06 AEST 1988
In article <278 at sdrc.UUCP> scjones at sdrc.UUCP (Larry Jones) writes:
:In article <690 at naucse.UUCP>, jdc at naucse.UUCP (John Campbell) writes:
:> The 'C' question: :> Flex has the following global line:
:> FILE *yyin=stdin, *yyout=stdout;
:> which does not work at compile time on VMS. In other words, it appears
:> the compiler does not treat stdin as a constant--it's value is known only
:> at run-time. (VMS stdio.h says "extern noshare FILE *stdin;.) To work
:
:According to the latest ANSI draft (and many of the previous ones), stdin and
:friends are simply expressions and not necessarily constant expressions. Thus,
:they may not be used portably to initialize objects with static storage
:duration. So, the compiler's OK, flex is not maximally portable (as you
If the compiler's OK, what's this "noshare" business? It's been a while
since I've seen the ANSI C draft, but I don't remember that being in it -
it looks kind of like noalias? (Noalias had to go, and did - it was
non-negotiable.) Also, something you declare to be extern shouldn't be
assumed to be constant. So both are somewhat non-portable.
--
# Thanks;
# Bill Stewart, AT&T Bell Labs 2G218, Holmdel NJ 1-201-949-0705 ihnp4!ho95c!wcs
# skep2 is a local machine I'm trying to turn into a server. Please send
# mail to ho95c or ho95e instead. Thanks.
More information about the Comp.lang.c
mailing list