+2019-01-15 Paul Thomas <pault@gcc.gnu.org>
+
+ * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Deal with exprs
+ that are indirect references; ie. dummy arguments.
+
2019-01-13 Dominique d'Humieres <dominiq@gcc.gnu.org>
PR fortran/88803
{
gfc_conv_expr_descriptor (parmse, e);
+ if (POINTER_TYPE_P (TREE_TYPE (parmse->expr)))
+ parmse->expr = build_fold_indirect_ref_loc (input_location,
+ parmse->expr);
+
/* All the temporary descriptors are marked as DECL_ARTIFICIAL. If
the expression type is different from the descriptor type, then
the offset must be found (eg. to a component ref or substring)
else
{
gfc_conv_expr (parmse, e);
+
+ if (POINTER_TYPE_P (TREE_TYPE (parmse->expr)))
+ parmse->expr = build_fold_indirect_ref_loc (input_location,
+ parmse->expr);
+
/* Copy the scalar for INTENT_IN. */
if (e->expr_type == EXPR_VARIABLE && fsym->attr.intent == INTENT_IN)
parmse->expr = gfc_evaluate_now (parmse->expr, &parmse->pre);
array-descriptor actual to array-descriptor dummy, see
PR 41911 for why a check has to be inserted.
fsym == NULL is checked as intrinsics required the descriptor
- but do not always set fsym.
+ but do not always set fsym.
Also, it is necessary to pass a NULL pointer to library routines
which usually ignore optional arguments, so they can handle
these themselves. */
+2019-01-15 Paul Thomas <pault@gcc.gnu.org>
+
+ * gfortran.dg/ISO_Fortran_binding_2.c : Change reference to
+ ISO_Fortran_binding_2.h.
+
2019-01-15 Marek Polacek <polacek@redhat.com>
PR c++/88866