The header files supplied with R2.1 declare alloca() with a return type
of void* in alloca.h and char* in malloc.h, so you
get an error message from the compiler when both of these files are included
in the same compilation unit. We solved this problem by changing the return
type of the declaration of alloca() in malloc.h to void*.