Need someone with CLASS...
Steve Kargl
sgk@troutmask.apl.washington.edu
Mon Oct 24 22:10:00 GMT 2016
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
More information about the Fortran
mailing list