Compiling this file for NetWare, or, after pre-processing it and stripping down
to a reasonably small one, natively for Linux produces "'d' is used
uninitialized in this function".
While the original code in libstdc++ looks broken (which will be reported as a
separate bug), the warning and the generated code are incorrect, since 'd'
definitely gets constructed at source level.
Neither the waring nor the incorrect code generation can be observed at -O1.
I will attach the stripped-down, usable on plain Linux, example in a second.
--
Summary: mis-optimization of libstdc++'s
atomic.cc:__atomic_flag_wait_explicit() at -O2
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jbeulich at novell dot com
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40825