Now calls main() if one has been defined, and not if one hasn't.

git-svn-id: http://picoc.googlecode.com/svn/trunk@460 21eae674-98b7-11dd-bd71-f92a316d2d60
This commit is contained in:
zik.saleeba 2010-07-05 19:00:29 +00:00
parent fd3fad1784
commit a365e1e993
4 changed files with 5 additions and 6 deletions

View file

@ -38,8 +38,11 @@ void Cleanup()
void CallMain(int argc, char **argv)
{
/* check if the program wants arguments */
struct Value *FuncValue;
struct Value *FuncValue = NULL;
if (!VariableDefined(TableStrRegister("main")))
return;
VariableGet(NULL, TableStrRegister("main"), &FuncValue);
if (FuncValue->Typ->Base != TypeFunction)
ProgramFail(NULL, "main is not a function - can't call it");

View file

@ -77,5 +77,4 @@ void main()
printf("\n");
}
main();

View file

@ -121,6 +121,3 @@ main()
Hanoi(N,A,B,C);
return 0;
}
main();

View file

@ -44,7 +44,7 @@ TESTS= 00_assignment.test \
then \
../picoc $*.c - arg1 arg2 arg3 arg4 2>&1 >$*.output; \
else \
../picoc -m $*.c 2>&1 >$*.output; \
../picoc $*.c 2>&1 >$*.output; \
fi
@if [ "x`diff -qbu $*.expect $*.output`" != "x" ]; \
then \