The `inline.h' machinery is confusing for some compilers (e.g.,
DEC/Compaq/HP CC). The issue is the following: when an inline keyword
is supported and a non-GCC compiler is used, the header looks like this:
extern SCM scm_cell (...);
static inline
scm_cell (...)
{ ... }
Perhaps I'm confused too, but the compiler's complaint seems correct.
This points out that some time I'm bored I should try to build with pcc,
which is derived from an old C compiler, and is now included in NetBSD.
Using a second compiler has apparently resulted in many failures to
conform to C99 being fixed.
The patch seems ok, but I also wonder if the problem couldn't be solved
leaving the declarations by defining macros that expand properly to
extern/not and using them as
INLINE_SCOPE_DECLARATION_KEYWORD SCM scm_cell (...);
INLINE_SCOPE_DEFINITION_KEYWORD inline
scm_cell (...)
{ ... }
So we could have either
static/static
or
extern/[emtpy]