1! { dg-do compile } 2! { dg-options "-Waliasing" } 3! 4! PR fortran/57991 5! 6! Added check for OUT/OUT. IN/OUT and OUT/IN where already check 7! since GCC 4.0, but not being tested for. 8 9 Program q 10 integer :: x 11 x = 5 12 Call test1(x, x) ! { dg-warning "Same actual argument associated with INTENT.OUT. argument 'a' and INTENT.OUT. argument 'b'" } 13 Call test2(x, x) ! { dg-warning "Same actual argument associated with INTENT.IN. argument 'a' and INTENT.OUT. argument 'b'" } 14 Call test3(x, x) ! { dg-warning "Same actual argument associated with INTENT.OUT. argument 'a' and INTENT.IN. argument 'b'" } 15 Contains 16 Subroutine test1(a,b) 17 Integer, intent(out) :: a 18 Integer, intent(out) :: b 19 b = 5 20 a = 5 21 End Subroutine 22 Subroutine test2(a,b) 23 Integer, intent(in) :: a 24 Integer, intent(out) :: b 25 b = 5 + a 26 End Subroutine 27 Subroutine test3(a,b) 28 Integer, intent(out) :: a 29 Integer, intent(in) :: b 30 a = 5 + b 31 End Subroutine 32 End Program 33 34