http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54881



janus at gcc dot gnu.org changed:



           What    |Removed                     |Added

----------------------------------------------------------------------------

             Status|UNCONFIRMED                 |NEW

   Last reconfirmed|                            |2012-10-10

     Ever Confirmed|0                           |1



--- Comment #3 from janus at gcc dot gnu.org 2012-10-10 08:28:29 UTC ---

(In reply to comment #1)

> 

>       call DestroyNode (theNode, lstatus )

>                         1

> Error: Actual argument for 'thenode' must be a pointer at (1)

> 

> which seems weird (AFAICT theNode is a pointer).



I agree that this error looks fishy. 'theNode' is clearly declared as POINTER,

and the error only occurs if the call is inside a SELECT TYPE statement. Here

is a reduced test case:





  implicit none



  type treeNode

  end type



  class(treeNode), pointer :: theNode

  logical :: lstatus



  select type( theNode )

  class is (treeNode)

    call DestroyNode (theNode, lstatus )

  end select



contains



  subroutine DestroyNode( theNode, lstatus )

    class(treeNode), pointer :: theNode

    logical, intent(out) :: lstatus

  end subroutine



end





Seems to be a regression on trunk.

Reply via email to