From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ciao.gmane.io (ciao.gmane.io [116.202.254.214]) by sourceware.org (Postfix) with ESMTPS id 744DB3858037 for ; Tue, 16 Nov 2021 20:46:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 744DB3858037 Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1mn5Lh-0008O8-5S for fortran@gcc.gnu.org; Tue, 16 Nov 2021 21:46:37 +0100 X-Injected-Via-Gmane: http://gmane.org/ To: fortran@gcc.gnu.org From: Harald Anlauf Subject: Re: [PATCH] Fortran: Mark internal symbols as artificial [PR88009,PR68800] Date: Tue, 16 Nov 2021 21:46:32 +0100 Message-ID: References: <20211114231748.376086cd@nbbrfq> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.12.0 In-Reply-To: <20211114231748.376086cd@nbbrfq> Content-Language: en-US Cc: gcc-patches@gcc.gnu.org X-Spam-Status: No, score=-3.4 required=5.0 tests=BAYES_00, FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, NICE_REPLY_A, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: fortran@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Fortran mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Nov 2021 20:46:41 -0000 Hi Bernhard, I'm trying to understand your patch. What does it really try to solve? PR88009 is closed and seems to have nothing to do with this. Harald Am 14.11.21 um 23:17 schrieb Bernhard Reutner-Fischer via Fortran: > Hi! > > Amend fix for PR88009 to mark all these class components as artificial. > > gcc/fortran/ChangeLog: > > * class.c (gfc_build_class_symbol, generate_finalization_wrapper, > (gfc_find_derived_vtab, find_intrinsic_vtab): Use stringpool for > names. Mark internal symbols as artificial. > * decl.c (gfc_match_decl_type_spec, gfc_match_end): Fix > indentation. > (gfc_match_derived_decl): Fix indentation. Check extension level > before incrementing refs counter. > * parse.c (parse_derived): Fix style. > * resolve.c (resolve_global_procedure): Likewise. > * symbol.c (gfc_check_conflict): Do not ignore artificial symbols. > (gfc_add_flavor): Reorder condition, cheapest first. > (gfc_new_symbol, gfc_get_sym_tree, > generate_isocbinding_symbol): Fix style. > * trans-expr.c (gfc_trans_subcomponent_assign): Remove > restriction on !artificial. > * match.c (gfc_match_equivalence): Special-case CLASS_DATA for > warnings. > > --- > gfc_match_equivalence(), too, should not bail-out early on the first > error but should diagnose all errors. I.e. not goto cleanup but set > err=true and continue in order to diagnose all constraints of a > statement. Maybe Sandra or somebody else will eventually find time to > tweak that. > > I think it also plugs a very minor leak of name in gfc_find_derived_vtab > so i also tagged it [PR68800]. At least that was the initial > motiviation to look at that spot. > We were doing > - name = xasprintf ("__vtab_%s", tname); > ... > gfc_set_sym_referenced (vtab); > - name = xasprintf ("__vtype_%s", tname); > > Bootstrapped and regtested without regressions on x86_64-unknown-linux. > Ok for trunk? >