I was just browsing through gcc source files. In gcc.c, I found something like
gcc
gcc.c
extern int main (int, char **); int main (int argc, cha
The definition of the main function:
main
int main(int argc, char **argv) { ... }
is already a declaration is the prototyped syntax of the function main with external linkage. This means a prototyped declaration with extern just before the main definition is redundant.
extern