A function declared as inline automatically has internal linkage unless you specify otherwise.

Inline functions never make it to the linker. They're entirely expanded in-place by the compiler. Hence the difference.
Assuming, that is, that the compiler chooses to actually inline the function. It doesn't always do so.