+2012-01-09 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/46328
+ * gfortran.dg/typebound_operator_11.f90: New.
+
2012-01-09 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/array18.adb: New test.
2012-01-09 Martin Jambor <mjambor@suse.cz>
- PR tree-optimization/51759
+ PR tree-optimization/51759
* g++.dg/ipa/pr51759.C: New test.
2012-01-09 Tobias Burnus <burnus@net-b.de>
--- /dev/null
+! { dg-do compile }
+!
+! PR fortran/46328
+!
+! Contributed by Damian Rouson
+!
+module foo_module
+ type ,abstract :: foo
+ contains
+ procedure(t_interface) ,deferred :: t
+ procedure(assign_interface) ,deferred :: assign
+ procedure(multiply_interface) ,deferred :: multiply
+ generic :: operator(*) => multiply
+ generic :: assignment(=) => assign
+ end type
+ abstract interface
+ function t_interface(this)
+ import :: foo
+ class(foo) :: this
+ class(foo), allocatable ::t_interface
+ end function
+ function multiply_interface(lhs,rhs)
+ import :: foo
+ class(foo), allocatable :: multiply_interface
+ class(foo), intent(in) :: lhs
+ real, intent(in) :: rhs
+ end function
+ subroutine assign_interface(lhs,rhs)
+ import :: foo
+ class(foo), intent(in) :: rhs
+ class(foo), intent(inout) :: lhs
+ end subroutine
+ end interface
+contains
+ subroutine bar(x,dt)
+ class(foo) :: x
+ real, intent(in) :: dt
+ x = x%t()*dt
+ end subroutine
+end module
+
+! { dg-final { cleanup-modules "foo_module" } }