! RUN: not %flang_fc1 -pedantic %s 2>&1 | FileCheck %s ! Test extension: allow forward references to dummy arguments or COMMON ! from specification expressions in scopes with IMPLICIT NONE(TYPE), ! as long as those symbols are eventually typed later with the ! same integer type they would have had without IMPLICIT NONE. !CHECK: warning: 'n1' was used without (or before) being explicitly typed !CHECK: error: No explicit type declared for dummy argument 'n1' subroutine foo1(a, n1) implicit none real a(n1) end !CHECK: warning: 'n2' was used without (or before) being explicitly typed subroutine foo2(a, n2) implicit none real a(n2) !CHECK: error: The type of 'n2' has already been implicitly declared double precision n2 end !CHECK: warning: 'n3' was used without (or before) being explicitly typed !CHECK-NOT: error: Dummy argument 'n3' subroutine foo3(a, n3) implicit none real a(n3) integer n3 end !CHECK: warning: 'n4' was used without (or before) being explicitly typed !CHECK: error: No explicit type declared for 'n4' subroutine foo4(a) implicit none real a(n4) common /b4/ n4 end !CHECK: warning: 'n5' was used without (or before) being explicitly typed subroutine foo5(a) implicit none real a(n5) common /b5/ n5 !CHECK: error: The type of 'n5' has already been implicitly declared double precision n5 end !CHECK: warning: 'n6' was used without (or before) being explicitly typed subroutine foo6(a) implicit none real a(n6) common /b6/ n6 integer n6 end