diff --git a/winsup/cygwin/random.cc b/winsup/cygwin/random.cc index 802c33b8a..163fc040c 100644 --- a/winsup/cygwin/random.cc +++ b/winsup/cygwin/random.cc @@ -279,14 +279,6 @@ srandom(unsigned x) (void)random(); } -/* Avoid a compiler warning when we really want to get at the junk in - an uninitialized variable. */ -static unsigned long -dummy (unsigned volatile long *x) -{ - return *x; -} - /* * srandomdev: * @@ -313,7 +305,11 @@ srandomdev() unsigned long junk; gettimeofday(&tv, NULL); - srandom((getpid() << 16) ^ tv.tv_sec ^ tv.tv_usec ^ dummy(&junk)); + /* Avoid a compiler warning when we really want to get at the + junk in an uninitialized variable. */ +#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" + srandom((getpid() << 16) ^ tv.tv_sec ^ tv.tv_usec ^ junk); +#pragma GCC diagnostic pop return; }