[flang-commits] [flang] [OpenMP][Flang] Fix semantic check and scoping for declare mappers (PR #140560)
Krzysztof Parzyszek via flang-commits
flang-commits at lists.llvm.org
Tue May 27 10:42:11 PDT 2025
================
@@ -4005,24 +4007,16 @@ genOMP(lower::AbstractConverter &converter, lower::SymMap &symTable,
lower::StatementContext stmtCtx;
const auto &spec =
std::get<parser::OmpMapperSpecifier>(declareMapperConstruct.t);
- const auto &mapperName{std::get<std::optional<parser::Name>>(spec.t)};
+ const auto &mapperName{std::get<std::string>(spec.t)};
const auto &varType{std::get<parser::TypeSpec>(spec.t)};
const auto &varName{std::get<parser::Name>(spec.t)};
assert(varType.declTypeSpec->category() ==
semantics::DeclTypeSpec::Category::TypeDerived &&
"Expected derived type");
- std::string mapperNameStr;
- if (mapperName.has_value()) {
- mapperNameStr = mapperName->ToString();
- mapperNameStr =
- converter.mangleName(mapperNameStr, mapperName->symbol->owner());
- } else {
- mapperNameStr =
- varType.declTypeSpec->derivedTypeSpec().name().ToString() + ".default";
- mapperNameStr = converter.mangleName(
- mapperNameStr, *varType.declTypeSpec->derivedTypeSpec().GetScope());
- }
+ std::string mapperNameStr = mapperName;
+ if (auto *sym = converter.getCurrentScope().FindSymbol(mapperNameStr))
----------------
kparzysz wrote:
Brackets sym{...}
https://github.com/llvm/llvm-project/pull/140560
More information about the flang-commits
mailing list