re PR fortran/41070 (Error: Components of structure constructor '' at (1) are PRIVATE)
2009-08-14 Janus Weil <janus@gcc.gnu.org> PR fortran/41070 * resolve.c (resolve_structure_cons): Make sure that ts.u.derived is only used if type is BT_DERIVED. 2009-08-14 Janus Weil <janus@gcc.gnu.org> PR fortran/41070 * gfortran.dg/structure_constructor_10.f90: New. From-SVN: r150781
This commit is contained in:
parent
c54d7dc9ec
commit
a2a0778d2d
4 changed files with 41 additions and 2 deletions
|
@ -1,3 +1,9 @@
|
|||
2009-08-14 Janus Weil <janus@gcc.gnu.org>
|
||||
|
||||
PR fortran/41070
|
||||
* resolve.c (resolve_structure_cons): Make sure that ts.u.derived is
|
||||
only used if type is BT_DERIVED.
|
||||
|
||||
2009-08-13 Janus Weil <janus@gcc.gnu.org>
|
||||
|
||||
PR fortran/40941
|
||||
|
|
|
@ -830,8 +830,8 @@ resolve_structure_cons (gfc_expr *expr)
|
|||
|
||||
/* See if the user is trying to invoke a structure constructor for one of
|
||||
the iso_c_binding derived types. */
|
||||
if (expr->ts.u.derived && expr->ts.u.derived->ts.is_iso_c && cons
|
||||
&& cons->expr != NULL)
|
||||
if (expr->ts.type == BT_DERIVED && expr->ts.u.derived
|
||||
&& expr->ts.u.derived->ts.is_iso_c && cons && cons->expr != NULL)
|
||||
{
|
||||
gfc_error ("Components of structure constructor '%s' at %L are PRIVATE",
|
||||
expr->ts.u.derived->name, &(expr->where));
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2009-08-14 Janus Weil <janus@gcc.gnu.org>
|
||||
|
||||
PR fortran/41070
|
||||
* gfortran.dg/structure_constructor_10.f90: New.
|
||||
|
||||
2009-08-14 Olatunji Ruwase <tjruwase@google.com>
|
||||
|
||||
* gcc.dg/pragma-re-1.c: Supported on all platforms.
|
||||
|
|
28
gcc/testsuite/gfortran.dg/structure_constructor_10.f90
Normal file
28
gcc/testsuite/gfortran.dg/structure_constructor_10.f90
Normal file
|
@ -0,0 +1,28 @@
|
|||
! { dg-do compile }
|
||||
!
|
||||
! PR 41070: [4.5 Regression] Error: Components of structure constructor '' at (1) are PRIVATE
|
||||
!
|
||||
! Contributed by Michael Richmond <michael.a.richmond@nasa.gov>
|
||||
|
||||
MODULE cdf_aux_mod
|
||||
IMPLICIT NONE
|
||||
|
||||
TYPE :: one_parameter
|
||||
CHARACTER (8) :: name
|
||||
END TYPE one_parameter
|
||||
|
||||
TYPE :: the_distribution
|
||||
CHARACTER (8) :: name
|
||||
END TYPE the_distribution
|
||||
|
||||
TYPE (the_distribution), PARAMETER :: the_beta = the_distribution('cdf_beta')
|
||||
END MODULE cdf_aux_mod
|
||||
|
||||
SUBROUTINE cdf_beta()
|
||||
USE cdf_aux_mod
|
||||
IMPLICIT NONE
|
||||
CALL check_complements(the_beta%name)
|
||||
END SUBROUTINE cdf_beta
|
||||
|
||||
! { dg-final { cleanup-modules "cdf_aux_mod" } }
|
||||
|
Loading…
Add table
Reference in a new issue