This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
egcs-19990502 g77 ICE on Irix6.5 & hpux10.20 & i686-cygwin
- To: egcs-bugs at egcs dot cygnus dot com (IPM Return requested) (Receipt notification requested)
- Subject: egcs-19990502 g77 ICE on Irix6.5 & hpux10.20 & i686-cygwin
- From: Tim C Prince <Prince_Tim_C at solarturbines dot com>
- Date: 07 May 1999 11:08:00 Z
- Alternate-Recipient: Allowed
- Conversion: Allowed
- Disclose-Recipients: Prohibited
- Expiry-Date: 06 Jun 1999 00:00:00 Z
- Original-Encoded-Information-Types: IA5-Text, (2)(6)(1)(12)(0), (2)(16)(840)(1)(113694)(2)(2)(1)(1)
- X400-Content-Type: P2-1988 ( 22 )
- X400-MTS-Identifier: [/c=US/admd= /prmd=Cat/; 37332C57.6E8C.0A09.000]
- X400-Originator: Prince_Tim_C@solarturbines.com
- X400-Recipients: non-disclosure;
The attached source code produces ICE in expand_expr when
compiled with g77 -c . The similar problem occurs at 3 other
equally or more messy locations in this application. The
application runs correctly when the .o files which are not built by
egcs-19980502 are built with egcs-1.1.2.
Dr. Timothy C. Prince
Consulting Engineer
Solar Turbines, a Caterpillar Company
alternate e-mail: tprince@computer.org
subroutine ud0301(xdata ,ydata ,ndata ,xin,yout,slope,nxy,ntype,nw
&ot)
implicitreal *4(a-h,o-z)
real *4xdata (ndata ),ydata (ndata ),xin(nxy),yout(nxy),slope(nxy)
&,b(21),d(21),m(21)
if(ntype.ne.1.and.ndata .ge.3)then
d(1)= 0.0
b(1)= 0.0
n= ndata -1
do i= 2,n
ai= 1/((xdata (i+1)-xdata (i-1))*2-(xdata (i)-xdata (i-1))
&*b(i-1))
b(i)= (xdata (i+1)-xdata (i))*ai
d(i)= (6*((ydata (i+1)-ydata (i))/(xdata (i+1)-xdata (i))-
&(ydata (i)-ydata (i-1))/(xdata (i)-xdata (i-1)))-(xdata (i)-xdata
&(i-1))*d(i-1))*ai
23002 enddo
old= 0
m(ndata )= old
do i= ndata -1,1,-1
old= d(i)-b(i)*old
m(i)= old
23004 enddo
do i= 1,nxy
if(xin(i).lt.xdata (1).or.xin(i).gt.xdata (ndata ))then
if(xin(i).lt.xdata (1))then
jp= 1
kp= 2
else
jp= ndata
kp= ndata -1
endif
yprime= (ydata (kp)-ydata (jp))/(xdata (kp)-xdata (jp))-
&m(kp)/6.0*(xdata (kp)-xdata (jp))
if(nwot.ne.1)then
yout(i)= ydata (jp)+(xin(i)-xdata (jp))*yprime
endif
if(nwot.ne.0)then
slope(i)= yprime
endif
else
j= 2
continue
dowhile(xin(i).gt.xdata (j))
j= j+1
enddo
dx= xdata (j)-xdata (j-1)
if(nwot.ne.1)then
yout(i)= (m(j-1)/6*((xdata (j)-xin(i))**2/dx-dx)+yda
&ta (j-1)/dx)*(xdata (j)-xin(i))+(m(j)/6.0*((xin(i)-xdata (j-1))**2
&/dx-dx)+ydata (j)/dx)*(xin(i)-xdata (j-1))
endif
if(nwot.ne.0)then
slope(i)= ((-m(j-1)*(xdata (j)-xin(i))**2+m(j)*(xin(
&i)-xdata (j-1))**2)*.5+ydata (j)-ydata (j-1))/dx-dx/6.*(m(j)-m(j-1
&))
endif
endif
23006 enddo
else
if(ndata .eq.1)then
do i= 1,nxy
yout(i)= ydata (1)
23024 enddo
else
if(nwot.ne.1)then
j= 2
do i= 1,nxy
do j= j,ndata -1
if(xin(i).le.xdata (j))then
goto 23031
C break
endif
23030 enddo
23031 continue
yout(i)= ydata (j-1)+(ydata (j)-ydata (j-1))/(xd
&ata (j)-xdata (j-1))*(xin(i)-xdata (j-1))
23028 enddo
if(nwot.ne.2)then
return
endif
endif
yprime= (ydata (2)-ydata (1))/(xdata (2)-xdata (1))
do i= 1,nxy
slope(i)= yprime
23036 enddo
endif
endif
return
end