! { dg-do compile }
program demo_setval
   call setval(value)
   write(*,*)'VALUE=',value
   contains
      subroutine setval(value)
         class(*),intent(in) :: value
         select type(value)
            type is (integer)
               value = 10     ! { dg-error "in variable definition context" }
            type is (real)
               value = 10.20  ! { dg-error "in variable definition context" }
         end select
      end subroutine setval
end program demo_setval