On 2025-06-16 15:01, Bruno Haible via Gnulib discussion list wrote:
it seems to me that when the 'static' definition is the same in all compilation units, there is nothing to warn about, and we can ignore the warning.
It's not that simple, as the static functions (or variables) have addresses and these won't be consistent, which can cause confusion. The confusion is particularly severe with static variables, but it can occur even with static functions, e.g., if programs compare function pointers. Also, though this is less important, multiple copies of the static functions can bloat the code.
This is why Gnulib has the extern-inline module.