[Bug target/27683] [4.2 Regression] Many new GFORTRAN testsuite failures

dir at lanl dot gov gcc-bugzilla@gcc.gnu.org
Fri May 26 19:36:00 GMT 2006



------- Comment #23 from dir at lanl dot gov  2006-05-26 19:36 -------
Here is the good and the bad -

[dranta:~/tests/gfortran-D] dir% gfortran -O1 -save-temps -o write_logical2
write_logical2.f90
[dranta:~/tests/gfortran-D] dir% write_logical2
At line 9 of file write_logical2.f90
Fortran runtime error: Missing initial left parenthesis in format

[dranta:~/tests/gfortran-D] dir% cat write_logical2.f90
! PR 14334, L edit descriptor does not work
!
!  this test uses L1 and L4 to print TRUE and FALSE
       logical true,false
       character*10 b
       true = .TRUE.
       false = .FALSE.
       b = ''
       write (b, '(L1)') true
       if (b(1:1) .ne. 'T') call abort

       end
[dranta:~/tests/gfortran-D] dir% cat write_logical2.s
        .machine ppc
        .text
        .align 2
        .globl _MAIN__
_MAIN__:
        mflr r0
        stmw r28,-16(r1)
        stw r0,8(r1)
        stwu r1,-384(r1)
        bcl 20,31,"L00000000001$pb"
"L00000000001$pb":
        mflr r31
        li r3,70
        li r4,127
        li r5,0
        bl L__gfortran_set_std$stub
        li r0,1
        stw r0,56(r1)
        addi r28,r1,60
        addis r29,r31,ha16(LANCHOR0-"L00000000001$pb")
        la r29,lo16(LANCHOR0-"L00000000001$pb")(r29)
        li r3,10
        mr r4,r28
        li r5,0
        mr r6,r29
        bl L__gfortran_copy_string$stub
        addis r2,r31,ha16(LC1-"L00000000001$pb")
        la r2,lo16(LC1-"L00000000001$pb")(r2)
        stw r2,80(r1)
        li r0,9
        stw r0,84(r1)
        stw r28,132(r1)
        li r0,10
        stw r0,136(r1)
        li r0,0
        stw r0,112(r1)
        stw r0,76(r1)
        stw r29,116(r1)
        li r0,4
        stw r0,120(r1)
        li r0,20480
        stw r0,72(r1)
        addi r29,r1,72
        mr r3,r29
        bl L__gfortran_st_write$stub
        mr r3,r29
        addi r4,r1,56
        li r5,4
        bl L__gfortran_transfer_logical$stub
        mr r3,r29
        bl L__gfortran_st_write_done$stub
        lbz r0,60(r1)
        cmpwi cr7,r0,84
        beq+ cr7,L4
        bl L__gfortran_abort$stub
L4:
        addi r1,r1,384
        lwz r0,8(r1)
        mtlr r0
        lmw r28,-16(r1)
        blr
        .const
        .align 2
        .set    LANCHOR0, . + 0
LC0:
        .space 1
LC2:
        .ascii "(L1)"
        .cstring
        .align 2
LC1:
        .ascii "write_logical2.f90\0"
        .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
        .align 5
L__gfortran_transfer_logical$stub:
        .indirect_symbol __gfortran_transfer_logical
        mflr r0
        bcl 20,31,"L00000000001$spb"
"L00000000001$spb":
        mflr r11
        addis
r11,r11,ha16(L__gfortran_transfer_logical$lazy_ptr-"L00000000001$spb")
        mtlr r0
        lwzu
r12,lo16(L__gfortran_transfer_logical$lazy_ptr-"L00000000001$spb")(r11)
        mtctr r12
        bctr
        .lazy_symbol_pointer
L__gfortran_transfer_logical$lazy_ptr:
        .indirect_symbol __gfortran_transfer_logical
        .long   dyld_stub_binding_helper
        .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
        .align 5
L__gfortran_st_write_done$stub:
        .indirect_symbol __gfortran_st_write_done
        mflr r0
        bcl 20,31,"L00000000002$spb"
"L00000000002$spb":
        mflr r11
        addis
r11,r11,ha16(L__gfortran_st_write_done$lazy_ptr-"L00000000002$spb")
        mtlr r0
        lwzu
r12,lo16(L__gfortran_st_write_done$lazy_ptr-"L00000000002$spb")(r11)
        mtctr r12
        bctr
        .lazy_symbol_pointer
L__gfortran_st_write_done$lazy_ptr:
        .indirect_symbol __gfortran_st_write_done
        .long   dyld_stub_binding_helper
        .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
        .align 5
L__gfortran_abort$stub:
        .indirect_symbol __gfortran_abort
        mflr r0
        bcl 20,31,"L00000000003$spb"
"L00000000003$spb":
        mflr r11
        addis r11,r11,ha16(L__gfortran_abort$lazy_ptr-"L00000000003$spb")
        mtlr r0
        lwzu r12,lo16(L__gfortran_abort$lazy_ptr-"L00000000003$spb")(r11)
        mtctr r12
        bctr
        .lazy_symbol_pointer
