public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "dick dot hendrickson at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug fortran/35820]  New: internal compiler error with forall
Date: Thu, 03 Apr 2008 18:41:00 -0000	[thread overview]
Message-ID: <bug-35820-15620@http.gcc.gnu.org/bugzilla/> (raw)

The following program causes an internal compiler error.
Each of the three subroutines causes an ICE.  The ICE moves
around or goes away when I try to simplify the test much
more.

! fails on Windows XP
! gcc version 4.4.0 20080312 (experimental) [trunk revision 133139]

Dick Hendrickson

      MODULE TESTS


      IMPLICIT CHARACTER(LEN=9) (B)
      IMPLICIT CHARACTER(LEN=1) (C)
      IMPLICIT CHARACTER(LEN=9) (E)
      IMPLICIT CHARACTER(LEN=1) (F)
      IMPLICIT REAL(KIND=4)            (R)
      IMPLICIT REAL(KIND=8)            (D)
      IMPLICIT INTEGER         (I)
      IMPLICIT INTEGER         (H)
      IMPLICIT LOGICAL         (L)
      IMPLICIT LOGICAL         (G)
      IMPLICIT COMPLEX(KIND=4)         (Z)
      IMPLICIT COMPLEX(KIND=8)         (Y)
      IMPLICIT CHARACTER (A,J,K,M,N,O,P,S,T,U,V,W)
      INTEGER,PARAMETER,PUBLIC  ::  NF_KV = KIND(1)

      INTEGER,PARAMETER,PUBLIC  ::  I1_KV = KIND(1)
      INTEGER,PARAMETER,PUBLIC  ::  I2_KV = I1_KV

      INTEGER,PARAMETER,PUBLIC  ::  R1_KV = KIND(1.0)
      INTEGER,PARAMETER,PUBLIC  ::  R2_KV = KIND(1.0D0)

      INTEGER,PARAMETER,PUBLIC  ::  L1_KV = KIND(.TRUE.)
      INTEGER,PARAMETER,PUBLIC  ::  L2_KV = L1_KV

      INTEGER,PARAMETER,PUBLIC  ::  C1_KV = KIND('A')
      INTEGER,PARAMETER,PUBLIC  ::  C2_KV = C1_KV
      INTEGER, PARAMETER, PUBLIC  ::  NPBIG=1000
      INTEGER, PARAMETER, PUBLIC  ::  NPSIZE = 5
      INTEGER, PARAMETER, PUBLIC  ::  NPBIGM = NPBIG-1
      INTEGER, PUBLIC, PARAMETER  ::
     $       NP0 = 0,
     $       NP1 = 1,
     $       NP2 = 2,
     $       NP3 = 3,
     $       NP4 = 4,
     $       NP5 = 5,
     $       MP1 = -1,
     $       MP2 = -2,
     $       MP3 = -3,
     $       MP4 = -4,
     $       MP5 = -5
      INTEGER, SAVE ::  NF0,NF1,NF2,NF3,NF4,NF5,
     $                             NF6,NF7,NF8,NF9,NF10,
     $                             NFBIGM,NFBIG,
     $                             MF1,MF2,MF3,MF4,MF5,
     $                             MF6,MF7,MF8,MF9,MF10,
     $                             MFBIGM,MFBIG
      CHARACTER, PRIVATE :: I,J,K,L,M,N
      INTEGER, PRIVATE :: J1,J2,J3,J4,J5,J6,J7,JJJ
      INTEGER, PRIVATE :: ISTAT
      INTEGER(NF_KV), PRIVATE, PARAMETER  ::
     $ NP6=6, NP7=7, NP8=8, NP9=9, NP10=10,
     $ MP6=-6, MP7=-7, MP8=-8, MP9=-9, MP10=-10
      CONTAINS
      SUBROUTINE SA0136(RDA,IDA,BDA)
      REAL(R1_KV) RDA(10)
      INTEGER(I1_KV) IDA(10,9)
      CHARACTER(9,C1_KV) BDA(10,9,5)
      INTEGER(I1_KV) ICA(10,9)
      COMMON /IF/ IF(NPBIG*NPSIZE)
      EQUIVALENCE (ICA,IF(1))
      REAL(R1_KV) RCA(10)
      COMMON /RF/ RF(NPBIG*NPSIZE)
      EQUIVALENCE (RCA,RF(1))
      CHARACTER(9,C1_KV) BCA(10,9,5)
      COMMON /BF/ BF(NPBIG*NPSIZE)
      EQUIVALENCE (BCA,BF(1))
!  I N I T I A L I Z A T I O N  S E C T I O N
      RDA = RCA
      IDA = ICA
      BDA = BCA
