[flang-commits] [flang] 8bcf40b - [flang] Adjust new warnings for extensions (#94485)
via flang-commits
flang-commits at lists.llvm.org
Tue Jun 11 17:09:20 PDT 2024
Author: Peter Klausler
Date: 2024-06-11T17:09:17-07:00
New Revision: 8bcf40ba884dc80795c17259518db42d35a2f155
URL: https://github.com/llvm/llvm-project/commit/8bcf40ba884dc80795c17259518db42d35a2f155
DIFF: https://github.com/llvm/llvm-project/commit/8bcf40ba884dc80795c17259518db42d35a2f155.diff
LOG: [flang] Adjust new warnings for extensions (#94485)
Prevent messages from module files, respect the language feature flags
when enabling the relaxed PURE dummy argument checking, and check that
the new warnings are enabled.
Added:
Modified:
flang/lib/Semantics/check-declarations.cpp
flang/test/Semantics/call10.f90
Removed:
################################################################################
diff --git a/flang/lib/Semantics/check-declarations.cpp b/flang/lib/Semantics/check-declarations.cpp
index 92bfea2496223..ff43223f3e054 100644
--- a/flang/lib/Semantics/check-declarations.cpp
+++ b/flang/lib/Semantics/check-declarations.cpp
@@ -742,14 +742,13 @@ void CheckHelper::CheckObjectEntity(
}
} else if (!IsIntentInOut(symbol)) { // C1586
messages_.Say(
- "non-POINTER dummy argument of pure %s must have INTENT() or VALUE attribute"_warn_en_US,
+ "non-POINTER dummy argument of pure %s must have INTENT() or VALUE attribute"_err_en_US,
what);
ok = false;
}
- if (ok && InFunction()) {
+ if (ok && InFunction() && !InModuleFile() && !InElemental()) {
if (context_.IsEnabled(common::LanguageFeature::RelaxedPureDummy)) {
- if (context_.ShouldWarn(common::LanguageFeature::RelaxedPureDummy) &&
- !InModuleFile() && !InElemental()) {
+ if (context_.ShouldWarn(common::LanguageFeature::RelaxedPureDummy)) {
messages_.Say(
"non-POINTER dummy argument of pure function should be INTENT(IN) or VALUE"_warn_en_US);
}
diff --git a/flang/test/Semantics/call10.f90 b/flang/test/Semantics/call10.f90
index ff19f104b051b..ffb3b48c329e7 100644
--- a/flang/test/Semantics/call10.f90
+++ b/flang/test/Semantics/call10.f90
@@ -53,7 +53,7 @@ pure real function f02(a)
real, value :: a ! ok
end function
pure real function f03(a) ! C1583
- !ERROR: non-POINTER dummy argument of pure function must have INTENT() or VALUE attribute
+ !WARNING: non-POINTER dummy argument of pure function must have INTENT() or VALUE attribute
real :: a
end function
pure real function f03a(a)
@@ -83,7 +83,7 @@ pure function f08() ! C1585
end function
pure subroutine s01(a) ! C1586
- !ERROR: non-POINTER dummy argument of pure subroutine must have INTENT() or VALUE attribute
+ !WARNING: non-POINTER dummy argument of pure subroutine must have INTENT() or VALUE attribute
real :: a
end subroutine
pure subroutine s01a(a)
More information about the flang-commits
mailing list