Skip to content

Commit a196281

Browse files
authored
[flang][cuda] Remove meaningless warning on CUDA shared arguments (#152404)
The warning in issued during the compatibility check makes little sense. Just remove it as it is confusing.
1 parent 2696e8c commit a196281

File tree

5 files changed

+7
-33
lines changed

5 files changed

+7
-33
lines changed

flang/include/flang/Support/Fortran.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,8 @@ static constexpr IgnoreTKRSet ignoreTKRAll{IgnoreTKR::Type, IgnoreTKR::Kind,
9595
std::string AsFortran(IgnoreTKRSet);
9696

9797
bool AreCompatibleCUDADataAttrs(std::optional<CUDADataAttr>,
98-
std::optional<CUDADataAttr>, IgnoreTKRSet, std::optional<std::string> *,
99-
bool allowUnifiedMatchingRule, bool isHostDeviceProcedure,
98+
std::optional<CUDADataAttr>, IgnoreTKRSet, bool allowUnifiedMatchingRule,
99+
bool isHostDeviceProcedure,
100100
const LanguageFeatureControl *features = nullptr);
101101

102102
static constexpr char blankCommonObjectName[] = "__BLNK__";

flang/lib/Evaluate/characteristics.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -400,7 +400,7 @@ bool DummyDataObject::IsCompatibleWith(const DummyDataObject &actual,
400400
}
401401
if (!attrs.test(Attr::Value) &&
402402
!common::AreCompatibleCUDADataAttrs(cudaDataAttr, actual.cudaDataAttr,
403-
ignoreTKR, warning,
403+
ignoreTKR,
404404
/*allowUnifiedMatchingRule=*/false,
405405
/*=isHostDeviceProcedure*/ false)) {
406406
if (whyNot) {
@@ -1816,7 +1816,7 @@ bool DistinguishUtils::Distinguishable(
18161816
x.intent != common::Intent::In) {
18171817
return true;
18181818
} else if (!common::AreCompatibleCUDADataAttrs(x.cudaDataAttr, y.cudaDataAttr,
1819-
x.ignoreTKR | y.ignoreTKR, nullptr,
1819+
x.ignoreTKR | y.ignoreTKR,
18201820
/*allowUnifiedMatchingRule=*/false,
18211821
/*=isHostDeviceProcedure*/ false)) {
18221822
return true;

flang/lib/Semantics/check-call.cpp

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1058,12 +1058,11 @@ static void CheckExplicitDataArg(const characteristics::DummyDataObject &dummy,
10581058
dummyName);
10591059
}
10601060
}
1061-
std::optional<std::string> warning;
10621061
bool isHostDeviceProc{procedure.cudaSubprogramAttrs &&
10631062
*procedure.cudaSubprogramAttrs ==
10641063
common::CUDASubprogramAttrs::HostDevice};
10651064
if (!common::AreCompatibleCUDADataAttrs(dummyDataAttr, actualDataAttr,
1066-
dummy.ignoreTKR, &warning, /*allowUnifiedMatchingRule=*/true,
1065+
dummy.ignoreTKR, /*allowUnifiedMatchingRule=*/true,
10671066
isHostDeviceProc, &context.languageFeatures())) {
10681067
auto toStr{[](std::optional<common::CUDADataAttr> x) {
10691068
return x ? "ATTRIBUTES("s +
@@ -1074,10 +1073,6 @@ static void CheckExplicitDataArg(const characteristics::DummyDataObject &dummy,
10741073
"%s has %s but its associated actual argument has %s"_err_en_US,
10751074
dummyName, toStr(dummyDataAttr), toStr(actualDataAttr));
10761075
}
1077-
if (warning && context.ShouldWarn(common::UsageWarning::CUDAUsage)) {
1078-
messages.Say(common::UsageWarning::CUDAUsage, "%s"_warn_en_US,
1079-
std::move(*warning));
1080-
}
10811076
}
10821077

10831078
// Warning for breaking F'2023 change with character allocatables

flang/lib/Support/Fortran.cpp

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,8 @@ std::string AsFortran(IgnoreTKRSet tkr) {
103103
/// dummy argument attribute while `y` represents the actual argument attribute.
104104
bool AreCompatibleCUDADataAttrs(std::optional<CUDADataAttr> x,
105105
std::optional<CUDADataAttr> y, IgnoreTKRSet ignoreTKR,
106-
std::optional<std::string> *warning, bool allowUnifiedMatchingRule,
107-
bool isHostDeviceProcedure, const LanguageFeatureControl *features) {
106+
bool allowUnifiedMatchingRule, bool isHostDeviceProcedure,
107+
const LanguageFeatureControl *features) {
108108
bool isCudaManaged{features
109109
? features->IsEnabled(common::LanguageFeature::CudaManaged)
110110
: false};
@@ -145,9 +145,6 @@ bool AreCompatibleCUDADataAttrs(std::optional<CUDADataAttr> x,
145145
*y == CUDADataAttr::Shared ||
146146
*y == CUDADataAttr::Constant)) ||
147147
(!y && (isCudaUnified || isCudaManaged))) {
148-
if (y && *y == CUDADataAttr::Shared && warning) {
149-
*warning = "SHARED attribute ignored"s;
150-
}
151148
return true;
152149
}
153150
} else if (*x == CUDADataAttr::Managed) {

flang/test/Semantics/cuf17.cuf

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

0 commit comments

Comments
 (0)