[flang] Pointer assignment semantic checks
authorTim Keith <tkeith@nvidia.com>
Tue, 14 Jan 2020 00:39:00 +0000 (16:39 -0800)
committerTim Keith <tkeith@nvidia.com>
Tue, 14 Jan 2020 21:02:56 +0000 (13:02 -0800)
commitcb378080580b5039a0b9072d99fc06eb71d08635
tree8d171fc1f4d25b8876290377902361d321cb4e97
parentcfedf1dac9810483e3797b938b1c291f021865da
[flang] Pointer assignment semantic checks

Call `CheckPointerAssignment()` when analyzing a pointer assignment
statement. NOTE: the cases with bounds-spec and bounds-remapping are
still to be done.

Perform checks on pointer symbols in `check-declarations.cc`.

Check for pointer to generic intrinsic in `semantics/expression.cc`.

Add the other required pointer assignment checks to `pointer-assignment.cc`.

Original-commit: flang-compiler/f18@3dc5fd6d9e58d1ef0efd1deefcbaa52499ad93f9
Reviewed-on: https://github.com/flang-compiler/f18/pull/928
12 files changed:
flang/lib/evaluate/characteristics.cc
flang/lib/semantics/assignment.cc
flang/lib/semantics/check-declarations.cc
flang/lib/semantics/expression.cc
flang/lib/semantics/pointer-assignment.cc
flang/test/semantics/CMakeLists.txt
flang/test/semantics/assign02.f90 [new file with mode: 0644]
flang/test/semantics/assign03.f90
flang/test/semantics/call09.f90
flang/test/semantics/procinterface01.f90
flang/test/semantics/resolve46.f90
flang/test/semantics/symbol17.f90