This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch, Fortran] PR fortran/38883: Fix MVBITS for subcomponent-references


Daniel,

BTW - I do not mind which version of the fix that you use but please
commit it as soon as possible.  We must be coming to the end of stage
3.......

Cheers

Paul

On Mon, Jan 26, 2009 at 11:22 PM, Paul Richard Thomas
<paul.richard.thomas@gmail.com> wrote:
> Daniel,
>
> Your patch is fine - OK for trunk.
>
> You might consider the variant that I have attached, which regtests
> and bootstraps OK, and the alternative testcase below.
>
> Whichever you choose to implement, note the removal of the now
> redundant 'block' and the change to the comment.
>
> I do not believe that your two testcases test anything different from
> one another.  Mine has the advantage that the code is checked for
> correctness; especially since another component is introduced.
>
> Cheers and thanks for the patch
>
> Paul
>
> ! { dg-do run }
> ! PR fortran/38883
> ! This ICE'd because the temporary-creation in the MVBITS call was wrong.
> !
> ! Contributed by Dick Hendrickson <dick.hendrickson@gmail.com>
> !
>  type t
>    integer  ::  I
>    character(9)  :: chr
>  end type
>  type(t) :: x(4,3)
>  type(t) :: y(4,3)
>  x = reshape ([((t (i*j, "a"),i = 1,4), j=1,3)], [4,3])
>  call foo (x)
>  y = reshape ([((t (i*j*2, "a"),i = 1,4), j=1,3)], [4,3])
>  call bar(y, 4, 3, 1, -1, -4, -3)
>  if (any (x%i .ne. y%i)) call abort
> contains
>  SUBROUTINE foo (x)
>    TYPE(t) x(4, 3)      ! No dependency at all
>    CALL MVBITS (x%i, 0, 6, x%i, 8)
>    x%i = x%i * 2
>  END SUBROUTINE
>  SUBROUTINE bar (x, NF4, NF3, NF1, MF1, MF4, MF3)
>    TYPE(t) x(NF4, NF3)  ! Dependency through variable indices
>    CALL MVBITS (x(NF4:NF1:MF1, NF1:NF3)%i, 1, &
>                 6, x(-MF4:-MF1:-NF1, -MF1:-MF3)%i, 9)
>  END SUBROUTINE
> end
>



-- 
The knack of flying is learning how to throw yourself at the ground and miss.
       --Hitchhikers Guide to the Galaxy


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]