More likely is the fact that inlining is disabled at -O0 and now the functions really are implemented as static functions and generate static functions. Now you really do have unreferenced static functions. Try removing the static storage class from the inline prototypes.
What would work best for header files is to declare inline functions as extern. Then provide a C file with the inline function definitions. this is preferable because it works in all cases: It works when inlining is not enabled and it works with C89 compilers. This is recommended: https://gcc.gnu.org/onlinedocs/gcc/Inline.html
static inline in header files is never recommended: https://groups.google.com/forum/#!topic/mozilla.dev.platform/Ulw9HoZbSyQ