[PATCH] D108932: [flang] Downgrade inappropriate error message to a warning
Peter Klausler via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 31 11:29:03 PDT 2021
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rGb4c86525fdc3: [flang] Downgrade inappropriate error message to a warning (authored by klausler).
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D108932/new/
https://reviews.llvm.org/D108932
Files:
flang/lib/Semantics/check-call.cpp
flang/test/Semantics/call09.f90
flang/test/Semantics/call21.f90
Index: flang/test/Semantics/call21.f90
===================================================================
--- /dev/null
+++ flang/test/Semantics/call21.f90
@@ -0,0 +1,31 @@
+! RUN: %flang -fsyntax-only 2>&1 %s | FileCheck %s
+! Verifies that warnings issue when actual arguments with implicit
+! interfaces are associated with dummy procedures and dummy procedure
+! pointers whose interfaces are explicit.
+module m
+ contains
+ real function realfunc(x)
+ real, intent(in) :: x
+ realfunc = x
+ end function
+ subroutine s00(p0)
+ procedure(realfunc) :: p0
+ end subroutine
+ subroutine s01(p1)
+ procedure(realfunc), pointer, intent(in) :: p1
+ end subroutine
+ subroutine s02(p2)
+ procedure(realfunc), pointer :: p2
+ end subroutine
+ subroutine test
+ external :: extfunc
+ external :: extfuncPtr
+ pointer :: extfuncPtr
+ !CHECK: Actual procedure argument has an implicit interface which is not known to be compatible with dummy argument 'p0=' which has an explicit interface
+ call s00(extfunc)
+ !CHECK: Actual procedure argument has an implicit interface which is not known to be compatible with dummy argument 'p1=' which has an explicit interface
+ call s01(extfunc)
+ !CHECK: Actual procedure argument has an implicit interface which is not known to be compatible with dummy argument 'p2=' which has an explicit interface
+ call s02(extfuncPtr)
+ end subroutine
+end module
Index: flang/test/Semantics/call09.f90
===================================================================
--- flang/test/Semantics/call09.f90
+++ flang/test/Semantics/call09.f90
@@ -58,9 +58,6 @@
procedure(realfunc), pointer :: p
procedure(intfunc), pointer :: ip
integer, pointer :: intPtr
- external :: extfunc
- external :: extfuncPtr
- pointer :: extfuncPtr
p => realfunc
ip => intfunc
call s01(realfunc) ! ok
@@ -79,8 +76,6 @@
call s01(null(intPtr))
!ERROR: Actual argument associated with procedure dummy argument 'p=' is typeless
call s01(B"0101")
- !ERROR: Actual procedure argument has an implicit interface which is not known to be compatible with dummy argument 'p=' which has an explicit interface
- call s01(extfunc)
!ERROR: Actual argument associated with procedure pointer dummy argument 'p=' must be a POINTER unless INTENT(IN)
call s02(realfunc)
call s02(p) ! ok
@@ -94,10 +89,6 @@
call s02(null(p))
!ERROR: Actual argument associated with procedure pointer dummy argument 'p=' must be a POINTER unless INTENT(IN)
call s02(sin)
- !ERROR: Actual procedure argument has an implicit interface which is not known to be compatible with dummy argument 'p=' which has an explicit interface
- call s02(extfunc)
- !ERROR: Actual procedure argument has an implicit interface which is not known to be compatible with dummy argument 'p=' which has an explicit interface
- call s03(extfuncPtr)
end subroutine
subroutine callsub(s)
Index: flang/lib/Semantics/check-call.cpp
===================================================================
--- flang/lib/Semantics/check-call.cpp
+++ flang/lib/Semantics/check-call.cpp
@@ -553,9 +553,8 @@
messages.Say(
"Actual procedure argument has an implicit interface "
"which is not known to be compatible with %s which has an "
- "explicit interface"_err_en_US,
+ "explicit interface"_en_US,
dummyName);
- return;
}
}
} else { // 15.5.2.9(2,3)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D108932.369750.patch
Type: text/x-patch
Size: 3611 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210831/13b188ae/attachment.bin>
More information about the llvm-commits
mailing list