[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/