The stack size is usually determined at runtime by the OS or hardware, and exceeding it leads to a stack overflow.
Recursive function calls or deeply nested function calls may trigger a stack overflow at runtime, but the compiler is not required to detect this