http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50982
--- Comment #19 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> 2011-11-04 16:30:57 UTC --- > The incorrect version of atomic.ii includes more code, but nothing specific to > pthread_once_t. I still am trying to understand the nesting, but is an extern > "C++" statement resetting the mode that was not occurring before? I think it does: it has the once_flag() initialization that fails to compile. This is from libstdc++-v3/include/std/mutex, controlled by #if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1) How are those macros defined in <target>/libstdc++-v3/config.h before and after my patches? That's why I regularly ask for -g3 -save-temps output; this way, the macro definitions are kept in the preprocessed output and you can see this for yourself. Rainer