...
Use of an identifier (within one translation unit) classified as both internally and externally linked causes undefined behavior. A translation unit includes the source file together with its headers , and all source files included via the preprocessing directive #include
.
...