diff options
| author | Peter Steinfeld <psteinfeld@nvidia.com> | 2020-08-13 08:07:58 -0700 | 
|---|---|---|
| committer | Peter Steinfeld <psteinfeld@nvidia.com> | 2020-08-13 09:09:05 -0700 | 
| commit | 19d7cc2e83061050923057abf72ab860bdc0a3b5 (patch) | |
| tree | c1c0a11668574d1ac231905339dc3539eb4e6b71 /llvm/lib/CodeGen/MachinePassManager.cpp | |
| parent | e5caa6b5abfa3484fa6107961a62173c6955a8ef (diff) | |
| download | llvm-19d7cc2e83061050923057abf72ab860bdc0a3b5.zip llvm-19d7cc2e83061050923057abf72ab860bdc0a3b5.tar.gz llvm-19d7cc2e83061050923057abf72ab860bdc0a3b5.tar.bz2 | |
[flang] Fix assert on character literal substrings as arguments
Character literal substrings used as arguments were causing asserts.  This
happened when the code was trying to get the DynamicType of the substring.  We
were only recording the DynamicType of the Designator on which the substring
was based.  For character literal substrings, the Designator was a character
literal, and we weren't handling getting its type.
I fixed this by changing the `GetType()` method for `DynamicType` to check to
see if we were getting the type of a `Substring` and calculating the type of
the substring by getting the number of bytes in an element of the string.
I also changed the test `resolve49.f90` with some tests, one of which causes
the original crash.
Differential Revision: https://reviews.llvm.org/D85908
Diffstat (limited to 'llvm/lib/CodeGen/MachinePassManager.cpp')
0 files changed, 0 insertions, 0 deletions
