man alloca on my Linux system says:
NOTES ON THE GNU VERSION (...) there is no NULL error return. BUGS The alloca() function is machine and compiler dependent. On many systems its implementation is buggy. Its use is discouraged.
On many systems alloca() cannot be used inside the list of arguments of a function call, because the stack space reserved by alloca() would appear on the stack in the middle of the space for the function arguments.
OTOH, programs like gcc and emacs have been using alloca() a lot, though I think at least gcc has mostly gotten rid of it.