http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54351

--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-08-22 
18:58:22 UTC ---
I'll test this change:

@@ -169,7 +169,13 @@
 #endif

       // Destructor.
-      ~unique_ptr() noexcept { reset(); }
+      ~unique_ptr() noexcept
+      {
+       auto& __ptr = std::get<0>(_M_t);
+       if (__ptr != pointer())
+         get_deleter()(__ptr);
+       __ptr = pointer();
+      }

       // Assignment.
       unique_ptr&

Reply via email to