From patchwork Wed Aug 11 16:03:33 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dodji Seketeli X-Patchwork-Id: 44637 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id AC2EF3985448 for ; Wed, 11 Aug 2021 16:04:09 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org AC2EF3985448 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1628697849; bh=7y+z+vbm6eQlCrGbteu1B1ZAZBiBUjNlMF78Ft0nyY8=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Help: List-Subscribe:From:Reply-To:From; b=wNC570+VSiXJnrWwGbBIR+ntOzvTofuKi2Eg3on2cjqMoxprRx/UGW08o/507E+gi kJUiqQ2aU3c5qesVqtXxM7DDxWM7fx0c1DRelJu3uXNvaAAUM9Fbg1abxfAswYXtxY s+J1DViiUdiNWYC53+A+VN4wfMw4k1PvhqJ/UCzg= X-Original-To: libabigail@sourceware.org Delivered-To: libabigail@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by sourceware.org (Postfix) with ESMTP id E8542383A832 for ; Wed, 11 Aug 2021 16:03:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E8542383A832 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-211-ExfOt0iSMXGYuisb9A7MMw-1; Wed, 11 Aug 2021 12:03:39 -0400 X-MC-Unique: ExfOt0iSMXGYuisb9A7MMw-1 Received: by mail-wm1-f69.google.com with SMTP id b3-20020a1c80030000b02902e6a7296cb3so1046783wmd.5 for ; Wed, 11 Aug 2021 09:03:39 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:organization:date:message-id :user-agent:mime-version; bh=7y+z+vbm6eQlCrGbteu1B1ZAZBiBUjNlMF78Ft0nyY8=; b=IFojhYeKspQlOM0F+aPRGzM5Ahth+TOBR1nr4eLhTlcl5Fg5d3tpGl9rIarvLROYxW fJmaY1qCsvPEABsowWVeAWgM/j8EGH88pjLkJ1fvtHisWTaobpTJR2u55NXx3vhWK5vF sa8IpK9I0PlhqhPX3DYYrsudQjRYMwpVcqrR0uJO7SJ6LM9LkNTJccJshDvkwz09Cdp/ NihkbnIp3KWaRrUq7+vyi/D2yBhkJ1ZGNREUzgfv/LqCtfX3wWzcwSLobOzAWyRzveWB 7y/4uABYbiye+xfNJ1S+DD44IdxbZwb13wj4dQ8tKd7fcPttaFyzxVvPF+ze2HRxgeJH bIRg== X-Gm-Message-State: AOAM530dXNoOGdqbzVfw3316awFwR2k2fbro4/zlFeDPAkj9oQPoxAkx Hhl6DzffnLXRgM4wY3OHTrB8nL5rHvPCZN8jfS1YIXb+J4mdiwVNkZQcuenLND03jenwQJyzkeZ /xCDPAbszhBRIN7GCZGiQsGsURZl4Fd6/DKZk2zplZ6zKQqBZg3r8ZktJ1bu9L4KbVEgM X-Received: by 2002:a1c:4c02:: with SMTP id z2mr17096024wmf.62.1628697817997; Wed, 11 Aug 2021 09:03:37 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwndJjgIgagTUUS3ASJE+S5QVxULA3H4cJJkEBc1qj+50bebJUDHkvo8BtWfdkUTtMN3sOhvQ== X-Received: by 2002:a1c:4c02:: with SMTP id z2mr17096006wmf.62.1628697817809; Wed, 11 Aug 2021 09:03:37 -0700 (PDT) Received: from localhost ([88.120.130.27]) by smtp.gmail.com with ESMTPSA id h11sm19940677wrq.64.2021.08.11.09.03.37 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Aug 2021 09:03:37 -0700 (PDT) Received: by localhost (Postfix, from userid 1000) id 0FACD5800FB; Wed, 11 Aug 2021 18:03:33 +0200 (CEST) To: libabigail@sourceware.org Subject: [PATCH 2/8, applied] ir: Tighten the test for anonymous data member Organization: Red Hat / France X-Operating-System: Fedora 35 X-URL: http://www.redhat.com Date: Wed, 11 Aug 2021 18:03:33 +0200 Message-ID: <8735rgdl4a.fsf@redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.2 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, 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: libabigail@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Mailing list of the Libabigail project List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-Patchwork-Original-From: Dodji Seketeli via Libabigail From: Dodji Seketeli Reply-To: Dodji Seketeli Errors-To: libabigail-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libabigail" Hello, In is_anonymous_data_member(), we only test that the name of the data member is empty; we forget to test that decl_base::get_is_anonymous() is true. This might make us wrongly think that a data member is anonymous in cases like in the equals() function for var_decl, where we temporarily set the name of the compared var_decl to "" before invoking the decl_base::operator==. We do this to perform the comparison by not taking into account the name of the variable. This hasn't yet happened on the binaries of the regression test suite, but it's definitely wrong so I am fixing it here. * src/abg-ir.cc: (is_anonymous_data_member): Consider decl_base::get_is_anonymous as well. Signed-off-by: Dodji Seketeli Applied to master. --- src/abg-ir.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/src/abg-ir.cc b/src/abg-ir.cc index 39540582..8e00eabf 100644 --- a/src/abg-ir.cc +++ b/src/abg-ir.cc @@ -5474,6 +5474,7 @@ bool is_anonymous_data_member(const var_decl& d) { return (is_data_member(d) + && d.get_is_anonymous() && d.get_name().empty() && is_class_or_union_type(d.get_type())); }