OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gfortran.dg/] [block_name_2.f90] - Blame information for rev 694

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 694 jeremybenn
! { dg-do compile }
2
! Test that various illegal combinations of block statements with
3
! block names yield the correct error messages.  Motivated by PR31471.
4
program blocks
5
  dimension a(5,2)
6
 
7
  a = 0
8
 
9
  ! The END statement of a labelled block needs to carry the construct
10
  ! name.
11
  d1: do i=1,10
12
  end do      ! { dg-error "Expected block name of .... in END DO statement" }
13
  end do d1
14
 
15
  i1: if (i > 0) then
16
  end if      ! { dg-error "Expected block name of .... in END IF statement" }
17
  end if i1
18
 
19
  s1: select case (i)
20
  end select ! { dg-error "Expected block name of .... in END SELECT statement" }
21
  end select s1
22
 
23
  w1: where (a > 0)
24
  end where ! { dg-error "Expected block name of .... in END WHERE statement" }
25
  end where w1
26
 
27
  f1: forall (i = 1:10)
28
  end forall ! { dg-error "Expected block name of .... in END FORALL statement" }
29
  end forall f1
30
 
31
  ! A construct name may not appear in the END statement, if it
32
  ! doesn't appear in the statement beginning the block.
33
  ! Likewise it may not appear in ELSE IF, ELSE, ELSEWHERE or CASE
34
  ! statements.
35
  do i=1,10
36
  end do d2 ! { dg-error "Syntax error in END DO statement" }
37
  end do
38
 
39
  if (i > 0) then
40
  else if (i ==0) then i2 ! { dg-error "Unexpected junk after ELSE IF statement" }
41
  else i2 ! { dg-error "Unexpected junk after ELSE statement" }
42
  end if i2 ! { dg-error "Syntax error in END IF statement" }
43
  end if
44
 
45
  select case (i)
46
  case (1) s2  ! { dg-error "Syntax error in CASE specification" }
47
  case default s2 ! { dg-error "Syntax error in CASE specification" }
48
  end select s2 ! { dg-error "Syntax error in END SELECT statement" }
49
  end select
50
 
51
  where (a > 0)
52
  elsewhere w2  ! { dg-error "Unexpected junk after ELSE statement" }
53
  end where w2 ! { dg-error "Syntax error in END WHERE statement" }
54
  end where
55
 
56
  forall (i=1:10)
57
  end forall f2 ! { dg-error "Syntax error in END FORALL statement" }
58
  end forall
59
 
60
end program blocks

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.