Use C99 VLA instead of alloca when available