summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/assumed_charlen_in_main.f90
blob: f4bb701548d6b316709e848d8a61c4aa6848d5c3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
! { dg-do compile }
! Tests the fix for PR28771 in which an assumed character length variable with an initializer could
! survive in the main program without causing an error.
!
! Contributed by Martin Reinecke  <martin@mpa-garching.mpg.de>
! Modified to test fix of regression reported by P.Schaffnit@access.rwth-aachen.de

subroutine poobar ()
  ! The regression caused an ICE here
  CHARACTER ( LEN = * ), PARAMETER ::   Markers(5) = (/ "Error ", &
      &                                                 "Fehler", &
      &                                                 "Erreur", &
      &                                                 "Stop  ", &
      &                                                 "Arret "  /)
  character(6) :: recepteur (5)
  recepteur = Markers
end subroutine poobar

! If the regression persisted, the compilation would stop before getting here
program test
  character(len=*), parameter :: foo = 'test'     ! Parameters must work.
  character(len=4) :: bar = foo
  character(len=*) :: foobar = 'This should fail' ! {  dg-error "must be a dummy" }
  print *, bar
  call poobar ()
end