30 lines · plain
1! RUN: %python %S/test_errors.py %s %flang_fc1 -pedantic -Werror2! Deferred TBPs must be overridden, but when they are private, those3! overrides are required to appear in the same module. We allow overrides4! elsewhere as an extension.5module m16 type, abstract :: absBase7 contains8 procedure(deferredInterface), deferred, private :: deferredTbp9 end type10 abstract interface11 subroutine deferredInterface(x)12 import absBase13 class(absBase), intent(in) :: x14 end15 end interface16end17 18module m219 use m120 type, extends(absBase) :: ext21 contains22 !WARNING: Override of PRIVATE DEFERRED 'deferredtbp' should appear in its module [-Winaccessible-deferred-override]23 procedure :: deferredTbp => implTbp24 end type25 contains26 subroutine implTbp(x)27 class(ext), intent(in) :: x28 end29end30