https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91556
--- Comment #5 from kargl at gcc dot gnu.org ---
(In reply to kargl from comment #3)
> (In reply to Jürgen Reuter from comment #2)
> > (In reply to kargl from comment #1)
> > > W(In reply to Jürgen Reuter from comment #0)
> > > > Created attachment 46763 [details]
> > > > Reproducer
> > > >
> > > > This is a rather recent regression, failing with r274920, and it had
> > > > been
> > > > still working with r274120. The compile error is:
> > > > gfortran -c muli_remnant.f90
> > > > muli_remnant.f90:2186:34:
> > > >
> > > > 2186 | call evolvePDF (x(0), q, f)
> > > > | 1
> > > > Error: Type mismatch in argument '_formal_0' at (1); passed REAL(8) to
> > > > REAL(16)
> > >
> > > What are the declared types of x, q, and f?
> > > What are the types of the dummy arguments of
> > > evolvepdf()?
> >
> > The code is attached.
>
> The code is broken, and gfortran has told you.
module kinds
integer, parameter :: double = 8 ! 7..15 ! real64 ! c_double
integer, parameter :: quadruple = 16 ! 19..33 ! real128 ! c_float128
integer, parameter :: default = quadruple
end module kinds
module pdf_builtin
subroutine pdfnorm_scan (this)
real(double) :: q, q2min, q2max
real(double), dimension(-6:6) :: f
real(double), dimension(0:2) :: x
call evolvePDF (x(1), q, f)
end subroutine pdfnorm_scan
evolvepdf is called with REAL(8), REAL(8), REAL(8)
subroutine proton_remnant_momentum_kind_pdf (this, GeV_scale, &
momentum_fraction, lha_flavor, valence_pdf, sea_pdf, twin_pdf)
real(default), intent(in) :: GeV_scale, momentum_fraction
integer, intent(in) :: lha_flavor
real(double), dimension(-6:6) :: pdf_array
call evolvePDF (momentum_fraction, GeV_scale, pdf_array)
end subroutine proton_remnant_momentum_kind_pdf
evolvepdf is called with REAL(16), REAl(16), REAL(8)
evolvepdf is not generic.