------- Comment #42 from danglin at gcc dot gnu dot org 2006-01-14 17:58 ------- The patch in #41 doesn't seem to be a complete fix. I see the following assembler code for testcase #2 on hppa-unknown-linux-gnu:
.LEVEL 1.1 .text .align 4 .globl F1 .type F1, @function F1: .PROC .CALLINFO FRAME=64,CALLS,SAVE_RP,ENTRY_GR=3 .ENTRY stw %r2,-20(%r30) bl F3,%r2 stwm %r3,64(%r30) ldi 0,%r22 copy %r3,%r26 .CALL ARGW0=GR bl $$dyncall,%r31 copy %r31,%r2 copy %r28,%r3 .L2: bl T,%r2 copy %r3,%r26 ldw -84(%r30),%r2 copy %r3,%r28 bv %r0(%r2) ldwm -64(%r30),%r3 .EXIT .PROCEND .size F1, .-F1 .ident "GCC: (GNU) 4.2.0 20060113 (experimental)" We save register %r3, but it's not initialized. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24626