Are multiple identical prototypes legal?
The following code does not emit any warnings when compiled with both gcc and clang on Linux x64: #include <stdio.h> #include <stdlib.h> void foo(void); void foo(void); void foo(void); int main(void) { return 0; } IMO, it’s legal according to the following snippets from C99: All declarations that refer to the same object or function shall