This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
Need someone with CLASS...
- From: Steve Kargl <sgk at troutmask dot apl dot washington dot edu>
- To: fortran at gcc dot gnu dot org
- Date: Mon, 24 Oct 2016 14:54:08 -0700
- Subject: Need someone with CLASS...
- Authentication-results: sourceware.org; auth=none
- Reply-to: kargl at uw dot edu
knowledge to cast an eye at this small patch for
PR fortran/78092:
Index: gcc/fortran/trans-intrinsic.c
===================================================================
--- gcc/fortran/trans-intrinsic.c (revision 241492)
+++ gcc/fortran/trans-intrinsic.c (working copy)
@@ -6708,7 +6708,9 @@ gfc_conv_intrinsic_sizeof (gfc_se *se, g
TREE_OPERAND (argse.expr, 0), 0)))
|| GFC_DECL_CLASS (TREE_OPERAND (argse.expr, 0)))))
byte_size = gfc_class_vtab_size_get (TREE_OPERAND (argse.expr, 0));
- else if (arg->rank > 0)
+ else if (arg->rank > 0
+ || (arg->rank == 0
+ && arg->ref && arg->ref->type == REF_COMPONENT))
/* The scalarizer added an additional temp. To get the class' vptr
one has to look at the original backend_decl. */
byte_size = gfc_class_vtab_size_get (
The offend code in the PR compiles and now gives
% gfc7 -o z a.f90 && ./z
ivar2: 4
So, is the patch correct.
--
Steve