From patchwork Wed Jun 10 11:59:36 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Giuliano Procida X-Patchwork-Id: 39553 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 964D9386EC42; Wed, 10 Jun 2020 12:00:00 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 964D9386EC42 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1591790400; bh=a5B2FZST6GceWyyKZsyuGMfVNEkH58yGGW9hjY+TkEY=; h=Date:In-Reply-To:References:Subject:To:List-Id:List-Unsubscribe: List-Archive:List-Help:List-Subscribe:From:Reply-To:Cc:From; b=aqi8PXF4m0MtgPj2oukxmOT4L9uekU5BRM02XppUPvArj4xeOImBx3kEEvih1CN/F aK7WrkNvWBuiWABkcAU2RKrHGkd2A4rjXOT5i4ektt/kuVxVt5Q9p5mx7Gs3TeZqIM dTu61haUalyXZHbKxY/FZeu44+vbH3ZDoBkkdleE= X-Original-To: libabigail@sourceware.org Delivered-To: libabigail@sourceware.org Received: from mail-qt1-x84a.google.com (mail-qt1-x84a.google.com [IPv6:2607:f8b0:4864:20::84a]) by sourceware.org (Postfix) with ESMTPS id BB6DF3851C11 for ; Wed, 10 Jun 2020 11:59:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org BB6DF3851C11 Received: by mail-qt1-x84a.google.com with SMTP id o11so1628577qtm.7 for ; Wed, 10 Jun 2020 04:59:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc; bh=a5B2FZST6GceWyyKZsyuGMfVNEkH58yGGW9hjY+TkEY=; b=WEhDmckTLMS0NDmx0c+uAOJzilNxUgBSN+4nTeLefSYjAYPN17Rl0iK0fJL4ooSxir JFeqoLoTVkysE7UGuJwk1IAwLUhliksUwzBU6YOqgloGH61jeSq7NoDF8DZXnS9EigRD 1jq1ze/d84LbSG68QmrlJLHhUCiFKYS5Uhy8ICLnxanxyshiWz3J0RMMdg6xein14H4r 1EZJg6LcvbQk3NV5k8jeWVVcfZG1xJeOWiLrV8tR6bcdMqE2wzsud/cW6vT7eRROpuZh dL2fQpv33/XwWruMJJ1MjlwUTeUX3/0/O2V71JO+Ittdf4ztY9wWr+8NUl6UNz1FjfGu mw0A== X-Gm-Message-State: AOAM531SrPVQLPY4qbNXXBRP87OPokyoCc94CpkAObgPQeiNvU4gdd6U YsY4d2bMGqfBXR66C4YFdFtV5yyuHupgvZl4e7ukd/J0nLemTcC8LZk/cim3Vx+l1ahwNXFlGux p6bKRlw/an1pILvunvOMHDi0M60Lv7JaOYnYts/8uqi8byMUbgeOywKt6AyJ5dpmzaLKbRzk= X-Google-Smtp-Source: ABdhPJxBeD3t4fX7l8XRIftuttz+KzbToFaToBmsqNAgfBV0GAHAUmVKLttICbZb8RjlBpoHxJt5t+H8D7q4yg== X-Received: by 2002:a0c:e385:: with SMTP id a5mr2794560qvl.218.1591790398250; Wed, 10 Jun 2020 04:59:58 -0700 (PDT) Date: Wed, 10 Jun 2020 12:59:36 +0100 In-Reply-To: <20200610115940.26035-1-gprocida@google.com> Message-Id: <20200610115940.26035-8-gprocida@google.com> Mime-Version: 1.0 References: <20200610115940.26035-1-gprocida@google.com> X-Mailer: git-send-email 2.27.0.278.ge193c7cf3a9-goog Subject: [PATCH 07/11] Add invariant to enum_type_decl::set_is_declaration_only To: libabigail@sourceware.org X-Spam-Status: No, score=-23.5 required=5.0 tests=BAYES_00, DKIMWL_WL_MED, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) 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: Giuliano Procida via Libabigail From: Giuliano Procida Reply-To: Giuliano Procida Cc: kernel-team@android.com, Dodji Seketeli , gprocida@google.com Errors-To: libabigail-bounces@sourceware.org Sender: "Libabigail" From: Dodji Seketeli A declaration-only enum can't have enumerators, so let's enact that invariant. * src/abg-ir.cc (enum_type_decl::set_is_declaration_only): assert that a declaration-only enum can't have enumerator. Signed-off-by: Dodji Seketeli Signed-off-by: Giuliano Procida --- src/abg-ir.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/abg-ir.cc b/src/abg-ir.cc index 9f4890e8..4aaf3cca 100644 --- a/src/abg-ir.cc +++ b/src/abg-ir.cc @@ -15228,6 +15228,10 @@ enum_type_decl::set_is_declaration_only(bool f) else ABG_ASSERT_NOT_REACHED; } + + // A decl-only enum can't have enumerators. + if (priv_->is_declaration_only_ && !get_enumerators().empty()) + ABG_ASSERT_NOT_REACHED; } /// Get the pretty representation of the current instance of @ref