From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com [IPv6:2a00:1450:4864:20::12e]) by sourceware.org (Postfix) with ESMTPS id 298AD3854821; Tue, 3 Nov 2020 12:09:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 298AD3854821 Received: by mail-lf1-x12e.google.com with SMTP id h6so21832114lfj.3; Tue, 03 Nov 2020 04:09:05 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=UUYNrHOQQGuSGniZrluao9BgEZuEbF6C8HnLT32HK4k=; b=htHhBKPXBTMxmRzKbEPV5n7kte+NNpwiJaqifEOu6ub86JsYgMl6buBwbqq2KR7Jjc IHm15DPXFgt7KmP5vVD+WKcEwjI1IT3G3wxhEloDc58qM5OQ2vwqU1tl2jNoKPxLSahf Sj1Q72v/TCy6mlG87+3tQd9dKNK0yevRhv6ieKykHNKP+IxKN8HL9Enpri3zVsMUqD9X 21ZgTX8jItSlDgd5sann+3QNIufTH0D7x330pCIo/1dAX+ChlF88t4COR4I4LhqM7Oiv 842FVFjZ1Gu5z/12hfsaBbCcQ8bksKiqSdc935wjJn2sz48wVOru8Us/RMMSEFT5HB7n +HKA== X-Gm-Message-State: AOAM530/YW8s6ZM170V5p6FopTQolXCUY6DBXGdZWoDpnmw680HVEAwa Dtn3GGZp8yjwBMQNzn2x6uzI+VlLDhX/jw8qgdM= X-Google-Smtp-Source: ABdhPJw8pbqfS4aRZW0yV/LZvjHk8RABzHL2FDRTfngWmqDXs55TKWRXUAXrlKR44LNCprWMK032bOcJgb/M7MA8Qn4= X-Received: by 2002:ac2:4ad0:: with SMTP id m16mr8081187lfp.421.1604405343878; Tue, 03 Nov 2020 04:09:03 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Paul Richard Thomas Date: Tue, 3 Nov 2020 12:08:52 +0000 Message-ID: Subject: Re: [PATCH] fortran/97652 - workaround missing canonicalization of PDT types To: Richard Biener Cc: gcc-patches , Tobias Burnus , "fortran@gcc.gnu.org" X-Spam-Status: No, score=-9.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, HTML_MESSAGE, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Nov 2020 12:09:06 -0000 Hi Richi, That's OK for master and as far back as you have the fortitude to go. Thanks for the fix. I agree that we should always pick up a canonical variant. When I finally get "a minute or two" to fix the rather fundamental problems with PDTs, I will make sure that this goes away. I am also curious about the time out - I'll take a look. Paul On Tue, 3 Nov 2020 at 11:35, Richard Biener wrote: > This marks PDT types as needing structural comparison for TBAA > if we didn't pick up a canonical variant (which we should IMHO > always do). This workaround fixes the gfortran.dg/pdt_14.f03 > fail which materializes as testsuite timeout which is quite > annoying. > > Bootstrap / regtest pending on x86_64-unknown-linux-gnu. > > OK? > > 2020-11-03 Richard Biener > > PR fortran/97652 > gcc/fortran > * trans-types.c (gfc_get_derived_type): When we didn't find > a canonical type mark it for structual equality. > --- > gcc/fortran/trans-types.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/gcc/fortran/trans-types.c b/gcc/fortran/trans-types.c > index b7129dcbe6d..4643fff243f 100644 > --- a/gcc/fortran/trans-types.c > +++ b/gcc/fortran/trans-types.c > @@ -2647,6 +2647,8 @@ gfc_get_derived_type (gfc_symbol * derived, int > codimen) > typenode = make_node (RECORD_TYPE); > TYPE_NAME (typenode) = get_identifier (derived->name); > TYPE_PACKED (typenode) = flag_pack_derived; > + if (!got_canonical) > + SET_TYPE_STRUCTURAL_EQUALITY (typenode); > derived->backend_decl = typenode; > } > > -- > 2.26.2 > -- "If you can't explain it simply, you don't understand it well enough" - Albert Einstein