Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gfortran.dg/module_commons_3.f90 @ 144:8f4e72ab4e11
fix segmentation fault caused by nothing next cur_op to end
author | Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 23 Dec 2018 21:23:56 +0900 |
parents | 84e7813d76e9 |
children |
line wrap: on
line source
! { dg-do run } ! ! PR fortran/38657, in which the mixture of PRIVATE and ! COMMON in TEST4, would mess up the association with ! TESTCHAR in TEST2. ! ! Contributed by Paul Thomas <pault@gcc.gnu.org> ! From a report in clf by Chris Bradley. ! MODULE TEST4 PRIVATE CHARACTER(LEN=80) :: T1 = & "Mary had a little lamb, Its fleece was white as snow;" CHARACTER(LEN=80) :: T2 = & "And everywhere that Mary went, The lamb was sure to go." CHARACTER(LEN=80) :: TESTCHAR COMMON /TESTCOMMON1/ TESTCHAR PUBLIC T1, T2, FOOBAR CONTAINS subroutine FOOBAR (CHECK) CHARACTER(LEN=80) :: CHECK IF (TESTCHAR .NE. CHECK) STOP 1 end subroutine END MODULE TEST4 MODULE TEST3 CHARACTER(LEN=80) :: TESTCHAR COMMON /TESTCOMMON1/ TESTCHAR END MODULE TEST3 MODULE TEST2 use TEST4 USE TEST3, chr => testchar PRIVATE CHARACTER(LEN=80) :: TESTCHAR COMMON /TESTCOMMON1/ TESTCHAR PUBLIC TESTCHAR, FOO, BAR, CHR, T1, T2, FOOBAR contains subroutine FOO TESTCHAR = T1 end subroutine subroutine BAR (CHECK) CHARACTER(LEN=80) :: CHECK IF (TESTCHAR .NE. CHECK) STOP 2 IF (CHR .NE. CHECK) STOP 3 end subroutine END MODULE TEST2 PROGRAM TEST1 USE TEST2 call FOO call BAR (T1) TESTCHAR = T2 call BAR (T2) CALL FOOBAR (T2) END PROGRAM TEST1