| ! RUN: not %flang_fc1 -fsyntax-only %s 2>&1 | FileCheck %s |
| program p |
| contains |
| ! CHECK: error: expected 'END' |
| ! CHECK: in the context: END PROGRAM statement |
| continue |
| end |
| |
| subroutine s |
| contains |
| ! CHECK: error: expected 'END' |
| ! CHECK: in the context: SUBROUTINE subprogram |
| continue |
| end |
| |
| function f() |
| contains |
| ! CHECK: error: expected 'END' |
| ! CHECK: in the context: FUNCTION subprogram |
| continue |
| end |
| |
| module m |
| interface |
| module subroutine ms |
| end |
| end interface |
| contains |
| ! CHECK: error: expected 'END' |
| ! CHECK: in the context: END MODULE statement |
| continue |
| end |
| |
| module m2 |
| contains |
| subroutine m2s |
| contains |
| ! CHECK: error: expected 'END' |
| ! CHECK: in the context: SUBROUTINE subprogram |
| continue |
| end |
| end |
| |
| submodule(m) s1 |
| contains |
| ! CHECK: error: expected 'END' |
| ! CHECK: in the context: END SUBMODULE statement |
| continue |
| end |
| |
| submodule(m) s2 |
| contains |
| module procedure ms |
| contains |
| ! CHECK: error: expected 'END' |
| ! CHECK: in the context: END PROCEDURE statement |
| continue |
| end |
| end |
| |
| ! Ensure no error cascade |
| ! CHECK-NOT: error: |