From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 126848 invoked by alias); 8 May 2019 18:41:08 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 126832 invoked by uid 89); 8 May 2019 18:41:07 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.4 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,KAM_NUMSUBJECT,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=no version=3.3.1 spammy=supplementary, sincerely, explain X-HELO: mail-lj1-f171.google.com Received: from mail-lj1-f171.google.com (HELO mail-lj1-f171.google.com) (209.85.208.171) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 08 May 2019 18:41:06 +0000 Received: by mail-lj1-f171.google.com with SMTP id 14so592895ljj.5; Wed, 08 May 2019 11:41:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=XGyOeTeh9hkkakFbuFaqdSzLuWtACOsGPkw6YusEY2I=; b=IMV0iYjTNlxjbh0HYNhfx2MSfA5kX5bT/vjta3tG8ApQj5PPmjziIbehMvWwGiVRHv 7/Z9qn+gyg/m7mjueou0QnYzxiNDpOi9Gw1qAYIahg7FU2pR0gVZGXjy5vuU+6fKl+TF xbHFSAbtzS0C7jc/+bcBpKEFa9b7svNnjuudPBSp9gFX+1TNDbq105xm9WvFevHI8PK3 gwCP505TUPgFzCE0IrXdxg3tLDcoZ5Zy0uVd/s8B1tk6HQZRneYaGUc8OmNxRiaG1cCM kLAhgC7bWMuxO0lAATQbucMX3OTMTnjFXV2Cg+zecH2D6cq6RiEme0Go4SwIRS8SZV4A QPxQ== MIME-Version: 1.0 References: In-Reply-To: From: Paul Richard Thomas Date: Wed, 08 May 2019 18:41:00 -0000 Message-ID: Subject: Re: [Patch, fortran] ISO_Fortran_binding PRs 90093, 90352 & 90355 To: "fortran@gcc.gnu.org" , gcc-patches Content-Type: text/plain; charset="UTF-8" X-SW-Source: 2019-05/txt/msg00380.txt.bz2 Unless there are any objections to this patch, I plan to commit to trunk and 9-branch tomorrow night, with the change to the testcase pointed out by Dominique. I sincerely hope that will be the end of CFI PRs for a little while, at least. I have a load of pending patches and want to get on with fixing PDTs. Cheers Paul On Mon, 6 May 2019 at 19:59, Paul Richard Thomas wrote: > > It helps to attach the patch! > > On Mon, 6 May 2019 at 19:57, Paul Richard Thomas > wrote: > > > > Unfortunately, this patch was still in the making at the release of > > 9.1. It is more or less self explanatory with the ChangeLogs. > > > > It should be noted that gfc_conv_expr_present could not be used in the > > fix for PR90093 because the passed descriptor is a CFI type. Instead, > > the test is for a null pointer passed. > > > > The changes to trans-array.c(gfc_trans_create_temp_array) have an eye > > on the future, as well as PR90355. I am progressing towards the point > > where all descriptors have 'span' set correctly so that > > trans.c(get_array_span) can be eliminated and much of the code in the > > callers can be simplified. > > > > Bootstrapped and regtested on FC29/x86_64 - OK for trunk and 9-branch? > > > > Paul > > > > 2019-05-06 Paul Thomas > > > > PR fortran/90093 > > * trans-decl.c (convert_CFI_desc): Test that the dummy is > > present before doing any of the conversions. > > > > PR fortran/90352 > > * decl.c (gfc_verify_c_interop_param): Restore the error for > > charlen > 1 actual arguments passed to bind(C) procs. > > Clean up trailing white space. > > > > PR fortran/90355 > > * trans-array.c (gfc_trans_create_temp_array): Set the 'span' > > field to the element length for all types. > > (gfc_conv_expr_descriptor): The force_no_tmp flag is used to > > prevent temporary creation, especially for substrings. > > * trans-decl.c (gfc_trans_deferred_vars): Rather than assert > > that the backend decl for the string length is non-null, use it > > as a condition before calling gfc_trans_vla_type_sizes. > > * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): 'force_no_tmp' > > is set before calling gfc_conv_expr_descriptor. > > * trans.c (get_array_span): Move the code for extracting 'span' > > from gfc_build_array_ref to this function. This is specific to > > descriptors that are component and indirect references. > > * trans.h : Add the force_no_tmp flag bitfield to gfc_se. > > > > 2019-05-06 Paul Thomas > > > > PR fortran/90093 > > * gfortran.dg/ISO_Fortran_binding_12.f90: New test. > > * gfortran.dg/ISO_Fortran_binding_12.c: Supplementary code. > > > > PR fortran/90352 > > * gfortran.dg/iso_c_binding_char_1.f90: New test. > > > > PR fortran/90355 > > * gfortran.dg/ISO_Fortran_binding_4.f90: Add 'substr' to test > > the direct passing of substrings as descriptors to bind(C). > > * gfortran.dg/assign_10.f90: Increase the tree_dump count of > > 'atmp' to account for the setting of the 'span' field. > > * gfortran.dg/transpose_optimization_2.f90: Ditto. -- "If you can't explain it simply, you don't understand it well enough" - Albert Einstein