--- Begin Message ---
Package: gfortran-4.6
Version: 4.6.1-10
Severity: important
fbasics_2110.79-1 fails to build from source on armhf due to a gfortran ICE:
http://buildd.debian-ports.org/status/fetch.php?pkg=fbasics&arch=armhf&ver=2110.79-1&stamp=1316196251
...
gfortran -fpic -O3 -pipe -g -c gss.f -o gss.o
gss.f:911.72:
call dcore (vmu, qwk, nobs, nobs, n0, tol, ywk, 0, limnla, nlawk,
1
Warning: Rank mismatch in argument 'score' at (1) (rank-1 and scalar)
gss.f:964.13:
&nlawk, scrwk, varht, info, twk, work1)
1
Warning: Rank mismatch in argument 'score' at (1) (rank-1 and scalar)
gss.f:1098.13:
&nlaht, score, varht, info, twk, work1)
1
Warning: Rank mismatch in argument 'score' at (1) (rank-1 and scalar)
gss.f:817.72:
*init, prec, maxite, theta, nlaht, score, varht, c, d, wk(iqraux),
1
Warning: Type mismatch in argument 'jpvt' at (1); passed REAL(8) to INTEGER(4)
gss.f:1126.15:
* wk(iv), wk(ijpvt), wk(icdnew), wk(iwtnew), wk(ifitnew), wk(iwk),
1
Warning: Type mismatch in argument 'jpvt' at (1); passed REAL(8) to INTEGER(4)
gss.f:2763.46:
*, wk(imu), wk(imuwk), wk(iv), wk(ivwk), wk(ijpvt), wk(icdnew), wk(
1
Warning: Type mismatch in argument 'jpvt' at (1); passed REAL(8) to INTEGER(4)
gss.f: In function 'deval':
gss.f:605:0: internal compiler error: in arm_select_dominance_cc_mode,
at config/arm/arm.c:10625
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.6/README.Bugs> for instructions.
I used the delta package to produce a minimal testcase for the ICE
which I attach.
You can reproduce the ICE with:
gfortran -O -fpermissive -Wfatal-errors -w fbasics_gss-min.f
Thanks
Konstantinos
subroutine dcoef (s, lds, nobs, nnull, qraux, jpvt, z, q, ldq,
*nlaht, c, d, info, twk)
end
subroutine dcrdr (s, lds, nobs, nnull, qraux, jpvt, q, ldq, nlaht,
& r, ldr, nr, cr, ldcr, dr, lddr, wk, info)
double precision s(lds,*), qraux(*), q(ldq,*), nlaht, r(ldr,*),
&cr(ldcr,*), dr(lddr,*), wk(2,*)
call dqrsl (s, lds, nobs, nnull, qraux, cr(1,j), cr(1,j), dum,
&dum, dum, dum, 10000, info)
end
subroutine ddeev (vmu, nobs, q, ldqr, ldqc, n, nq, u, ldu, uaux,
*t, x, theta, nlaht, score, varht, hes, ldh, gra, hwk1, hwk2, gwk1,
* gwk2, kwk, ldk, work1, work2, work3, info)
double precision q(ldqr,ldqc,*), u(ldu,*), uaux(*), t(2,*), x(*),
*theta(*), nlaht, score, varht, hes(ldh,*), gra(*), hwk1(nq,*),
*work3(*)
call dqrslm (u, ldu, n-1, n-2, uaux, kwk(2,2,i), n, 0, info,
*work1)
hes(i,j) = hwk1(i,j) / trc / trc - 2.d0 * gwk1(i) * gwk2(j) / trc
*** 3 - 2.d0 * gwk1(j) * gwk2(i) / trc ** 3 - 2.d0 * score * hwk2(
*i,j) / trc / dfloat (nobs) + 6.d0 * score * gwk2(i) * gwk2(j) /
*- gwk1(j) * gwk2(i) / det / dfloat (n) - dfloat (nobs) / dfloat (
*n) * score * hwk2(i,j) + dfloat (nobs) / dfloat (n) ** 2 * score *
* gwk2(i) * gwk2(j)
end
subroutine deval (vmu, q, ldq, n, z, nint, low, upp, nlaht, score,
* varht, info, twk, work)
double precision q(ldq,*), z(*), low, upp, nlaht, score(*), varht,
* twk(2,*), work(*)
23006 if(.not.(j.le.nint+1))goto 23008
if(.not.( score(j) .le. minscr .or. j .eq. 1 ))goto 23011
minscr = score(j)
23011 continue
j=j+1
goto 23006
23008 continue
call dmudr1 (vmu, s, lds, nobs, nnull, q, ldqr, ldqc, nq, y, tol,
*wk(ipvtwk), wk(ikwk), wk(iwork1), wk(iwork2), info)
end
subroutine dmudr0 (vmu, s, lds, nobs, nnull, q, ldqr, ldqc, nq, y,
*fo)
if( vmu .eq. 1 )then
endif
call dmudr (vmu1, s, lds, nobs, nnull, q, ldqr, ldqc, nq, y, tol,
*init, prec, maxite, theta, nlaht, score, varht, c, d, wk, info)
end
subroutine dmudr1 (vmu, s, lds, nobs, nnull, q, ldqr, ldqc, nq, y,
& tol, init, prec, maxite, theta, nlaht, score, varht, c, d, qraux,
& jpvt, twk, traux, qwk, ywk, thewk, hes, gra, hwk1, hwk2, gwk1,
&gwk2, pvtwk, kwk, work1, work2, info)
double precision s(lds,*), q(ldqr,ldqc,*), y(*), tol, prec, theta(
&*), nlaht, score, varht, c(*), d(*), qraux(*), traux(*), twk(2,*),
&hwk2(nq,*), gwk1(*), gwk2(*), kwk(nobs-nnull,nobs-nnull,*), work1(
&*), work2(*)
call dcore (vmu, qwk, nobs, nobs, n0, tol, ywk, 0, limnla, nlawk,
&scrwk, varht, info, twk, work1)
call ddeev (vmu, nobs, q(n0+1,n0+1,1), ldqr, ldqc, n, nq, qwk(n0+
&2,n0+1), nobs, traux, twk, ywk(n0+1), thewk, nlawk, scrwk, varht,
&info)
call dcore (vmu, qwk, nobs, nobs, n0, tol, ywk, job, limnla,
&nlaht, score, varht, info, twk, work1)
end
subroutine dnewton1 (cd, nxis, q, nxi, rs, nobs, cntsum, cnt, qdrs
*, nqd, qdwt, prec, maxiter, mchpr, mrs, wt, fit, mu, v, jpvt, cdne
*w, wtnew, fitnew, wk, info)
double precision cd(*), q(nxi,*), rs(nxis,*), qdrs(nqd,*), qdwt(*)
*, prec, mchpr, mrs(*), wt(*), fit(*), mu(*), v(nxis,*), cdnew(*),
*wtnew(*), fitnew(*), wk(*)
if(cntsum.eq.0)then
endif
23041 if(v(rkv,rkv).lt.v(1,1)*dsqrt(mchpr))then
endif
if(disc0.lt.prec)then
endif
if(cntsum.eq.0)then
endif
if (job .ne. 0 ) then
40 if (j .ne. i) then
endif
endif
end
subroutine drkl (cd, nxis, qdrs, nqd, qdwt, wt0, mchpr, wt, eta, m
*u, v, jpvt, wk, cdnew, wtnew, prec, maxiter, info)
double precision cd(*), qdrs(nqd,*), qdwt(*), wt0(*), mchpr, wt(*)
*, eta(*), mu(*), v(nxis,*), wk(*), cdnew(*), wtnew(*), prec
if(eta(i).gt.3.d2)then
endif
if(flag.eq.1)then
endif
if(dabs(mu(idamax(nxis, mu, 1))/mumax).lt.1.d1*mchpr)then
endif
if(flag.eq.1)then
endif
if(flag.eq.0)then
endif
end
subroutine hrkl (cd, nxis, qdrs, nqd, nx, qdwt, wt0, mchpr, wt, mu
*, mu0, v, jpvt, wk, cdnew, wtnew, prec, maxiter, info)
if(tmp.gt.3.d2)then
endif
if(flag.eq.1)then
endif
end
subroutine hzdaux1 (cd, nxis, q, nxi, qdrs, nqd, qdwt, nx, mchpr,
*wt, v, vwk, jpvt)
double precision cd(*), q(nxi,*), qdrs(nqd,nxis,*), qdwt(nqd,*), m
*chpr, wt(nqd,*), v(nxis,*), vwk(nxis,*)
23027 if(v(rkv,rkv).lt.v(1,1)*dsqrt(mchpr))then
endif
call hzdnewton1 (cd, nxis, q, nxi, rs, nt, nobs, cntsum, cnt, qdrs
*, wk(imu), wk(imuwk), wk(iv), wk(ivwk), wk(ijpvt), wk(icdnew), wk(
*iwtnew), wk(ifitnew), wk(iwk), info)
end
subroutine hzdnewton1 (cd, nxis, q, nxi, rs, nt, nobs, cntsum, cnt
*, qdrs, nqd, qdwt, nx, prec, maxiter, mchpr, mrs, wt, fit, mu, muw
*k, v, vwk, jpvt, cdnew, wtnew, fitnew, wk, info)
double precision cd(*), q(nxi,*), rs(nxis,*), qdrs(nqd,nxis,*), qd
*wt(nqd,*), prec, mchpr, mrs(*), wt(nqd,*), fit(*), mu(*), muwk(*),
* v(nxis,*), vwk(nxis,*), cdnew(*), wtnew(nqd,*), fitnew(*), wk(*)
double precision tmp, ddot, fitmean, dasum, lkhd, mumax, lkhdnew,
*disc, disc0, trc
if(cntsum.eq.0)then
endif
wt(i,kk) = qdwt(i,kk) * dexp (ddot (nxis, qdrs(i,1,kk), nqd, cd, 1
*))
if(cntsum.ne.0)then
endif
end
subroutine reg (sr, nobs, nnull, q, nxi, y, method, alpha, varht,
*score, dc, mchpr, v, mu, jpvt, wk, rkv, info)
double precision sr(nobs,*), q(nxi,*), y(*), alpha, varht, score,
*dc(*), mchpr, v(nnull+nxi,*), mu(*), wk(*)
if(method.eq.5)then
if(nnull.gt.0)then
endif
if(method.eq.2)then
endif
endif
end
--- End Message ---