Skip to content

Commit 020f736

Browse files
Revert "[Flang] Add semantic checks for cray pointer usage in DSA list (#121028)"
This reverts commit 990774a.
1 parent b311ab0 commit 020f736

File tree

4 files changed

+6
-66
lines changed

4 files changed

+6
-66
lines changed

flang/lib/Semantics/check-omp-structure.cpp

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3374,15 +3374,13 @@ void OmpStructureChecker::Enter(const parser::OmpClause::Ordered &x) {
33743374
void OmpStructureChecker::Enter(const parser::OmpClause::Shared &x) {
33753375
CheckAllowedClause(llvm::omp::Clause::OMPC_shared);
33763376
CheckIsVarPartOfAnotherVar(GetContext().clauseSource, x.v, "SHARED");
3377-
CheckCrayPointee(x.v, "SHARED");
33783377
}
33793378
void OmpStructureChecker::Enter(const parser::OmpClause::Private &x) {
33803379
SymbolSourceMap symbols;
33813380
GetSymbolsInObjectList(x.v, symbols);
33823381
CheckAllowedClause(llvm::omp::Clause::OMPC_private);
33833382
CheckIsVarPartOfAnotherVar(GetContext().clauseSource, x.v, "PRIVATE");
33843383
CheckIntentInPointer(symbols, llvm::omp::Clause::OMPC_private);
3385-
CheckCrayPointee(x.v, "PRIVATE");
33863384
}
33873385

33883386
void OmpStructureChecker::Enter(const parser::OmpClause::Nowait &x) {
@@ -3462,7 +3460,6 @@ void OmpStructureChecker::Enter(const parser::OmpClause::Firstprivate &x) {
34623460
CheckAllowedClause(llvm::omp::Clause::OMPC_firstprivate);
34633461

34643462
CheckIsVarPartOfAnotherVar(GetContext().clauseSource, x.v, "FIRSTPRIVATE");
3465-
CheckCrayPointee(x.v, "FIRSTPRIVATE");
34663463
CheckIsLoopIvPartOfClause(llvmOmpClause::OMPC_firstprivate, x.v);
34673464

34683465
SymbolSourceMap currSymbols;
@@ -4559,22 +4556,6 @@ void OmpStructureChecker::CheckProcedurePointer(
45594556
}
45604557
}
45614558

4562-
void OmpStructureChecker::CheckCrayPointee(
4563-
const parser::OmpObjectList &objectList, llvm::StringRef clause) {
4564-
SymbolSourceMap symbols;
4565-
GetSymbolsInObjectList(objectList, symbols);
4566-
for (auto it{symbols.begin()}; it != symbols.end(); ++it) {
4567-
const auto *symbol{it->first};
4568-
const auto source{it->second};
4569-
if (symbol->test(Symbol::Flag::CrayPointee)) {
4570-
context_.Say(source,
4571-
"Cray Pointee '%s' may not appear in %s clause, use Cray Pointer '%s' instead"_err_en_US,
4572-
symbol->name(), clause.str(),
4573-
semantics::GetCrayPointer(*symbol).name());
4574-
}
4575-
}
4576-
}
4577-
45784559
void OmpStructureChecker::GetSymbolsInObjectList(
45794560
const parser::OmpObjectList &objectList, SymbolSourceMap &symbols) {
45804561
for (const auto &ompObject : objectList.v) {

flang/lib/Semantics/check-omp-structure.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -197,8 +197,6 @@ class OmpStructureChecker
197197
const parser::CharBlock &source, const parser::OmpObjectList &objList);
198198
void CheckIntentInPointer(SymbolSourceMap &, const llvm::omp::Clause);
199199
void CheckProcedurePointer(SymbolSourceMap &, const llvm::omp::Clause);
200-
void CheckCrayPointee(
201-
const parser::OmpObjectList &objectList, llvm::StringRef clause);
202200
void GetSymbolsInObjectList(const parser::OmpObjectList &, SymbolSourceMap &);
203201
void CheckDefinableObjects(SymbolSourceMap &, const llvm::omp::Clause);
204202
void CheckCopyingPolymorphicAllocatable(

flang/lib/Semantics/resolve-directives.cpp

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2115,12 +2115,8 @@ void OmpAttributeVisitor::Post(const parser::OpenMPAllocatorsConstruct &x) {
21152115
static bool IsPrivatizable(const Symbol *sym) {
21162116
auto *misc{sym->detailsIf<MiscDetails>()};
21172117
return IsVariableName(*sym) && !IsProcedure(*sym) && !IsNamedConstant(*sym) &&
2118-
(!semantics::IsAssumedSizeArray(
2119-
*sym) || /* OpenMP 5.2, 5.1.1: Assumed-size arrays are shared*/
2120-
(sym->test(Symbol::Flag::CrayPointee) &&
2121-
// If CrayPointer is among the DSA list then the
2122-
// CrayPointee is Privatizable
2123-
&semantics::GetCrayPointer(*sym))) &&
2118+
!semantics::IsAssumedSizeArray(
2119+
*sym) && /* OpenMP 5.2, 5.1.1: Assumed-size arrays are shared*/
21242120
!sym->owner().IsDerivedType() &&
21252121
sym->owner().kind() != Scope::Kind::ImpliedDos &&
21262122
!sym->detailsIf<semantics::AssocEntityDetails>() &&
@@ -2286,18 +2282,10 @@ void OmpAttributeVisitor::Post(const parser::Name &name) {
22862282
// the scope of the parallel region, and not in this scope.
22872283
// TODO: check whether this should be caught in IsObjectWithDSA
22882284
!symbol->test(Symbol::Flag::OmpPrivate)) {
2289-
if (symbol->test(Symbol::Flag::CrayPointee)) {
2290-
std::string crayPtrName{
2291-
semantics::GetCrayPointer(*symbol).name().ToString()};
2292-
if (!IsObjectWithDSA(*currScope().FindSymbol(crayPtrName)))
2293-
context_.Say(name.source,
2294-
"The DEFAULT(NONE) clause requires that the Cray Pointer '%s' must be listed in a data-sharing attribute clause"_err_en_US,
2295-
crayPtrName);
2296-
} else {
2297-
context_.Say(name.source,
2298-
"The DEFAULT(NONE) clause requires that '%s' must be listed in a data-sharing attribute clause"_err_en_US,
2299-
symbol->name());
2300-
}
2285+
context_.Say(name.source,
2286+
"The DEFAULT(NONE) clause requires that '%s' must be listed in "
2287+
"a data-sharing attribute clause"_err_en_US,
2288+
symbol->name());
23012289
}
23022290
}
23032291
}

flang/test/Semantics/OpenMP/cray-pointer-usage.f90

Lines changed: 0 additions & 27 deletions
This file was deleted.

0 commit comments

Comments
 (0)