As was observed in https://reviews.llvm.org/D123627#3707635, it's confusing that a user can write:
float rintf(void) {}
and get a warning, but writing:
float rintf() {}
gives an error. This patch changes the behavior so that both are warnings, so that users who have functions which conflict with a builtin identifier can still use that identifier as they wish.
Note, if we accept this, I would like to backport it to the Clang 15.x branch because the original change was made in Clang 15.
Hmm... this is a definition of a builtin with a completely incompatible prototype. Do we REALLY want this to not be an error?
I guess I could see it being OK with declarations, but it is odd with a definition that is incompatible.