Problem with recursive static inline function (not emitted)
Andreas Jaeger
aj@suse.de
Wed Nov 7 06:34:00 GMT 2001
Building of 176.gcc from SPECint2000 fails currently with this error
on i686-linux-gnu:
sched.o: In function `adjust_priority':
sched.o(.text+0x6260): undefined reference to `birthing_insn_p'
collect2: ld returned 1 exit status
Jakub, your change is one of the patches that's in since the build
fails:
+ 2001-11-16 Jakub Jelinek <jakub@redhat.com>
+
+ * c-lang.c (finish_file): Don't emit static inline functions if
+ they weren't referenced.
+
For details check:
http://www.suse.de/~aj/SPEC/failed/sandbox-b/200111170105/
birthing_insn_p is declared as:
__inline static int
birthing_insn_p (pat)
rtx pat;
and used in the code:
grep birthing sched.s
call birthing_insn_p
$ nm sched.o |grep birthing
U birthing_insn_p
It seems the function was inlined - but not inlined everywhere.
Jakub, can you have a look? I can send the preprocessed file
privatly.
Andreas
--
Andreas Jaeger
SuSE Labs aj@suse.de
private aj@arthur.inka.de
http://www.suse.de/~aj
More information about the Gcc-bugs
mailing list