re PR fortran/46638 (Wrong result with TRANSFER from string to DT)

2010-11-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/46638
        PR fortran/46668
        * gfortran.dg/transfer_simplify_10.f90: Fix endian issue.

From-SVN: r167211
This commit is contained in:
Tobias Burnus 2010-11-27 22:27:49 +01:00 committed by Tobias Burnus
parent 45601c744c
commit 4eb7eae23c
2 changed files with 14 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2010-11-27 Tobias Burnus <burnus@net-b.de>
PR fortran/46638
PR fortran/46668
* gfortran.dg/transfer_simplify_10.f90: Fix endian issue.
2010-11-25 Tobias Burnus <burnus@net-b.de>
PR fortran/46638

View File

@ -17,11 +17,17 @@ program test5
type(CPUID_TYPE) result
result = transfer(achar(10)//achar(0)//achar(0)//achar(0)//'GenuineIntel'//'abcd',result)
if ( int(z'0000000A') /= result%eax &
if(( int(z'0000000A') /= result%eax &
.or. int(z'756E6547') /= result%ebx &
.or. int(z'49656E69') /= result%edx &
.or. int(z'6C65746E') /= result%ecx &
.or. int(z'64636261') /= result%bbb) then
.or. int(z'64636261') /= result%bbb) &
.and. & ! Big endian
( int(z'0A000000') /= result%eax &
.or. int(z'47656E75') /= result%ebx &
.or. int(z'696E6549') /= result%edx &
.or. int(z'6E74656C') /= result%ecx &
.or. int(z'61626364') /= result%bbb)) then
write(*,'(5(z8.8:1x))') result
call abort()
end if