...
Use of an identifier (within one translation unit) classified as both internally and externally linked is undefined behavior (see also undefined behavior 8 in the C Standard, Annex J). A translation unit includes the source file together with its headers and all source files included via the preprocessing directive #include
.
...