1c { dg-do compile }
2c { dg-additional-options "-std=legacy" }
3      subroutine derv (xx,b,bv,det,r,s,t,ndopt,cosxy,thick,edis,
4     1                  vni,vnt)
5      implicit real*8 (a-h,o-z)
6      save
7c
8      common /shell1/ disd(9),ield,ielp,npt,idw,ndrot
9      common /shell4/xji(3,3),p(3,32),h(32)
10c
11      dimension xx(3,*),ndopt(*),bv(*),vni(*),cosxy(6,*),vnt(*),
12     1          edis(*),thick(*),b(*)
13c
14      kk=0
15      k2=0
16      do 130 k=1,ield
17      k2=k2 + 3
18      if (ndopt(k)) 127,127,130
19  127 kk=kk + 1
20      do 125 i=1,3
21      b(k2+i)=b(k2+i) + (xji(i,1)*p(1,k) + xji(i,2)*p(2,k))*t
22     1         + xji(i,3)*h(k)
23      th=0.5*thick(kk)
24      b(k2+i+3)=b(k2+i+3) - th*cosxy(i+3,kk)
25  125 b(k2+i+6)=b(k2+i+6) + th*cosxy(i,kk)
26      k2=k2 + 9
27  130 continue
28      return
29      end
30