| ! RUN: not %flang_fc1 %s 2>&1 | FileCheck %s --check-prefix=CHECK1 |
| ! RUN: not %flang_fc1 -Wfatal-errors %s 2>&1 | FileCheck %s --check-prefix=CHECK2 |
| |
| module m |
| contains |
| subroutine s0(p) |
| real, pointer, intent(in) :: p |
| end |
| subroutine s1(p) |
| real, pointer, intent(in) :: p(:) |
| end |
| subroutine sa(p) |
| real, pointer, intent(in) :: p(..) |
| end |
| subroutine sao(p) |
| real, intent(in), optional, pointer :: p(..) |
| end |
| subroutine soa(a) |
| real, intent(in), optional, allocatable :: a(..) |
| end |
| subroutine test |
| real, pointer :: a0, a1(:) |
| !CHECK1: fatal-errors-semantics.f90:{{.*}} error: |
| !CHECK2: fatal-errors-semantics.f90:{{.*}} error: |
| call s0(null(a1)) |
| !CHECK1: fatal-errors-semantics.f90:{{.*}} error: |
| !CHECK2-NOT: error: |
| call s1(null(a0)) |
| !CHECK1: fatal-errors-semantics.f90:{{.*}} error: |
| !CHECK2-NOT: error: |
| call sa(null()) |
| !CHECK1: fatal-errors-semantics.f90:{{.*}} error: |
| !CHECK2-NOT: error: |
| call sao(null()) |
| !CHECK1: fatal-errors-semantics.f90:{{.*}} error: |
| !CHECK2-NOT: error: |
| call soa(null()) |
| end |
| end |
| |