eirik@labs.labs.tek.com (Eirik Fuller) (10/15/89)
With the following source file
static inline int f() {return 1;}
void F() {static void f(); c(f);}
gcc-1.36 fails to output a definition for f(), even though it is needed so
that its address can be passed to c(). This happens on a sun3, a sun4, and
a vax, with the same warning message in each case, so it appears to be
machine-independent. With the following source file
static inline int f() {return 1;}
void F() {static int f(); c(f);}
there is no warning message, and f() gets written.
It's not clear to me what gcc should do with the first source file, but as
a result of a similar problem, hidden beneath some preprocessor layers, I
was unable to compile gdb for a sun4 using -finline-functions. Recompiling
just readline/readline.c without -finline-functions eliminated the link
errors.