forked from OSchip/llvm-project
3a1afd8c3d
Summary: Updates recent work on DATA statement semantic checking in flang/lib/Semantics/check-data.{h,cpp} to use the compiler's internal representation for typed expressions rather than working on the raw parse tree. Saves the analyzed expressions for DATA statement values as parse tree decorations because they'll soon be needed in lowering. Corrects wording of some error messages. Fixes a bug in constant expression checking: structure constructors are not constant expressions if they set an allocatable component to anything other than NULL. Includes infrastructure changes to make this work, some renaming to reflect the fact that the implied DO loop indices tracked by expression analysis are not (just) from array constructors, remove some dead code, and improve some comments. Reviewers: tskeith, sscalpone, jdoerfert, DavidTruby, anchu-rajendran, schweitz Reviewed By: tskeith, anchu-rajendran, schweitz Subscribers: llvm-commits, flang-commits Tags: #flang, #llvm Differential Revision: https://reviews.llvm.org/D78834 |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
call.cpp | ||
character.h | ||
characteristics.cpp | ||
check-expression.cpp | ||
common.cpp | ||
complex.cpp | ||
constant.cpp | ||
expression.cpp | ||
fold-character.cpp | ||
fold-complex.cpp | ||
fold-implementation.h | ||
fold-integer.cpp | ||
fold-logical.cpp | ||
fold-real.cpp | ||
fold.cpp | ||
formatting.cpp | ||
host.cpp | ||
host.h | ||
int-power.h | ||
integer.cpp | ||
intrinsics-library-templates.h | ||
intrinsics-library.cpp | ||
intrinsics.cpp | ||
logical.cpp | ||
real.cpp | ||
shape.cpp | ||
static-data.cpp | ||
tools.cpp | ||
type.cpp | ||
variable.cpp |