diff --git a/vhdlpp/expression.h b/vhdlpp/expression.h index 97ebf629d..094ffd36b 100644 --- a/vhdlpp/expression.h +++ b/vhdlpp/expression.h @@ -496,6 +496,7 @@ class ExpUNot : public ExpUnary { ExpUNot(Expression*op1); ~ExpUNot(); + int elaborate_expr(Entity*ent, Architecture*arc, const VType*ltype); int emit(ostream&out, Entity*ent, Architecture*arc); void dump(ostream&out, int indent = 0) const; }; diff --git a/vhdlpp/expression_elaborate.cc b/vhdlpp/expression_elaborate.cc index ba73f4765..5b43c0b5e 100644 --- a/vhdlpp/expression_elaborate.cc +++ b/vhdlpp/expression_elaborate.cc @@ -310,7 +310,7 @@ int ExpConditional::elaborate_expr(Entity*ent, Architecture*arc, const VType*lty return errors; } -int ExpFunc::elaborate_expr(Entity*ent, Architecture*arc, const VType*ltype) +int ExpFunc::elaborate_expr(Entity*ent, Architecture*arc, const VType*) { int errors = 0; @@ -430,3 +430,10 @@ int ExpString::elaborate_expr(Entity*, Architecture*, const VType*ltype) set_type(ltype); return 0; } + +int ExpUNot::elaborate_expr(Entity*, Architecture*, const VType*ltype) +{ + ivl_assert(*this, ltype != 0); + set_type(ltype); + return 0; +}