This is the mail archive of the mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: BUG: stdin not a constant

Peter David ROSS <> writes:

>The following code doesn't compile. 
>#include <stdio.h>
>static FILE *out = stdout;
>void main(void)
>    /* out = stdout; */
>    fprintf(out, "hello world\n");

That code is not ANSI/ISO-conformant C.
The ANSI/ISO C standard does not require `stdout' to be a constant
suitable for use in a static initializer.

>The fix is to remove the initialiser and add the line which is commented out.


>However the code I am trying to port has these sort of variables spread
>all over the place,

You have my sympathy ;-)

>and I would like to know if there is someway I can
>get the compiler to treat it as a constant.

I'm fairly sure there's no simple way.
I think you'll just have to fix your non-conformant source code.

Fergus Henderson <>   |  "I have always known that the pursuit
WWW: <>   |  of excellence is a lethal habit"
PGP: finger fjh@         |     -- the last words of T. S. Garp.
For help on using this list (especially unsubscribing), send a message to
"" with one line of text: "help".

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]