It'd respect the first declaration
Except for functions with C++ linkage, a function declaration without a linkage specification shall not precede the first linkage specification for that function.
A function can be declared without a linkage specification after an explicit linkage specification has been seen; the linkage explicitly specified in the earlier declaration is not affected by such a function declaration.
§dcl.link
extern "C" int C1();
extern "C" int C1() { return 1; } // ok, C linkage, same as previous declaration
extern "C" int C2();
int C2() { return 1; } // ok, C linkage, preserve previous
int C3();
extern "C" int C3(); // error, only C++ linkage can specified after first declaration
int F0();
int F0() { return 1; } // ok, C++ linkage by default
extern "C++" int F1();
extern "C++" int F1() { return 1; } // ok, C++ linkage
extern "C++" int F2();
int F2() { return 1; } // ok, C++ linkage
int F3();
extern "C++" int F3(); // ok, C++ linkage can specified after first declaration