summaryrefslogtreecommitdiff
path: root/flang/test/Semantics/expr-errors04.f90
diff options
context:
space:
mode:
authorPeter Klausler <pklausler@nvidia.com>2022-10-04 12:41:48 -0700
committerPeter Klausler <pklausler@nvidia.com>2022-10-06 13:50:36 -0700
commitddb35533e63a5cecd98e82247d1c0124beb37c6e (patch)
treedbea7ca563791064f4170ad1b7cd08e39ccd9504 /flang/test/Semantics/expr-errors04.f90
parentaa065c016bd91412275054c450e09b0205a3eeee (diff)
[flang] Add missing source location to a semantic error message
Ensure that the semantic error "An allocatable or pointer component reference must be applied to a scalar base" is emitted with a source code location. Differential Revision: https://reviews.llvm.org/D135215
Diffstat (limited to 'flang/test/Semantics/expr-errors04.f90')
-rw-r--r--flang/test/Semantics/expr-errors04.f9015
1 files changed, 15 insertions, 0 deletions
diff --git a/flang/test/Semantics/expr-errors04.f90 b/flang/test/Semantics/expr-errors04.f90
index e627d3197923..b8e0f221215b 100644
--- a/flang/test/Semantics/expr-errors04.f90
+++ b/flang/test/Semantics/expr-errors04.f90
@@ -14,6 +14,8 @@ program m
complex :: c, c2(2)
integer :: x, x2(2)
character(10) :: s, s2(2)
+ real, pointer :: p
+ real, allocatable :: a
contains
procedure, nopass :: info1 => real_info1
procedure, nopass :: info2 => real_info2
@@ -108,4 +110,17 @@ program m
!ERROR: Reference to rank-2 object 't1' has 1 subscripts
call t%t3%t2%t1(1:)%g1
+ !ERROR: An allocatable or pointer component reference must be applied to a scalar base
+ print *, t(1)%t3(1)%t2(1)%t1%p
+ !ERROR: An allocatable or pointer component reference must be applied to a scalar base
+ print *, t%t3(1)%t2(1)%t1(1,1)%p
+ !ERROR: An allocatable or pointer component reference must be applied to a scalar base
+ print *, t(1)%t3(1)%t2(1)%t1%a
+ !ERROR: An allocatable or pointer component reference must be applied to a scalar base
+ print *, t%t3(1)%t2(1)%t1(1,1)%a
+ !ERROR: An allocatable or pointer component reference must be applied to a scalar base
+ t(1)%t3(1)%t2(1)%t1%p => null()
+ !ERROR: An allocatable or pointer component reference must be applied to a scalar base
+ t%t3(1)%t2(1)%t1(1,1)%p => null()
+
end