Here is what I would check:
make sure that the function caller() sees a prototype for the function myfunc(). From the code piece this looks like an implicit parameter declaration (the compiler does not see a prototype of the function) If so, then the compiler has to assume that the function is defined with actual arguments, returning int.
Make sure you include myfunc() prototype in a header file or declare it before using it.
You may check all the compiler warnings (and check if you have not disabled them).
The other thing is: check if you have enough RAM reserved for you stack.
BK