summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/allocate_alloc_opt_3.f90
blob: cf8e1d61446be88265f5bdaac1790fd6ead23136 (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
28
29
30
31
32
33
! { dg-do run }
program a

  implicit none

  integer n
  character(len=70) e1
  character(len=30) e2
  integer, allocatable :: i(:)

  e1 = 'No error'
  allocate(i(4), stat=n, errmsg=e1)
  if (trim(e1) /= 'No error') STOP 1
  deallocate(i)

  e2 = 'No error'
  allocate(i(4),stat=n, errmsg=e2)
  if (trim(e2) /= 'No error') STOP 2
  deallocate(i)


  e1 = 'No error'
  allocate(i(4), stat=n, errmsg=e1)
  allocate(i(4), stat=n, errmsg=e1)
  if (trim(e1) /= 'Attempt to allocate an allocated object') STOP 3
  deallocate(i)

  e2 = 'No error'
  allocate(i(4), stat=n, errmsg=e2)
  allocate(i(4), stat=n, errmsg=e2)
  if (trim(e2) /= 'Attempt to allocate an allocat') STOP 4

end program a