[flang] Restore checking for some optional values before use
authorPeter Klausler <pklausler@nvidia.com>
Mon, 19 Dec 2022 20:41:25 +0000 (12:41 -0800)
committerPeter Klausler <pklausler@nvidia.com>
Thu, 29 Dec 2022 17:37:34 +0000 (09:37 -0800)
commita8234196c58396c0505ac93983dafee743a67b11
tree98f4201d7cf773037d2445d7d93ff483aec0e35f
parentf0faea571403eb75a1d2d0dceca1dd52a7824d33
[flang] Restore checking for some optional values before use

Recent commits (2098ad7f00324ee0f2a6538f418a6f81dfdd2edb and
15a9a72ee68166c0cff3f036cacd3c82be66c729) replaced usage of "o.value()"
on optionals with "*o".  Those optional values are expected to be
present -- but now, if it ever turns out that they're not,
compilation will proceed with garbage data rather than crashing
immediately (and more debuggably) with an uncaught exception.

Add asserts for presence to restore the previous level of safety.
(I could have revert these patches so as to resume used of .value()
but I didn't want to just have them get broken again.)

Differential Revision: https://reviews.llvm.org/D140340
flang/include/flang/Evaluate/tools.h
flang/lib/Lower/Bridge.cpp
flang/lib/Lower/ConvertCall.cpp
flang/lib/Lower/ConvertExpr.cpp
flang/lib/Lower/ConvertExprToHLFIR.cpp
flang/lib/Lower/CustomIntrinsicCall.cpp