diff --git a/src/tgbaalgos/degen.cc b/src/tgbaalgos/degen.cc index c1f8eec70..2cd2f5fd4 100644 --- a/src/tgbaalgos/degen.cc +++ b/src/tgbaalgos/degen.cc @@ -88,8 +88,13 @@ namespace spot ~unicity_table() { - for (uniq_set::iterator i = m.begin(); i != m.end(); ++i) - (*i)->destroy(); + for (uniq_set::iterator i = m.begin(); i != m.end();) + { + // Advance the iterator before destroying its key. This + // avoid issues with old g++ implementations. + uniq_set::iterator old = i++; + (*old)->destroy(); + } } };