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



             Bug #: 55984

           Summary: ICE: gfc_trans_code(): Bad statement code

    Classification: Unclassified

           Product: gcc

           Version: 4.8.0

            Status: UNCONFIRMED

          Severity: normal

          Priority: P3

         Component: fortran

        AssignedTo: unassig...@gcc.gnu.org

        ReportedBy: sla...@staszic.waw.pl





First, sorry for not reducing the test case further more.



Second, here's a recipe to reproduce the ICE:



$ cat bug1.f 

module bcd_m

  type, abstract :: bcd_t

    contains

    procedure(bcd_fill_halos), deferred :: fill_halos

  end type

  abstract interface 

    subroutine bcd_fill_halos(this)

      import :: bcd_t

      class(bcd_t ) :: this

    end subroutine

  end interface

end module



module solver_m

  use bcd_m

  type, abstract :: solver_t

    integer :: n, hlo

    class(bcd_t), pointer :: bcx, bcy

    contains

    procedure(solver_advop), deferred :: advop

  end type 

  abstract interface

    subroutine solver_advop(this)

      import solver_t

      class(solver_t) :: this

    end subroutine

  end interface

  contains

end module



module solver_mpdata_m

  use solver_m

  type :: mpdata_t

    class(bcd_t), pointer :: bcx, bcy

    contains

    procedure :: advop => mpdata_advop

  end type

  contains

  subroutine mpdata_advop(this)

    class(mpdata_t) :: this

    associate ( bcx => this%bcx, bcy => this%bcy )

      call bcx%fill_halos()

    end associate

  end subroutine

end module





$ /usr/lib/gcc-snapshot/bin/gfortran -ffree-form -std=f2008 bug1.f

bug1.f: In function 'mpdata_advop':

bug1.f:42:0: internal compiler error: gfc_trans_code(): Bad statement code

       call bcx%fill_halos()

 ^

Please submit a full bug report,

with preprocessed source if appropriate.

See <file:///usr/share/doc/gcc-snapshot/README.Bugs> for instructions.





$ /usr/lib/gcc-snapshot/bin/gfortran --version

GNU Fortran (Debian 20130113-1) 4.8.0 20130113 (experimental) [trunk revision

195136]

...





HTH,

Sylwester

Reply via email to