@@ -1413,7 +1413,6 @@ static void instantiateAlias(Fortran::lower::AbstractConverter &converter,
14131413 mlir::Value bytePtr = fir::CoordinateOp::create (
14141414 builder, loc, i8Ptr, storeAddr, mlir::ValueRange{offset});
14151415 mlir::Value typedPtr = castAliasToPointer (builder, loc, symType, bytePtr);
1416- converter.bindSymbolStorage (sym, {storeAddr, off});
14171416 Fortran::lower::StatementContext stmtCtx;
14181417 mapSymbolAttributes (converter, var, symMap, stmtCtx, typedPtr);
14191418 // Default initialization is possible for equivalence members: see
@@ -1656,15 +1655,13 @@ void Fortran::lower::defineCommonBlocks(
16561655
16571656mlir::Value Fortran::lower::genCommonBlockMember (
16581657 Fortran::lower::AbstractConverter &converter, mlir::Location loc,
1659- const Fortran::semantics::Symbol &sym, mlir::Value commonValue,
1660- std::size_t commonSize) {
1658+ const Fortran::semantics::Symbol &sym, mlir::Value commonValue) {
16611659 fir::FirOpBuilder &builder = converter.getFirOpBuilder ();
16621660
16631661 std::size_t byteOffset = sym.GetUltimate ().offset ();
16641662 mlir::IntegerType i8Ty = builder.getIntegerType (8 );
16651663 mlir::Type i8Ptr = builder.getRefType (i8Ty);
1666- fir::SequenceType::Shape shape (1 , commonSize);
1667- mlir::Type seqTy = builder.getRefType (fir::SequenceType::get (shape, i8Ty));
1664+ mlir::Type seqTy = builder.getRefType (builder.getVarLenSeqTy (i8Ty));
16681665 mlir::Value base = builder.createConvert (loc, seqTy, commonValue);
16691666
16701667 mlir::Value offs =
@@ -1673,8 +1670,6 @@ mlir::Value Fortran::lower::genCommonBlockMember(
16731670 mlir::ValueRange{offs});
16741671 mlir::Type symType = converter.genType (sym);
16751672
1676- converter.bindSymbolStorage (sym, {base, byteOffset});
1677-
16781673 return Fortran::semantics::FindEquivalenceSet (sym) != nullptr
16791674 ? castAliasToPointer (builder, loc, symType, varAddr)
16801675 : builder.createConvert (loc, builder.getRefType (symType), varAddr);
@@ -1703,8 +1698,7 @@ static void instantiateCommon(Fortran::lower::AbstractConverter &converter,
17031698 symMap.addSymbol (common, commonAddr);
17041699 }
17051700
1706- mlir::Value local =
1707- genCommonBlockMember (converter, loc, varSym, commonAddr, common.size ());
1701+ mlir::Value local = genCommonBlockMember (converter, loc, varSym, commonAddr);
17081702 Fortran::lower::StatementContext stmtCtx;
17091703 mapSymbolAttributes (converter, var, symMap, stmtCtx, local);
17101704}
@@ -1976,8 +1970,7 @@ static void genDeclareSymbol(Fortran::lower::AbstractConverter &converter,
19761970 // Declare a local pointer variable.
19771971 auto newBase = hlfir::DeclareOp::create (
19781972 builder, loc, boxAlloc, name, /* shape=*/ nullptr , lenParams,
1979- /* dummy_scope=*/ nullptr , /* storage=*/ nullptr ,
1980- /* storage_offset=*/ 0 , attributes);
1973+ /* dummy_scope=*/ nullptr , attributes);
19811974 mlir::Value nullAddr = builder.createNullConstant (
19821975 loc, llvm::cast<fir::BaseBoxType>(ptrBoxType).getEleTy ());
19831976
@@ -2007,10 +2000,9 @@ static void genDeclareSymbol(Fortran::lower::AbstractConverter &converter,
20072000 mlir::Value dummyScope;
20082001 if (converter.isRegisteredDummySymbol (sym))
20092002 dummyScope = converter.dummyArgsScopeValue ();
2010- auto [storage, storageOffset] = converter.getSymbolStorage (sym);
2011- auto newBase = hlfir::DeclareOp::create (
2012- builder, loc, base, name, shapeOrShift, lenParams, dummyScope, storage,
2013- storageOffset, attributes, dataAttr);
2003+ auto newBase =
2004+ hlfir::DeclareOp::create (builder, loc, base, name, shapeOrShift,
2005+ lenParams, dummyScope, attributes, dataAttr);
20142006 symMap.addVariableDefinition (sym, newBase, force);
20152007 return ;
20162008 }
@@ -2068,10 +2060,8 @@ void Fortran::lower::genDeclareSymbol(
20682060 base = genPackArray (converter, sym, exv);
20692061 dummyScope = converter.dummyArgsScopeValue ();
20702062 }
2071- auto [storage, storageOffset] = converter.getSymbolStorage (sym);
2072- hlfir::EntityWithAttributes declare =
2073- hlfir::genDeclare (loc, builder, base, name, attributes, dummyScope,
2074- storage, storageOffset, dataAttr);
2063+ hlfir::EntityWithAttributes declare = hlfir::genDeclare (
2064+ loc, builder, base, name, attributes, dummyScope, dataAttr);
20752065 symMap.addVariableDefinition (sym, declare.getIfVariableInterface (), force);
20762066 return ;
20772067 }
0 commit comments