From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id C3EC338582B4 for ; Wed, 15 Jun 2022 13:33:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C3EC338582B4 Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-590-XMuR0DBCP2anvH-X4C99Eg-1; Wed, 15 Jun 2022 09:33:48 -0400 X-MC-Unique: XMuR0DBCP2anvH-X4C99Eg-1 Received: by mail-qt1-f199.google.com with SMTP id e22-20020ac84156000000b0030674a4eab0so471062qtm.20 for ; Wed, 15 Jun 2022 06:33:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=fqu7dWPu3fnw/BPzYW24NqOkkGyshaRsdOJKqWe8k0M=; b=4i6sVEepMcObWI09zpw4iV00bZQ/2nkPvndguklhxj7M0bGprBpbrRsXEOlnXHv3by jBY0HgPHhzRetnMJjWr3vve9So3rGQclP9Fm+e+RxJxNRnPnxnBs1xpHgEqYsI/KF21Y iypA3IiBKFzRyY7FzlNav7tLrckF6IfVawyPSGdnF9H5cEN3qGTyhRUiAnZAf5hXCbig XbEcT7De6fDL6cRPoAehaZRFF5Ewdu+qmPCcky2nzFHUXBuHoMFnpTrOQGdUiITVUh7w YdHyGThIsWrqin/HVsWLmYz4xE5ZGXFHMRq2e6eokORhmcUHqbjWWjqtRl5rPyUez1jk QgHw== X-Gm-Message-State: AOAM533Kmx74N03NuGaTSjQ9rzUReIu8eHuj/rrDdDPgcyHwqmMToJOM jCkCKEEROTCK6knY5G7bJ8EiU0ShwJzVIT+y8wqTGg+EzlhMhbnh0XAvaoOW3dr9A6B+tpLskcQ U4Tfp9vGxhsc2DL4MLw== X-Received: by 2002:a37:5404:0:b0:6a6:48c7:b137 with SMTP id i4-20020a375404000000b006a648c7b137mr7956835qkb.284.1655300028058; Wed, 15 Jun 2022 06:33:48 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw+a4ctrzC4OPcY+AFa3tbVCqQ+iRTvBJWBqARcpXSO30J8KQ7Ve2E3J2I/dnh36q9BR4p4fg== X-Received: by 2002:a37:5404:0:b0:6a6:48c7:b137 with SMTP id i4-20020a375404000000b006a648c7b137mr7956814qkb.284.1655300027791; Wed, 15 Jun 2022 06:33:47 -0700 (PDT) Received: from ?IPV6:2607:fea8:a261:5e00::b58? ([2607:fea8:a261:5e00::b58]) by smtp.gmail.com with ESMTPSA id w2-20020a05622a134200b003051ba1f8bcsm9392906qtk.15.2022.06.15.06.33.44 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 15 Jun 2022 06:33:46 -0700 (PDT) Message-ID: <63d8b4a2-77f5-a7f7-7b93-87f29185b91c@redhat.com> Date: Wed, 15 Jun 2022 09:33:44 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.10.0 Subject: Re: PING Re: [PATCH 07/10] value-relation.h: add 'final' and 'override' to relation_oracle vfunc impls To: David Malcolm , Aldy Hernandez Cc: gcc-patches References: <20220523192834.3785673-1-dmalcolm@redhat.com> <20220523192834.3785673-8-dmalcolm@redhat.com> <2edbd394896697ef6c72c3203a2fd22ecdb637fb.camel@redhat.com> <8d3e4e47a6bf2905b1a806234423c2eabd2d546b.camel@redhat.com> From: Andrew MacLeod In-Reply-To: <8d3e4e47a6bf2905b1a806234423c2eabd2d546b.camel@redhat.com> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-CA Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, NICE_REPLY_A, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org 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: Wed, 15 Jun 2022 13:33:51 -0000 On 6/13/22 21:24, David Malcolm wrote: > On Mon, 2022-06-13 at 20:45 -0400, Aldy Hernandez wrote: >> Final implies we can't further derive from the derived class, right? > "final" on a vfunc implies that nothing overrides that vfunc, but you > could still have further derived classes. > > You can think of it as "nothing further overrides this vfunc", as both > a hint to the human reader, and an optimization hint to the compiler. > > You can always just remove the "final" if you want to override it in > the future (unless the override is happening in a plugin, I suppose). > >> If so >> we may want just override. > "override" is indeed probably more useful, in that it documents to > compilers and human readers that you intend this to override a vfunc. > > FWIW I wrote the patch by using both "final" and "override", and then > dropping the "final" everywhere I needed to to get it to compile. > > Dave > > >> Andrew, what are your thoughts? >> >> Thanks for doing this. OK by me. Andrew