| ! 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 |