bug fix for dealing with illegal types of initializers

This commit is contained in:
Vern Paxson 2024-05-16 14:26:57 -07:00 committed by Tim Wojtulewicz
parent e84b60762a
commit e9a0a50da5

View file

@ -2537,6 +2537,11 @@ TypePtr init_type(const detail::ExprPtr& init) {
if ( init->Tag() != detail::EXPR_LIST ) {
auto t = init->InitType();
if ( ! t ) {
init->Error("not a valid initializer");
return nullptr;
}
if ( (t->Tag() == TYPE_TABLE && cast_intrusive<TableType>(t)->IsUnspecifiedTable()) ||
(t->Tag() == TYPE_VECTOR && cast_intrusive<VectorType>(t)->IsUnspecifiedVector()) ) {
init->Error("empty constructor in untyped initialization");