[flang] Reorganize evaluate::Assignment
authorTim Keith <tkeith@nvidia.com>
Tue, 18 Feb 2020 23:20:28 +0000 (15:20 -0800)
committerTim Keith <tkeith@nvidia.com>
Tue, 18 Feb 2020 23:20:28 +0000 (15:20 -0800)
commit88aa96ffe9462bea9677c24fbd966c610918bbd0
tree90f97610a9749291acf58cb30779a7a8771b33e0
parent79c467b1a8d7605a3115ff19beaf30d7698ac1ca
[flang] Reorganize evaluate::Assignment

Every analyzed assignment represented by `evaluate::Assignment` has
a LHS and RHS expression. These need to be checked uniformly in various
places. So change Assignment always to have those data members, with
the variant determining which kinds of assignment it is: intrinsic,
user-defined, or pointer.

Original-commit: flang-compiler/f18@fb87d16a868112e26ade0ad696b2232d8cf3a524
Reviewed-on: https://github.com/flang-compiler/f18/pull/989
Tree-same-pre-rewrite: false
flang/include/flang/evaluate/expression.h
flang/lib/evaluate/expression.cpp
flang/lib/semantics/assignment.cpp
flang/lib/semantics/expression.cpp
flang/lib/semantics/pointer-assignment.cpp
flang/lib/semantics/pointer-assignment.h