diff --git a/src/ifcparse/IfcParse.cpp b/src/ifcparse/IfcParse.cpp index cb6cadf604..1b47819d5b 100644 --- a/src/ifcparse/IfcParse.cpp +++ b/src/ifcparse/IfcParse.cpp @@ -776,6 +776,11 @@ ArgumentList::operator IfcEntityListList::ptr() const { if ((arg_list = dynamic_cast(arg)) != 0) { IfcEntityList::ptr e = *arg_list; l->push(e); + } else { + auto token = dynamic_cast(arg); + int startpos = token ? token->token.startPos : 0; + std::string string_rep = this->toString(); + throw IfcInvalidTokenException(startpos, string_rep, "nested aggregate"); } } return l;