Skip to content

Commit aca529d

Browse files
committed
Addressed reviewer comments. Added assert to check for derived type.
1 parent c0a814c commit aca529d

File tree

1 file changed

+11
-9
lines changed

1 file changed

+11
-9
lines changed

flang/lib/Lower/OpenMP/OpenMP.cpp

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
#include "mlir/Transforms/RegionUtils.h"
4141
#include "llvm/ADT/STLExtras.h"
4242
#include "llvm/Frontend/OpenMP/OMPConstants.h"
43-
#include <string>
4443

4544
using namespace Fortran::lower::omp;
4645
using namespace Fortran::common::openmp;
@@ -2620,13 +2619,16 @@ genOMP(lower::AbstractConverter &converter, lower::SymMap &symTable,
26202619
const auto &mapperName{std::get<std::optional<parser::Name>>(spec.t)};
26212620
const auto &varType{std::get<parser::TypeSpec>(spec.t)};
26222621
const auto &varName{std::get<parser::Name>(spec.t)};
2623-
std::stringstream mapperNameStr;
2624-
if (mapperName.has_value()) {
2625-
mapperNameStr << mapperName->ToString();
2626-
} else {
2627-
mapperNameStr << "default_"
2628-
<< varType.declTypeSpec->derivedTypeSpec().name().ToString();
2629-
}
2622+
assert(varType.declTypeSpec->category() ==
2623+
semantics::DeclTypeSpec::Category::TypeDerived &&
2624+
"Expected derived type");
2625+
2626+
std::string mapperNameStr;
2627+
if (mapperName.has_value())
2628+
mapperNameStr = mapperName->ToString();
2629+
else
2630+
mapperNameStr =
2631+
"default_" + varType.declTypeSpec->derivedTypeSpec().name().ToString();
26302632

26312633
mlir::OpBuilder::InsertPoint insPt = firOpBuilder.saveInsertionPoint();
26322634
firOpBuilder.setInsertionPointToStart(converter.getModuleOp().getBody());
@@ -2642,7 +2644,7 @@ genOMP(lower::AbstractConverter &converter, lower::SymMap &symTable,
26422644
ClauseProcessor cp(converter, semaCtx, clauses);
26432645
cp.processMap(converter.getCurrentLocation(), stmtCtx, clauseOps);
26442646
auto declMapperOp = firOpBuilder.create<mlir::omp::DeclareMapperOp>(
2645-
converter.getCurrentLocation(), mapperNameStr.str(), varVal, mlirType,
2647+
converter.getCurrentLocation(), mapperNameStr, varVal, mlirType,
26462648
clauseOps.mapVars);
26472649
converter.getMLIRSymbolTable()->insert(declMapperOp.getOperation());
26482650
firOpBuilder.restoreInsertionPoint(insPt);

0 commit comments

Comments
 (0)