diff --git a/vhdlpp/expression_evaluate.cc b/vhdlpp/expression_evaluate.cc index 577defb8b..97a1e4470 100644 --- a/vhdlpp/expression_evaluate.cc +++ b/vhdlpp/expression_evaluate.cc @@ -147,12 +147,13 @@ bool ExpName::evaluate(Entity*ent, ScopeBase*scope, int64_t&val) const if (ent) { const InterfacePort*gen = ent->find_generic(name_); if (gen) { - cerr << get_fileline() << ": sorry: I don't necessarily " - << "handle generic overrides." << endl; - // Evaluate the default expression and use that. - if (gen->expr) - return gen->expr->evaluate(ent, scope, val); + if (gen->expr && gen->expr->evaluate(ent, scope, val)) + return true; + + cerr << get_fileline() << ": sorry: I could not evaluate " + << "generic override." << endl; + return false; } }