Using rand_r

Nicholas Sherlock
Thu May 14 05:28:00 GMT 2009

Hey everyone,

I'm trying to use the function rand_r with gcc-4 in Cygwin 1.7, all my 
packages are up to date. It's supposed to be defined in stdlib.h, and I 
can see it there. But if I compile a program which uses it, I get:

warning: implicit declaration of function 'rand_r'.

The reason seems to be the check for #ifndef __STRICT_ANSI__ in 
stdlib.h. Even though I'm compiling with -std=c99, __STRICT_ANSI__ still 
gets declared, so the definition of rand_r is unavailable. This seems to 
be the same problem stated here:

Is this a bug or is rand_r supposed to be unavailable with C99?

Nicholas Sherlock

Unsubscribe info:
Problem reports:

More information about the Cygwin mailing list