re PR fortran/49074 ([OOP] Defined assignment w/ CLASS arrays: Incomplete error message)
2011-06-16 Janus Weil <janus@gcc.gnu.org> PR fortran/49074 * interface.c (gfc_extend_assign): Propagate the locus from the assignment to the type-bound procedure call. 2011-06-16 Janus Weil <janus@gcc.gnu.org> PR fortran/49074 * gfortran.dg/typebound_assignment_3.f03: New. From-SVN: r175113
This commit is contained in:
parent
45f86e0f6e
commit
67a7c837e9
@ -1,3 +1,9 @@
|
||||
2011-06-16 Janus Weil <janus@gcc.gnu.org>
|
||||
|
||||
PR fortran/49074
|
||||
* interface.c (gfc_extend_assign): Propagate the locus from the
|
||||
assignment to the type-bound procedure call.
|
||||
|
||||
2011-06-16 Janus Weil <janus@gcc.gnu.org>
|
||||
|
||||
PR fortran/49417
|
||||
|
@ -3242,6 +3242,7 @@ gfc_extend_assign (gfc_code *c, gfc_namespace *ns)
|
||||
c->expr1 = gfc_get_expr ();
|
||||
build_compcall_for_operator (c->expr1, actual, tb_base, tbo, gname);
|
||||
c->expr1->value.compcall.assign = 1;
|
||||
c->expr1->where = c->loc;
|
||||
c->expr2 = NULL;
|
||||
c->op = EXEC_COMPCALL;
|
||||
|
||||
|
@ -1,3 +1,8 @@
|
||||
2011-06-16 Janus Weil <janus@gcc.gnu.org>
|
||||
|
||||
PR fortran/49074
|
||||
* gfortran.dg/typebound_assignment_3.f03: New.
|
||||
|
||||
2011-06-16 Steve Ellcey <sje@cup.hp.com>
|
||||
|
||||
PR testsuite/48727
|
||||
|
30
gcc/testsuite/gfortran.dg/typebound_assignment_3.f03
Normal file
30
gcc/testsuite/gfortran.dg/typebound_assignment_3.f03
Normal file
@ -0,0 +1,30 @@
|
||||
! { dg-do compile }
|
||||
!
|
||||
! PR 49074: [OOP] Defined assignment w/ CLASS arrays: Incomplete error message
|
||||
!
|
||||
! Contribute by Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||||
|
||||
module foo
|
||||
|
||||
type bar
|
||||
contains
|
||||
generic :: assignment (=) => assgn
|
||||
procedure :: assgn
|
||||
end type
|
||||
|
||||
contains
|
||||
|
||||
elemental subroutine assgn (a, b)
|
||||
class (bar), intent (inout) :: a
|
||||
class (bar), intent (in) :: b
|
||||
end subroutine
|
||||
|
||||
end module
|
||||
|
||||
|
||||
use foo
|
||||
type (bar) :: foobar(2)
|
||||
foobar = bar() ! { dg-error "currently not implemented" }
|
||||
end
|
||||
|
||||
! { dg-final { cleanup-modules "foo" } }
|
Loading…
Reference in New Issue
Block a user