https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66633

            Bug ID: 66633
           Summary: ICE on valid "verify_gimple failed" with OpenMP
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: abensonca at gmail dot com
  Target Milestone: ---

The following causes an ICE in gfortran 6.0.0 (r224761):

module spls
  type :: spc
   contains
     procedure :: l => spcL
  end type spc

contains
  function spl()
    class(spc), pointer :: spc_
    !$omp parallel
    write (0,*) igrt(fli)
    !$omp end parallel
  contains
    double precision function fli()
      fli=spc_%l()
    end function fli
  end function spl
  double precision function spcL(s)
    implicit none
    class(spc), intent(inout) :: s
    return
  end function spcL
end module spls


$ gfortran -v
Using built-in specs.
COLLECT_GCC=/opt/gcc-trunk/bin/gfortran
COLLECT_LTO_WRAPPER=/opt/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/6.0.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-trunk/configure --prefix=/opt/gcc-trunk
--enable-languages=c,c++,fortran --disable-multilib
Thread model: posix
gcc version 6.0.0 20150622 (experimental) (GCC) 


 gfortran -c tmp.F90 -o tmp.o -fopenmp
tmp.F90:11:0:

     write (0,*) igrt(fli)
^
Error: invalid argument to gimple call
&<<< error >>>.fli
D.3429 = __builtin_adjust_trampoline (&<<< error >>>.fli);
tmp.F90:11:0: internal compiler error: verify_gimple failed
0xbaf19d verify_gimple_in_seq(gimple_statement_base*)
        ../../gcc-trunk/gcc/tree-cfg.c:4790
0xab14b0 execute_function_todo
        ../../gcc-trunk/gcc/passes.c:1987
0xab1c63 execute_todo
        ../../gcc-trunk/gcc/passes.c:2042
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.

Reply via email to