L__gfortran_abort$lazy_ptr:
        .indirect_symbol __gfortran_abort
        .long   dyld_stub_binding_helper
        .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
        .align 5
L__gfortran_set_std$stub:
        .indirect_symbol __gfortran_set_std
        mflr r0
        bcl 20,31,"L00000000004$spb"
"L00000000004$spb":
        mflr r11
        addis r11,r11,ha16(L__gfortran_set_std$lazy_ptr-"L00000000004$spb")
        mtlr r0
        lwzu r12,lo16(L__gfortran_set_std$lazy_ptr-"L00000000004$spb")(r11)
        mtctr r12
        bctr
        .lazy_symbol_pointer
L__gfortran_set_std$lazy_ptr:
        .indirect_symbol __gfortran_set_std
        .long   dyld_stub_binding_helper
        .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
        .align 5
L__gfortran_copy_string$stub:
        .indirect_symbol __gfortran_copy_string
        mflr r0
        bcl 20,31,"L00000000005$spb"
"L00000000005$spb":
        mflr r11
        addis r11,r11,ha16(L__gfortran_copy_string$lazy_ptr-"L00000000005$spb")
        mtlr r0
        lwzu r12,lo16(L__gfortran_copy_string$lazy_ptr-"L00000000005$spb")(r11)
        mtctr r12
        bctr
        .lazy_symbol_pointer
L__gfortran_copy_string$lazy_ptr:
        .indirect_symbol __gfortran_copy_string
        .long   dyld_stub_binding_helper
        .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
        .align 5
L__gfortran_st_write$stub:
        .indirect_symbol __gfortran_st_write
        mflr r0
        bcl 20,31,"L00000000006$spb"
"L00000000006$spb":
        mflr r11
        addis r11,r11,ha16(L__gfortran_st_write$lazy_ptr-"L00000000006$spb")
        mtlr r0
        lwzu r12,lo16(L__gfortran_st_write$lazy_ptr-"L00000000006$spb")(r11)
        mtctr r12
        bctr
        .lazy_symbol_pointer
L__gfortran_st_write$lazy_ptr:
        .indirect_symbol __gfortran_st_write
        .long   dyld_stub_binding_helper
        .subsections_via_symbols
[dranta:~/tests/gfortran-D] dir% cat write_logical2.s.good
        .machine ppc
        .const
        .align 2
LC0:
        .space 1
        .cstring
        .align 2
LC1:
        .ascii "write_logical2.f90\0"
        .const
        .align 2
LC2:
        .ascii "(L1)"
        .text
        .align 2
        .globl _MAIN__
_MAIN__:
        mflr r0
        stmw r29,-12(r1)
        stw r0,8(r1)
        stwu r1,-384(r1)
        bcl 20,31,"L00000000001$pb"
"L00000000001$pb":
        mflr r31
        li r3,70
        li r4,127
        li r5,0
        bl L__gfortran_set_std$stub
        li r0,1
        stw r0,56(r1)
        addi r29,r1,60
        li r3,10
        mr r4,r29
        li r5,0
        addis r6,r31,ha16(LC0-"L00000000001$pb")
        la r6,lo16(LC0-"L00000000001$pb")(r6)
        bl L__gfortran_copy_string$stub
        addis r2,r31,ha16(LC1-"L00000000001$pb")
        la r2,lo16(LC1-"L00000000001$pb")(r2)
        stw r2,80(r1)
        li r0,9
        stw r0,84(r1)
        stw r29,132(r1)
        li r0,10
        stw r0,136(r1)
        li r0,0
        stw r0,112(r1)
        stw r0,76(r1)
        addis r2,r31,ha16(LC2-"L00000000001$pb")
        la r2,lo16(LC2-"L00000000001$pb")(r2)
        stw r2,116(r1)
        li r0,4
        stw r0,120(r1)
        li r0,20480
        stw r0,72(r1)
        addi r29,r1,72
        mr r3,r29
        bl L__gfortran_st_write$stub
        mr r3,r29
        addi r4,r1,56
        li r5,4
        bl L__gfortran_transfer_logical$stub
        mr r3,r29
        bl L__gfortran_st_write_done$stub
        lbz r0,60(r1)
        cmpwi cr7,r0,84
        beq+ cr7,L4
        bl L__gfortran_abort$stub
L4:
        addi r1,r1,384
        lwz r0,8(r1)
        mtlr r0
        lmw r29,-12(r1)
        blr
        .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
        .align 5
L__gfortran_transfer_logical$stub:
        .indirect_symbol __gfortran_transfer_logical
        mflr r0
        bcl 20,31,"L00000000001$spb"
"L00000000001$spb":
        mflr r11
        addis
r11,r11,ha16(L__gfortran_transfer_logical$lazy_ptr-"L00000000001$spb")
        mtlr r0
        lwzu
r12,lo16(L__gfortran_transfer_logical$lazy_ptr-"L00000000001$spb")(r11)
        mtctr r12
        bctr
        .lazy_symbol_pointer
L__gfortran_transfer_logical$lazy_ptr:
        .indirect_symbol __gfortran_transfer_logical
        .long   dyld_stub_binding_helper
        .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
        .align 5
