Re: libstdc++/52104 - fix linker error for non-TLS targets

2012-02-06 Thread Jonathan Wakely
And fix a linker error (which I can't reproduce) on TLS targets, which can use an explicit instantiation because it doesn't refer to an unnamed closure type. PR libstdc++/52128 * src/c++11/future.cc: Add explicit instantiation. Tested x86_64-linux, powerpc-linux, i686-linux, x86_6

libstdc++/52104 - fix linker error for non-TLS targets

2012-02-05 Thread Jonathan Wakely
The out-of-line destructor in future.cc uses std::call_once which uses a lambda on TLS targets. Because we compile with -fno-implicit-templates an explicit instantiation is needed, but can't be done because the closure type created by the lambda can't be named. This puts the destructor inline in t