Commit 63631f7d by Andre Vehreschild

re PR fortran/64589 ([OOP] Linking error due to undefined integer symbol with…

re PR fortran/64589 ([OOP] Linking error due to undefined integer symbol with unlimited polymorphism)

gcc/testsuite/ChangeLog:

2015-07-13  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/64589
	* gfortran.dg/pr64589.f90: New test.


gcc/fortran/ChangeLog:

2015-07-13  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/64589
	* class.c (find_intrinsic_vtab): Put/Search vtabs for intrinsic
	types in the top-level namespace.

From-SVN: r225730
parent 2d87c1d4
2015-07-13 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/64589
* class.c (find_intrinsic_vtab): Put/Search vtabs for intrinsic
types in the top-level namespace.
2015-07-12 Aldy Hernandez <aldyh@redhat.com> 2015-07-12 Aldy Hernandez <aldyh@redhat.com>
* trans-stmt.c: Fix double word typos. * trans-stmt.c: Fix double word typos.
......
...@@ -2511,9 +2511,7 @@ find_intrinsic_vtab (gfc_typespec *ts) ...@@ -2511,9 +2511,7 @@ find_intrinsic_vtab (gfc_typespec *ts)
sprintf (name, "__vtab_%s", tname); sprintf (name, "__vtab_%s", tname);
/* Look for the vtab symbol in various namespaces. */ /* Look for the vtab symbol in the top-level namespace only. */
gfc_find_symbol (name, gfc_current_ns, 0, &vtab);
if (vtab == NULL)
gfc_find_symbol (name, ns, 0, &vtab); gfc_find_symbol (name, ns, 0, &vtab);
if (vtab == NULL) if (vtab == NULL)
......
2015-07-13 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/64589
* gfortran.dg/pr64589.f90: New test.
2015-07-13 Renlin Li <renlin.li@arm.com> 2015-07-13 Renlin Li <renlin.li@arm.com>
PR rtl/66556 PR rtl/66556
......
! { dg-do compile }
! Just need to check if compiling and linking is possible.
!
! Check that the _vtab linking issue is resolved.
! Contributed by Damian Rouson <damian@sourceryinstitute.org>
module m
contains
subroutine fmt()
class(*), pointer :: arg
select type (arg)
type is (integer)
end select
end subroutine
end module
program p
call getSuffix()
contains
subroutine makeString(arg1)
class(*) :: arg1
select type (arg1)
type is (integer)
end select
end subroutine
subroutine getSuffix()
call makeString(1)
end subroutine
end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment