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.