From 9b86ea96d25971a94095ecb9ffcd99e69c0c6f1c Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 5 Apr 2021 00:30:33 +0200 Subject: [PATCH] Fixed another assertion --- src/gsi/gsi/gsiExpression.cc | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/gsi/gsi/gsiExpression.cc b/src/gsi/gsi/gsiExpression.cc index 911d38fcc..4bf00218f 100644 --- a/src/gsi/gsi/gsiExpression.cc +++ b/src/gsi/gsi/gsiExpression.cc @@ -1077,10 +1077,13 @@ initialize_expressions () std::list classes = gsi::ClassBase::classes_in_definition_order (); for (std::list::const_iterator c = classes.begin (); c != classes.end (); ++c) { - // we might encounter a child class which is a reference to a top-level class (e.g. - // duplication of enums into child classes). In this case we should create a reference inside the - // target class. - if ((*c)->declaration () != *c) { + if ((*c)->is_external ()) { + // skip external classes + continue; + } else if ((*c)->declaration () != *c) { + // we might encounter a child class which is a reference to a top-level class (e.g. + // duplication of enums into child classes). In this case we should create a reference inside the + // target class. tl_assert ((*c)->parent () != 0); // top-level classes should be merged // TODO: implement (see rba.cc:1544 for example) continue;