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