aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gfortran.dg/associate_3.f03
blob: 20a375dcfd1c9405d14d5d21d9628b6bf7b1fee7 (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
34
35
36
37
! { dg-do compile }
! { dg-options "-std=f2003" }

! PR fortran/38936
! Check for errors with ASSOCIATE during parsing.

PROGRAM main
  IMPLICIT NONE

  ASSOCIATE ! { dg-error "Expected association list" }

  ASSOCIATE () ! { dg-error "Expected association" }

  ASSOCIATE (a => 1) 5 ! { dg-error "Junk after ASSOCIATE" }

  ASSOCIATE (x =>) ! { dg-error "Expected association" }

  ASSOCIATE (=> 5) ! { dg-error "Expected association" }

  ASSOCIATE (x => 5, ) ! { dg-error "Expected association" }

  myname: ASSOCIATE (a => 1)
  END ASSOCIATE ! { dg-error "Expected block name of 'myname'" }

  ASSOCIATE (b => 2)
  END ASSOCIATE myname ! { dg-error "Syntax error in END ASSOCIATE" }

  myname2: ASSOCIATE (c => 3)
  END ASSOCIATE myname3 ! { dg-error "Expected label 'myname2'" }

  ASSOCIATE (a => 1, b => 2, a => 3) ! { dg-error "Duplicate name 'a'" }

  ASSOCIATE (a => 5)
    INTEGER :: b ! { dg-error "Unexpected data declaration statement" }
  END ASSOCIATE
END PROGRAM main ! { dg-error "Expecting END ASSOCIATE" }
! { dg-excess-errors "Unexpected end of file" }