[gnu.gcc.bug] type conflict keeps inline function from getting written

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.