[Bug fortran/38618] internal compiler error: in gfc_add_modify

2008-12-24 Thread ajs1 at cam dot ac dot uk
--- Comment #7 from ajs1 at cam dot ac dot uk 2008-12-24 16:46 --- I have downloaded the latest version of gfortran from gcc.gnu.org/wiki/GFortran, and it seems to be working nicely. Previously I had followed the link from hpc.sourceforge.net, which I now see is at least a year out of

[Bug fortran/38618] internal compiler error: in gfc_add_modify

2008-12-24 Thread ajs1 at cam dot ac dot uk
--- Comment #2 from ajs1 at cam dot ac dot uk 2008-12-24 15:20 --- Created an attachment (id=16982) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16982&action=view) Fortran subroutine This is a simplified and cleaned-up version of the file, which still triggers the bug, w

[Bug fortran/38618] New: internal compiler error: in gfc_add_modify

2008-12-24 Thread ajs1 at cam dot ac dot uk
ATMARR(I,J+1) = ATM(J,I)*XTANG 15 CONTINUE ATMARR(I,1) = ATM(4,I) ATMARR(I,5) = RADIUS(NINT(ATMARR(I,1))) 10 CONTINUE C C We find the largest coordinate C CRDMX = 0.0D0 DO 17 IAT = 1, IATOM IF (ABS(ATMARR(IAT,2)) .GT. CRDMX) CRDMX = ABS(ATMARR(IAT,2)) IF (ABS(ATMARR(IAT,3)) .GT. CRDMX) CRDMX = ABS(ATMARR(IAT,3)) IF (ABS(ATMARR(IAT,4)) .GT. CRDMX) CRDMX = ABS(ATMARR(IAT,4)) 17 CONTINUE CRDMX = CRDMX + MAX(0.20D0,MIN(1.0D0, 0.25D0*CRDMX)) C C We proceed to open the output-file C LUVRML = 0 FILENM = 'firstsym.wrl' CALL VRINI(LUVRML,FILENM) C C We create all the atoms C INDX = 1 CALL DRWATM(LUVRML,INDX,IATOM,.FALSE.,ATMARR) C C Then we draw bonds between the atoms if this is requested. C IF (VRBOND) CALL DRWBND(LUVRML,INDX,IATOM,.FALSE.,ATMARR) C C We draw all the rotational axes. The colour is determined by C the order: C 2 - Red C 3 - Green C 4 - Blue C 5 - Orange C 6 - Yellow C 7 - Violet C >7 - Black C IF (NPLN .GT. 0) THEN CALL DZERO(ATMARR,8*MXCENT) DO 20 II = 1, NPLN C C The normalvector is scaled to reflect the size it should have. C DO 25 I = 1, 3 ATMARR(II,I+5) = CRDMX*DMRPLN(I,II) 25 CONTINUE 20 CONTINUE CALL DRWPLN(LUVRML,INDX,NPLN,ATMARR,.TRUE.) END IF IF (NAXS .GT. 0) THEN CRDMX = CRDMX + 0.25D0 DO 30 IORD = NINT(DRTAXS(4,1)),2,-1 CALL DZERO(ATMARR,8*MXCENT) NVEC = 0 DO 32 II = 1, NAXS IF (DRTAXS(4,II) .EQ. IORD) THEN NVEC = NVEC + 1 DO 34 I = 1, 3 VEC(I) = DRTAXS(I,II) 34 CONTINUE TURN = .FALSE. C C All vectors are turned appropriately C IF (VEC(1) .LT. 0.0D0) THEN TURN = .TRUE. ELSE IF (ABS(VEC(1)) .LT. 1.0D-10) THEN IF (VEC(2) .LT. 0.0D0) THEN TURN = .TRUE. ELSE IF (ABS(VEC(2)) .LT. 1.0D-10) THEN IF (VEC(3) .LT. 0.0D0) TURN = .TRUE. END IF END IF IF (TURN) THEN VEC(1) = -VEC(1) VEC(2) = -VEC(2) VEC(3) = -VEC(3) END IF DO 35 I = 1, 3 ATMARR(NVEC,I+1) = -CRDMX*VEC(I) ATMARR(NVEC,I+5) = 2.0D0*CRDMX*VEC(I) 35 CONTINUE END IF 32 CONTINUE CALL DRWVEC(LUVRML,INDX,NVEC,ATMARR,IORD) 30 CONTINUE END IF CALL VREND(LUVRML) RETURN END -- Summary: internal compiler error: in gfc_add_modify Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: blocker Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: ajs1 at cam dot ac dot uk http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38618