Skip to content

Commit 90abadc

Browse files
authored
Merge pull request #1060 from flang-compiler/jpr-name-local-equiv
Use name of an equivalence member in local aggregate alloca
2 parents eb22fb4 + 7e78754 commit 90abadc

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

flang/lib/Lower/ConvertVariable.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -661,9 +661,9 @@ instantiateAggregateStore(Fortran::lower::AbstractConverter &converter,
661661
auto &builder = converter.getFirOpBuilder();
662662
auto i8Ty = builder.getIntegerType(8);
663663
auto loc = converter.getCurrentLocation();
664+
auto aggName = mangleGlobalAggregateStore(var.getAggregateStore());
664665
if (var.isGlobal()) {
665666
// The scope of this aggregate is this procedure.
666-
auto aggName = mangleGlobalAggregateStore(var.getAggregateStore());
667667
fir::GlobalOp global = builder.getNamedGlobal(aggName);
668668
if (!global) {
669669
auto &aggregate = var.getAggregateStore();
@@ -696,7 +696,7 @@ instantiateAggregateStore(Fortran::lower::AbstractConverter &converter,
696696
fir::SequenceType::Shape shape(1, size);
697697
auto seqTy = fir::SequenceType::get(shape, i8Ty);
698698
auto local =
699-
builder.allocateLocal(loc, seqTy, ".aggtmp", "", llvm::None, llvm::None,
699+
builder.allocateLocal(loc, seqTy, aggName, "", llvm::None, llvm::None,
700700
/*target=*/false);
701701
insertAggregateStore(storeMap, var, local);
702702
}

flang/test/Lower/equivalence-1.f90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
SUBROUTINE s1
55
INTEGER i
66
REAL r
7-
! CHECK: = fir.alloca !fir.array<4xi8>
7+
! CHECK: = fir.alloca !fir.array<4xi8> {uniq_name = "_QFs1Ei"}
88
EQUIVALENCE (r,i)
99
! CHECK: %[[coor:.*]] = fir.coordinate_of %{{.*}}, %{{.*}} : (!fir.ref<!fir.array<4xi8>>, index) -> !fir.ref<i8>
1010
! CHECK: %[[iloc:.*]] = fir.convert %[[coor]] : (!fir.ref<i8>) -> !fir.ref<i32>

0 commit comments

Comments
 (0)