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