seen with the final 4.1.2 release; taken from the OOo 2.1 sources, which built
fine with previous 4.1 versions.

test case fails with -O0, works with -O1 and -O2

  Matthias

In function 'void callVirtualMethod(void*, sal_uInt32, void*,
typelib_TypeDescription*, bool, sal_uInt64*, sal_uInt32, sal_uInt64*,
sal_uInt32, double*, sal_uInt32)':
/home/doko/gcj/openoffice.org-2.1/ooo-build/build/current/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:198:
error: unable to find a register to spill in class 'CREG'
/home/doko/gcj/openoffice.org-2.1/ooo-build/build/current/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:198:
error: this is the insn:
(insn 68 67 71 6 (parallel [
            (set (reg:DI 0 ax [orig:136 D.31215 ] [136])
                (const_int 0 [0x0]))
            (set (reg/f:DI 40 r11 [orig:134 stack ] [134])
                (plus:DI (reg/f:DI 40 r11 [orig:134 stack ] [134])
                    (reg:DI 0 ax [orig:136 D.31215 ] [136])))
            (set (reg/f:DI 39 r10 [orig:135 pStack ] [135])
                (plus:DI (reg/f:DI 39 r10 [orig:135 pStack ] [135])
                    (reg:DI 0 ax [orig:136 D.31215 ] [136])))
            (set (mem:BLK (reg/f:DI 40 r11 [orig:134 stack ] [134]) [0 A64])
                (mem:BLK (reg/f:DI 39 r10 [orig:135 pStack ] [135]) [0 A64]))
            (use (reg:DI 0 ax [orig:136 D.31215 ] [136]))
            (use (reg:SI 19 dirflag))
        ]) 707 {*rep_movqi_rex64} (nil)
    (expr_list:REG_UNUSED (reg/f:DI 39 r10 [orig:135 pStack ] [135])
        (expr_list:REG_UNUSED (reg/f:DI 40 r11 [orig:134 stack ] [134])
            (expr_list:REG_UNUSED (reg:DI 0 ax [orig:136 D.31215 ] [136])
                (expr_list:REG_DEAD (reg:SI 19 dirflag)
                    (expr_list:REG_UNUSED (reg/f:DI 39 r10 [orig:135 pStack ]
[135])
                        (expr_list:REG_UNUSED (reg/f:DI 40 r11 [orig:134 stack
] [134])
                            (expr_list:REG_UNUSED (reg:DI 0 ax [orig:136
D.31215 ] [136])
                                (nil)))))))))
/home/doko/gcj/openoffice.org-2.1/ooo-build/build/current/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:198:
confused by earlier errors, bailing out


-- 
           Summary: [4.1 regression] unable to find a register to spill in
                    class 'CREG'
           Product: gcc
           Version: 4.1.2
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: debian-gcc at lists dot debian dot org
GCC target triplet: x86_64-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30919

Reply via email to