From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 60663 invoked by alias); 29 Aug 2018 00:01:51 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 60577 invoked by uid 89); 29 Aug 2018 00:01:44 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-2.9 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=eager X-HELO: gateway23.websitewelcome.com Received: from gateway23.websitewelcome.com (HELO gateway23.websitewelcome.com) (192.185.50.250) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 29 Aug 2018 00:01:43 +0000 Received: from cm10.websitewelcome.com (cm10.websitewelcome.com [100.42.49.4]) by gateway23.websitewelcome.com (Postfix) with ESMTP id C9087CD4D for ; Tue, 28 Aug 2018 19:01:41 -0500 (CDT) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with SMTP id unvNfDsGJBcCXunvUfiDul; Tue, 28 Aug 2018 19:01:40 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=Content-Type:MIME-Version:Message-ID:References:Date:Subject:Cc :To:From:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=GMeVFY2qejW/+y0PajR027R2R5cCz3pnwp9GbmvYCEU=; b=SOw84iDRkL0VDa1YX+J8tj3bnT MxLhFHJEG9y8dkyRxIVKDx/40+KY+8/f49EJ2mA7+O4CqiBXfF8BGbQpwW4ggCSRfsJa0fbxGvF9v gsoTSvXyM3WOS6eng8qXHMKxN; Received: from 75-166-85-72.hlrn.qwest.net ([75.166.85.72]:45634 helo=bapiya) by box5379.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.91) (envelope-from ) id 1funvN-003Som-67; Tue, 28 Aug 2018 19:01:29 -0500 From: Tom Tromey To: Tom Tromey Cc: Simon Marchi , Subject: Re: [PATCH 2/9] Use unsigned as base type for some enums Date: Wed, 29 Aug 2018 00:01:00 -0000 References: <20180827145620.11055-1-tom@tromey.com> <20180827145620.11055-3-tom@tromey.com> <86e5c223-9fcc-ad6c-7c29-63037f4bdb74@ericsson.com> <87r2ijy2zm.fsf@tromey.com> <87in3uxgei.fsf@tromey.com> Message-ID: <877ekaxcpz.fsf@tromey.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SW-Source: 2018-08/txt/msg00720.txt.bz2 >>>>> "Tom" == Tom Tromey writes: >>>>> "Simon" == Simon Marchi writes: Simon> Doing a static assert like this: Simon> + gdb_static_assert (std::is_unsigned::value); Simon> would enforce it at compile time, which is preferable than finding it at Simon> runtime. Tom> I made this change. This change turns out to be a bit too eager. It requires changing all the enums that are used by DEF_ENUM_FLAGS_TYPE; including gcc_qualifiers, which is maintained in gcc (and theoretically at least is C compatible) -- but operator~ is never actually used with these other enums, so there isn't any UB to avoid. However, moving the static assert to operator~ seems to work. Tom