If I write something like this in a C99 header:
static inline void f()
{
static int x = 0;
// Do something with x
}
Is it guaranteed that each module including this header gets a separate instantiation of f() and its own instantiation of x?