[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