! { dg-do run }
!
! Test the fix for PR35824, in which the interface assignment and
! negation did not work correctly.
!
! Contributed by Rolf Roth <everyo@gmx.net>
!
module typemodule
  type alltype
     double precision :: a
     double precision,allocatable :: b(:)
  end type
  interface assignment(=)
    module procedure at_from_at
  end interface
  interface operator(-)
    module procedure  neg_at
  end interface
contains
  subroutine at_from_at(b,a)
    type(alltype), intent(in) :: a
    type(alltype), intent(out) :: b
    b%a=a%a
    allocate(b%b(2))
    b%b=a%b
  end subroutine at_from_at
  function neg_at(a) result(b)
    type(alltype), intent(in) :: a
    type(alltype) :: b
    b%a=-a%a
    allocate(b%b(2))
    b%b=-a%b
  end function neg_at
end module
  use typemodule
  type(alltype) t1,t2,t3
  allocate(t1%b(2))
  t1%a=0.5d0
  t1%b(1)=1d0
  t1%b(2)=2d0
  t2=-t1
  if (t2%a .ne. -0.5d0) STOP 1
  if (any(t2%b .ne. [-1d0, -2d0])) STOP 2

  t1=-t1
  if (t1%a .ne. -0.5d0) STOP 3
  if (any(t1%b .ne. [-1d0, -2d0])) STOP 4
end
