> Everywhere a C constant-expression appears in the C grammar the compiler should be able to execute functions at compile time, too, as long as the functions do not do things like I/O, access mutable global variables, make system calls, etc.
That one is easily broken. Pick a function that runs for a lloooonngg time...
int busybeaver(int n) {...} // pure function returns max lifetime of n state busy beaver machine
int x = busybeaver(99);
That one is easily broken. Pick a function that runs for a lloooonngg time...