diff options
author | Peter Klausler <pklausler@nvidia.com> | 2021-12-09 13:00:54 -0800 |
---|---|---|
committer | Peter Klausler <pklausler@nvidia.com> | 2021-12-09 18:03:04 -0800 |
commit | c4360b4547168f7c0356b49d90646666d5b778da (patch) | |
tree | 208ed5b16e0a9c31454fd59b5709064397c8f45b /llvm/lib/Support/MemoryBuffer.cpp | |
parent | 5bba0fe12b2971a9cbc859f48ee6e6c1356c88b8 (diff) | |
download | llvm-c4360b4547168f7c0356b49d90646666d5b778da.zip llvm-c4360b4547168f7c0356b49d90646666d5b778da.tar.gz llvm-c4360b4547168f7c0356b49d90646666d5b778da.tar.bz2 |
[flang] Fix folding of ac-implied-do indices in structure c'tors
Array constructors with implied DO loops that oversee structure
constructors were being prematurely folded into invalid constants
containing symbolic references to the ac-implied-do indices,
because they are indeed "constant expressions" as that term is
used in the Fortran standard and implemented as IsConstantExpr().
What's actually needed in structure constructor folding is a
test for actual constant values, which is what results from
folding them later with repetition in the context of folding
an ac-implied-do.
Differential Revision: https://reviews.llvm.org/D115470
Diffstat (limited to 'llvm/lib/Support/MemoryBuffer.cpp')
0 files changed, 0 insertions, 0 deletions