L__gfortran_st_write_done$stub:
        .indirect_symbol __gfortran_st_write_done
        mflr r0
        bcl 20,31,"L00000000002$spb"
"L00000000002$spb":
        mflr r11
        addis
r11,r11,ha16(L__gfortran_st_write_done$lazy_ptr-"L00000000002$spb")
        mtlr r0
        lwzu
r12,lo16(L__gfortran_st_write_done$lazy_ptr-"L00000000002$spb")(r11)
        mtctr r12
        bctr
        .lazy_symbol_pointer
L__gfortran_st_write_done$lazy_ptr:
        .indirect_symbol __gfortran_st_write_done
        .long   dyld_stub_binding_helper
        .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
        .align 5
L__gfortran_abort$stub:
        .indirect_symbol __gfortran_abort
        mflr r0
        bcl 20,31,"L00000000003$spb"
"L00000000003$spb":
        mflr r11
        addis r11,r11,ha16(L__gfortran_abort$lazy_ptr-"L00000000003$spb")
        mtlr r0
        lwzu r12,lo16(L__gfortran_abort$lazy_ptr-"L00000000003$spb")(r11)
        mtctr r12
        bctr
        .lazy_symbol_pointer
L__gfortran_abort$lazy_ptr:
        .indirect_symbol __gfortran_abort
        .long   dyld_stub_binding_helper
        .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
        .align 5
L__gfortran_set_std$stub:
        .indirect_symbol __gfortran_set_std
        mflr r0
        bcl 20,31,"L00000000004$spb"
"L00000000004$spb":
        mflr r11
        addis r11,r11,ha16(L__gfortran_set_std$lazy_ptr-"L00000000004$spb")
        mtlr r0
        lwzu r12,lo16(L__gfortran_set_std$lazy_ptr-"L00000000004$spb")(r11)
        mtctr r12
        bctr
        .lazy_symbol_pointer
L__gfortran_set_std$lazy_ptr:
        .indirect_symbol __gfortran_set_std
        .long   dyld_stub_binding_helper
        .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
        .align 5
L__gfortran_copy_string$stub:
        .indirect_symbol __gfortran_copy_string
        mflr r0
        bcl 20,31,"L00000000005$spb"
"L00000000005$spb":
        mflr r11
        addis r11,r11,ha16(L__gfortran_copy_string$lazy_ptr-"L00000000005$spb")
        mtlr r0
        lwzu r12,lo16(L__gfortran_copy_string$lazy_ptr-"L00000000005$spb")(r11)
        mtctr r12
        bctr
        .lazy_symbol_pointer
L__gfortran_copy_string$lazy_ptr:
        .indirect_symbol __gfortran_copy_string
        .long   dyld_stub_binding_helper
        .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
        .align 5
L__gfortran_st_write$stub:
        .indirect_symbol __gfortran_st_write
        mflr r0
        bcl 20,31,"L00000000006$spb"
"L00000000006$spb":
        mflr r11
        addis r11,r11,ha16(L__gfortran_st_write$lazy_ptr-"L00000000006$spb")
        mtlr r0
        lwzu r12,lo16(L__gfortran_st_write$lazy_ptr-"L00000000006$spb")(r11)
        mtctr r12
        bctr
        .lazy_symbol_pointer
L__gfortran_st_write$lazy_ptr:
        .indirect_symbol __gfortran_st_write
        .long   dyld_stub_binding_helper
        .subsections_via_symbols
[dranta:~/tests/gfortran-D] dir% diff -w write_logical2.s.good write_logical2.s
2,13d1
<       .const
<       .align 2
< LC0:
<       .space 1
<       .cstring
<       .align 2
< LC1:
<       .ascii "write_logical2.f90\0"
<       .const
<       .align 2
< LC2:
<       .ascii "(L1)"
19c7
<       stmw r29,-12(r1)
---
>       stmw r28,-16(r1)
31c19,21
<       addi r29,r1,60
---
>       addi r28,r1,60
>       addis r29,r31,ha16(LANCHOR0-"L00000000001$pb")
>       la r29,lo16(LANCHOR0-"L00000000001$pb")(r29)
33c23
<       mr r4,r29
---
>       mr r4,r28
35,36c25
<       addis r6,r31,ha16(LC0-"L00000000001$pb")
<       la r6,lo16(LC0-"L00000000001$pb")(r6)
---
>       mr r6,r29
43c32
<       stw r29,132(r1)
---
>       stw r28,132(r1)
49,51c38
<       addis r2,r31,ha16(LC2-"L00000000001$pb")
<       la r2,lo16(LC2-"L00000000001$pb")(r2)
<       stw r2,116(r1)
---
>       stw r29,116(r1)
73c60
<       lmw r29,-12(r1)
---
>       lmw r28,-16(r1)
74a62,72
>       .const
>       .align 2
>       .set    LANCHOR0, . + 0
> LC0:
>       .space 1
> LC2:
>       .ascii "(L1)"
>       .cstring
>       .align 2
> LC1:
>       .ascii "write_logical2.f90\0"
[dranta:~/tests/gfortran-D] dir% 


-- 


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



More information about the Gcc-bugs mailing list