!  T E S T  S T A T E M E N T S
      FORALL (J1 = 1:10)
        RDA(J1) = RCA(J1) + 1.0_R1_KV
        FORALL (J2 = 1:9)
          FORALL (J3 = 1:5)
            BDA(J1,J2,J3) = "X"//BCA(J1,J2,J3)
          END FORALL
          IDA(J1,J2) = ICA(J1,J2) + 1
        END FORALL
      ENDFORALL
      END SUBROUTINE
      SUBROUTINE SA0137(RDA,YDA,BDA,IDA,NDS10,NDS9)
      INTEGER(NF_KV) :: NDS10
      INTEGER(NF_KV) :: NDS9
      REAL(R1_KV) RDA(NF10)
      COMPLEX(R2_KV) YDA(NDS10,NF9)
      CHARACTER(9,C1_KV) BDA(NF10,NDS9,NF5)
      INTEGER(I1_KV) IDA(NF10)
      COMPLEX(R2_KV) YCA(10,9)
      COMMON /YF/ YF(NPBIG*NPSIZE)
      EQUIVALENCE (YCA,YF(1))
      REAL(R1_KV) RCA(10)
      COMMON /RF/ RF(NPBIG*NPSIZE)
      EQUIVALENCE (RCA,RF(1))
      INTEGER(I1_KV) ICA(10)
      COMMON /IF/ IF(NPBIG*NPSIZE)
      EQUIVALENCE (ICA,IF(1))
      CHARACTER(9,C1_KV) BCA(10,9,5)
      COMMON /BF/ BF(NPBIG*NPSIZE)
      EQUIVALENCE (BCA,BF(1))
!  I N I T I A L I Z A T I O N  S E C T I O N
      RDA(1:10) = RCA
      YDA(1:10,1:9) = YCA
      BDA(1:10,1:9,1:5) = BCA
      IDA(1:10) = ICA
!  T E S T  S T A T E M E N T S
      FORALL (J1 = NF1:NF10)
        RDA(J1) = RCA(J1) + 1.0_R1_KV
        FORALL (J2 = NF1:NF9)
          FORALL (J3 = NF1:NF5)
            BDA(J1,J2,J3) = "X"//BCA(J1,J2,J3)
          END FORALL
          YDA(J1,J2) = YCA(J1,J2) + 1
        END FORALL
        IDA(J1) = ICA(J1) + 1
      ENDFORALL
      END SUBROUTINE
      SUBROUTINE SA0138(RDA,YDA,BDA,IDA,NDS10,NDS9)
      INTEGER(NF_KV) :: NDS10
      INTEGER(NF_KV) :: NDS9
      REAL(R1_KV) RDA(NF10)
      COMPLEX(R2_KV) YDA(NDS10,NF9)
      CHARACTER(9,C1_KV) BDA(NF10,NDS9,NF5)
      INTEGER(I1_KV) IDA(NF10)
      COMPLEX(R2_KV) YCA(10,9)
      COMMON /YF/ YF(NPBIG*NPSIZE)
      EQUIVALENCE (YCA,YF(1))
      REAL(R1_KV) RCA(10)
      COMMON /RF/ RF(NPBIG*NPSIZE)
      EQUIVALENCE (RCA,RF(1))
      CHARACTER(9,C1_KV) BCA(10,9,5)
      COMMON /BF/ BF(NPBIG*NPSIZE)
      EQUIVALENCE (BCA,BF(1))
      INTEGER(I1_KV) ICA(10)
      COMMON /IF/ IF(NPBIG*NPSIZE)
      EQUIVALENCE (ICA,IF(1))
!  I N I T I A L I Z A T I O N  S E C T I O N
      RDA(1:10) = RCA
      YDA(1:10,1:9) = YCA
      BDA(1:10,1:9,1:5) = BCA
      IDA(1:10) = ICA
      J1 = 6
      J2 = 7
      J3 = 8
!  T E S T  S T A T E M E N T S
      FORALL (J1 = NF1:NF10)
        RDA(J1) = RDA(J1) + 1.0_R1_KV
        IDA(J1) = IDA(J1) + 1
        FORALL (J2 = NF1:NF9)
          FORALL (J3 = NF1:NF5) BDA(J1,J2,J3) = "X"//BDA(J1,J2,J3)
          YDA(J1,J2) = YDA(J1,J2) + 1
        END FORALL
        IDA(J1) = IDA(J1) + 1
      ENDFORALL
      END SUBROUTINE
      END MODULE TESTS


gfortran%gfortran sa0136.f
f951.exe: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.


-- 
           Summary: internal compiler error with forall
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: dick dot hendrickson at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35820


             reply	other threads:[~2008-04-03 18:41 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-03 18:41 dick dot hendrickson at gmail dot com [this message]
2008-04-03 20:31 ` [Bug fortran/35820] " dominiq at lps dot ens dot fr
2008-04-03 22:13 ` dick dot hendrickson at gmail dot com
2008-04-03 22:27 ` burnus at gcc dot gnu dot org
2008-04-04  9:41 ` [Bug fortran/35820] internal compiler error with nested FORALL burnus at gcc dot gnu dot org
2008-05-01 17:41 ` pault at gcc dot gnu dot org
2008-05-01 19:48 ` pault at gcc dot gnu dot org
2008-10-22 15:32 ` pault at gcc dot gnu dot org
2008-10-22 16:28 ` burnus at gcc dot gnu dot org
2008-10-28 14:07 ` mikael dot morin at tele2 dot fr
2008-10-31 15:40 ` mikael at gcc dot gnu dot org
2008-11-06  6:20 ` pault at gcc dot gnu dot org
2008-11-08  8:41 ` pault at gcc dot gnu dot org
2008-11-08  8:41 ` pault at gcc dot gnu dot org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-35820-15620@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).