http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54297
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-08-25 23:06:11 UTC --- Author: redi Date: Sat Aug 25 23:06:07 2012 New Revision: 190673 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190673 Log: PR libstdc++/54297 * include/std/future (~_Async_state_impl): Join thread before derived class members are destroyed. (~_Async_state_common): Only define non-trivial destructor when included from future.cc for ABI compatibility reasons. * src/c++11/future.cc (_GLIBCXX_ABI_COMPAT_ASYNC): Define. * testsuite/30_threads/async/54297.cc: New. Added: branches/gcc-4_7-branch/libstdc++-v3/testsuite/30_threads/async/54297.cc Modified: branches/gcc-4_7-branch/libstdc++-v3/ChangeLog branches/gcc-4_7-branch/libstdc++-v3/include/std/future branches/gcc-4_7-branch/libstdc++-v3/src/c++11/future.cc