[Bug c++/59800] New: Compilation with g++ fails when -Ofast -flto is used to compile code using some <random> distribution

rionda at gmail dot com gcc-bugzilla@gcc.gnu.org
Tue Jan 14 06:01:00 GMT 2014


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59800

            Bug ID: 59800
           Summary: Compilation with g++ fails when -Ofast -flto is used
                    to compile code using some <random> distribution
           Product: gcc
           Version: 4.8.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: rionda at gmail dot com

Created attachment 31828
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31828&action=edit
Code that fails

The attached code compiles cleanly when using 
g++ -Ofast -Wall -Wextra -Wno-unused-parameter test.cpp test.cpp
and when using
g++ -flto -Wall -Wextra -Wno-unused-parameter test.cpp
but fails when using "g++8 -std=c++11 -Ofast -flto -Wall -Wextra
-Wno-unused-parameter test.cpp" (i.e., when using both -Ofast and -flto).

The reported error is:
test.cpp: In function 'main':
/opt/local/include/gcc48/c++/bits/random.h:2404:60: warning: 'MEM[(struct
normal_distribution *)&my_lognormal + 16B]._M_saved' may be used uninitialized
in this function [-Wmaybe-uninitialized]
         { return std::exp(__p.s() * _M_nd(__urng) + __p.m()); }
                                                            ^
test.cpp:11:33: note: 'MEM[(struct normal_distribution *)&my_lognormal +
16B]._M_saved' was declared here
  lognormal_distribution<double> my_lognormal(0.0, 1.0);
                                 ^

I am running 
g++-mp-4.8 (MacPorts gcc48 4.8.2_0) 4.8.2
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
on Mac OS X 10.6.8
(uname -a : darwin xxxx.local 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun  7
16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386 i386)



More information about the Gcc-bugs mailing list