Skip to content

Commit 066b114

Browse files
authored
Merge pull request #1159 from schweitzpgi/ch-bug3
Fix bugs arising from using functional values as objects in memory.
2 parents 38f3381 + 94b58b2 commit 066b114

File tree

6 files changed

+610
-45
lines changed

6 files changed

+610
-45
lines changed

flang/include/flang/Optimizer/Builder/FIRBuilder.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -353,6 +353,9 @@ class FirOpBuilder : public mlir::OpBuilder {
353353
mlir::Value ub, mlir::Value step,
354354
mlir::Type type);
355355

356+
/// Dump the current function. (debug)
357+
LLVM_DUMP_METHOD void dumpFunc();
358+
356359
private:
357360
const KindMapping &kindMap;
358361
};

flang/lib/Lower/ConvertExpr.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2693,7 +2693,6 @@ class ScalarArrayExprLowering {
26932693
[&](const Fortran::evaluate::Subscript *x) { addSub(*x); },
26942694
[&](const Fortran::evaluate::ArrayRef *x) {
26952695
assert(!x->base().IsSymbol());
2696-
ty = addField(x->base().GetComponent());
26972696
for (const auto &sub : x->subscript())
26982697
addSub(sub);
26992698
ty = fir::unwrapSequenceType(ty);
@@ -5657,7 +5656,7 @@ class ArrayExprLowering {
56575656
"array constructor element has unknown size");
56585657
});
56595658
auto newEleTy = fir::CharacterType::getSingleton(eleTy.getContext(),
5660-
charTy.getFKind());
5659+
charTy.getFKind());
56615660
if (auto seqTy = resTy.dyn_cast<fir::SequenceType>()) {
56625661
assert(eleTy == seqTy.getEleTy());
56635662
resTy = fir::SequenceType::get(seqTy.getShape(), newEleTy);

0 commit comments

Comments
 (0)