http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52864
Neil Carlson <nnc at lanl dot gov> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |nnc at lanl dot gov --- Comment #2 from Neil Carlson <nnc at lanl dot gov> 2012-04-11 22:45:36 UTC --- Here's a somewhat different example, but I think it exposes the same underlying bug. Here's the error message: call bar (a%ptr) 1 Error: Procedure argument at (1) is INTENT(IN) while interface specifies INTENT(INOUT) For pointer components of an argument, intent applies to the pointer itself (i.e., changes in its association status) and NOT the target of the pointer. This is a fundamental defect in the compiler. module modA type :: typeA integer, pointer :: ptr end type contains subroutine foo (a) type(typeA), intent(in) :: a call bar (a%ptr) end subroutine subroutine bar (n) integer, intent(inout) :: n end subroutine end module