re PR fortran/42257 ([OOP] Compiler segmentation fault due missing public statement)
gcc/fortran/ 2009-12-11 Janus Weil <janus@gcc.gnu.org> PR fortran/42257 * module.c (write_dt_extensions): Check for accessibility. gcc/testsuite/ 2009-12-11 Janus Weil <janus@gcc.gnu.org> PR fortran/42257 * gfortran.dg/extends_9.f03: New test. From-SVN: r155183
This commit is contained in:
parent
7780688fb8
commit
44e3a58e92
@ -1,3 +1,8 @@
|
|||||||
|
2009-12-11 Janus Weil <janus@gcc.gnu.org>
|
||||||
|
|
||||||
|
PR fortran/42257
|
||||||
|
* module.c (write_dt_extensions): Check for accessibility.
|
||||||
|
|
||||||
2009-12-11 Daniel Franke <franke.daniel@gmail.com>
|
2009-12-11 Daniel Franke <franke.daniel@gmail.com>
|
||||||
|
|
||||||
PR fortran/40290
|
PR fortran/40290
|
||||||
|
@ -4670,6 +4670,10 @@ write_equiv (void)
|
|||||||
static void
|
static void
|
||||||
write_dt_extensions (gfc_symtree *st)
|
write_dt_extensions (gfc_symtree *st)
|
||||||
{
|
{
|
||||||
|
if (!gfc_check_access (st->n.sym->attr.access,
|
||||||
|
st->n.sym->ns->default_access))
|
||||||
|
return;
|
||||||
|
|
||||||
mio_lparen ();
|
mio_lparen ();
|
||||||
mio_pool_string (&st->n.sym->name);
|
mio_pool_string (&st->n.sym->name);
|
||||||
if (st->n.sym->module != NULL)
|
if (st->n.sym->module != NULL)
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2009-12-11 Janus Weil <janus@gcc.gnu.org>
|
||||||
|
|
||||||
|
PR fortran/42257
|
||||||
|
* gfortran.dg/extends_9.f03: New test.
|
||||||
|
|
||||||
2009-12-11 Jason Merrill <jason@redhat.com>
|
2009-12-11 Jason Merrill <jason@redhat.com>
|
||||||
|
|
||||||
PR c++/42219
|
PR c++/42219
|
||||||
|
36
gcc/testsuite/gfortran.dg/extends_9.f03
Normal file
36
gcc/testsuite/gfortran.dg/extends_9.f03
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
! { dg-do compile }
|
||||||
|
!
|
||||||
|
! PR42257: [OOP] Compiler segmentation fault due missing public statement
|
||||||
|
!
|
||||||
|
! Contributed by Oystein Olsen <oystein.olsen@astro.uio.no>
|
||||||
|
|
||||||
|
MODULE run_example_fortran03
|
||||||
|
IMPLICIT NONE
|
||||||
|
PRIVATE
|
||||||
|
PUBLIC :: epoch
|
||||||
|
|
||||||
|
INTEGER, PARAMETER :: I4B = SELECTED_INT_KIND(9)
|
||||||
|
INTEGER, PARAMETER :: DP = SELECTED_REAL_KIND(15,307)
|
||||||
|
|
||||||
|
TYPE epoch
|
||||||
|
INTEGER(I4B) :: i = 2451545
|
||||||
|
REAL(DP) :: f = 0.5_DP
|
||||||
|
END TYPE
|
||||||
|
|
||||||
|
TYPE, EXTENDS(epoch) :: time
|
||||||
|
REAL(DP) :: t = 0.0_DP
|
||||||
|
END TYPE
|
||||||
|
END MODULE
|
||||||
|
|
||||||
|
|
||||||
|
USE run_example_fortran03
|
||||||
|
IMPLICIT NONE
|
||||||
|
|
||||||
|
CLASS(epoch), ALLOCATABLE :: e4
|
||||||
|
|
||||||
|
ALLOCATE(epoch::e4)
|
||||||
|
WRITE(*,*) e4%i, e4%f
|
||||||
|
|
||||||
|
END
|
||||||
|
|
||||||
|
! { dg-final { cleanup-modules "run_example_fortran03" } }
|
Loading…
Reference in New Issue
Block a user