Why does
int main(){
int x; // no linkage
extern int x;
return 0;
}
return the "extern follows non-extern" error? Since the second declaration is in the same scope as the first, and the first has no extern
storage-class (thus no linkage by 6.2.2.6 in the C standard), shouldn't the the second declaration cause x
to have external linkage by 6.2.2.4?