mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-12-02 00:43:29 +00:00
- made 'return void' case a compilation error
This commit is contained in:
parent
b79622bcba
commit
d3461be40c
1 changed files with 9 additions and 8 deletions
|
@ -10629,7 +10629,14 @@ FxExpression *FxReturnStatement::Resolve(FCompileContext &ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
PPrototype *retproto;
|
PPrototype *retproto;
|
||||||
if (Args.Size() == 0)
|
|
||||||
|
if (ctx.ReturnProto != nullptr && ctx.ReturnProto->ReturnTypes.Size() != Args.Size())
|
||||||
|
{
|
||||||
|
ScriptPosition.Message(MSG_ERROR, "Incorrect number of return values. Got %u, but expected %u", Args.Size(), ctx.ReturnProto->ReturnTypes.Size());
|
||||||
|
delete this;
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
else if (Args.Size() == 0)
|
||||||
{
|
{
|
||||||
TArray<PType *> none(0);
|
TArray<PType *> none(0);
|
||||||
retproto = NewPrototype(none, none);
|
retproto = NewPrototype(none, none);
|
||||||
|
@ -10645,7 +10652,7 @@ FxExpression *FxReturnStatement::Resolve(FCompileContext &ctx)
|
||||||
}
|
}
|
||||||
retproto = Args[0]->ReturnProto();
|
retproto = Args[0]->ReturnProto();
|
||||||
}
|
}
|
||||||
else if (ctx.ReturnProto != nullptr && ctx.ReturnProto->ReturnTypes.Size() == Args.Size())
|
else
|
||||||
{
|
{
|
||||||
for (unsigned i = 0; i < Args.Size(); i++)
|
for (unsigned i = 0; i < Args.Size(); i++)
|
||||||
{
|
{
|
||||||
|
@ -10660,12 +10667,6 @@ FxExpression *FxReturnStatement::Resolve(FCompileContext &ctx)
|
||||||
}
|
}
|
||||||
return this; // no point calling CheckReturn here.
|
return this; // no point calling CheckReturn here.
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
ScriptPosition.Message(MSG_ERROR, "Incorrect number of return values. Got %u, but expected %u", Args.Size(), ctx.ReturnProto->ReturnTypes.Size());
|
|
||||||
delete this;
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
ctx.CheckReturn(retproto, ScriptPosition);
|
ctx.CheckReturn(retproto, ScriptPosition);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue