octave-patch-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-patch-tracker] [patch #10366] Same destructor order for octave_v


From: Markus Mützel
Subject: [Octave-patch-tracker] [patch #10366] Same destructor order for octave_value:s in frame in std::vector for libstdc++ and libc++
Date: Tue, 11 Jul 2023 14:21:10 -0400 (EDT)

Follow-up Comment #8, patch #10366 (project octave):

Maybe something like this?

diff -r 829a32a4171c libinterp/corefcn/stack-frame.cc
--- a/libinterp/corefcn/stack-frame.cc  Tue Jul 11 19:43:03 2023 +0200
+++ b/libinterp/corefcn/stack-frame.cc  Tue Jul 11 20:20:19 2023 +0200
@@ -1197,11 +1197,13 @@
 
     // Member dtor order is last to first.  So, m_auto_vars before m_values.
 
-    for (auto& auto_var : m_auto_vars)
-      auto_var = octave_value ();
-
-    for (auto& value : m_values)
-      value = octave_value ();
+    for (auto auto_vars_iter = m_auto_vars.begin ();
+         auto_vars_iter != m_auto_vars.end ();)
+      auto_vars_iter = m_auto_vars.erase (auto_vars_iter);
+
+    for (auto values_iter = m_values.begin ();
+         values_iter != m_values.end ();)
+      values_iter = m_values.erase (values_iter);
   }
 
   std::size_t size () const




    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/patch/?10366>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]