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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
           Priority|P3                          |P4
   Last reconfirmed|                            |2021-03-10
            Version|unknown                     |11.0
     Ever confirmed|0                           |1
                 CC|                            |marxin at gcc dot gnu.org

--- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> ---
Reduced test-case:

module numeric_kinds
  integer, parameter :: single = kind(1.0)
  integer, parameter :: double = selected_real_kind(2*precision(1.0_single))
end module  numeric_kinds
module indices
contains
  function find_idx(x, xx) result(idx)
  end function find_idx
  function nearest_idx(x, xx) result(idx)
      if (x < xx0) then
         if (xx0 - x < 0/2) then
         end if
      end if
      do
         if (dl >= 0 .and. last_dl <= 0) then
         end if
      end do
   end function nearest_idx
  function close_enough_idx(x, xx, eps, verbose) result(res)
    logical, intent(in), optional:: verbose
    if (abs0 <= eps) then
      if (present(verbose)) then
        if (verbose .eqv. .true.) then
        end if
      end if
    end if
  end function close_enough_idx
end module indices
program fix_track_partials
  use numeric_kinds, only: double
  character(*), parameter:: &
      youf = "track-partial-nws200-y-grid.dat"
  integer, parameter:: &
      lonw100 = 10000, lats100 = -4000, dlon100 = 10, dlat100 = 10
  integer, parameter:: imax = 50, jmax = 350
  integer, dimension(*), parameter:: &
      latt100 = [((lats100 + dlat100 * j - dlat100/2), j=1,jmax)]
  real(double), dimension(*), parameter:: &
      latt = [(latt100(i)/100.d0, j=1,jmax)]
  real(double), dimension(:), allocatable:: xs, ys, xs_fixed, ys_fixed
  call move_to_nearest(ys_fixed, pnts=ys, axis=latt)
contains
  subroutine read_track(xs, ys, file)
  end subroutine read_track
  subroutine save_track(xs, ys, file)
  end subroutine save_track
  subroutine move_to_nearest(res, pnts, axis)
    real(double), intent(out):: res(:)
    real(double), intent(in) :: pnts(:), axis(:)
  end subroutine move_to_nearest
  subroutine extend_arr_double(arr, idx, mes)
  end subroutine extend_arr_double
  subroutine shrink_arr_double(arr, idx, mes)
  end subroutine shrink_arr_double
end program fix_track_partials


It's very old, at least as old as GCC 4.8.0.

Reply via email to