[flang] Check semantic contraints for the nullify statement. The full
authorSteve Scalpone <sscalpone@nvidia.com>
Sun, 7 Apr 2019 18:29:48 +0000 (11:29 -0700)
committerSteve Scalpone <sscalpone@nvidia.com>
Sun, 7 Apr 2019 18:29:48 +0000 (11:29 -0700)
commit37a53df82c0fbce5f8374b99924c3ab80cb1ef77
treec4a32692a21dfd2b3aaa9dbe86e40f03cb8be59c
parentd48ac531b9057c02e54c3d202290f7d76be01722
[flang] Check semantic contraints for the nullify statement. The full
legality check is up to the user; however, some checks could
be done at compile time and others at runtime.  We choose to
skip any checking at compile time because it would not be
complete.

Note the instantiation of ExtractDataRef in expressions.cc.
This instantiation satifies the reference in check-nullify.cc
because expression.h just has a declaration of ExtractDataRef
instead of the definition.

Original-commit: flang-compiler/f18@b7199219fbf9e833be6e745d498e99936c2e68b2
Reviewed-on: https://github.com/flang-compiler/f18/pull/388
Tree-same-pre-rewrite: false
flang/lib/semantics/CMakeLists.txt
flang/lib/semantics/check-nullify.cc [new file with mode: 0644]
flang/lib/semantics/check-nullify.h [new file with mode: 0644]
flang/lib/semantics/expression.cc
flang/lib/semantics/expression.h
flang/lib/semantics/semantics.cc
flang/lib/semantics/tools.cc
flang/lib/semantics/tools.h
flang/test/semantics/CMakeLists.txt
flang/test/semantics/nullify01.f90 [new file with mode: 0644]
flang/test/semantics/nullify02.f90 [new file with mode: 0644]