From patchwork Tue Dec 5 21:20:40 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Simon Marchi X-Patchwork-Id: 24750 Received: (qmail 57375 invoked by alias); 5 Dec 2017 21:21:49 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 57009 invoked by uid 89); 5 Dec 2017 21:21:48 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.6 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, SPF_PASS autolearn=ham version=3.3.2 spammy=H*RU:193.180.251.37, HX-AuditID:sk:c1b4fb2, Hx-spam-relays-external:193.180.251.37 X-HELO: sesbmg23.ericsson.net Received: from sesbmg23.ericsson.net (HELO sesbmg23.ericsson.net) (193.180.251.37) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 05 Dec 2017 21:21:47 +0000 Received: from ESESSHC013.ericsson.se (Unknown_Domain [153.88.183.57]) by sesbmg23.ericsson.net (Symantec Mail Security) with SMTP id 0A.04.00337.8ED072A5; Tue, 5 Dec 2017 22:21:44 +0100 (CET) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.57) with Microsoft SMTP Server (TLS) id 14.3.352.0; Tue, 5 Dec 2017 22:20:57 +0100 Received: from [142.133.49.68] (192.75.88.130) by DB4PR07MB313.eurprd07.prod.outlook.com (2a01:111:e400:982f::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.282.3; Tue, 5 Dec 2017 21:20:53 +0000 Subject: Re: [PATCH] Replace gdb_static_assert with static_assert To: Simon Marchi , Yao Qi CC: References: <1512422710-26693-1-git-send-email-simon.marchi@ericsson.com> <86shcpp280.fsf@gmail.com> From: Simon Marchi Message-ID: <7e9d77f7-8ac0-d959-c150-57b8676ccfa3@ericsson.com> Date: Tue, 5 Dec 2017 16:20:40 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: X-ClientProxiedBy: MWHPR2201CA0072.namprd22.prod.outlook.com (2603:10b6:301:5e::25) To DB4PR07MB313.eurprd07.prod.outlook.com (2a01:111:e400:982f::13) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f69b03fd-fc90-4dd5-3dfb-08d53c26119d X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603286); SRVR:DB4PR07MB313; X-Microsoft-Exchange-Diagnostics: 1; DB4PR07MB313; 3:1/IqhvncKYRHiiX+yyGP409xdkiJ+/41bs+m7J8QEN9K66s2Y+g6I5b5WwBLlfvhxsKbxN2pwesNBpCUzObFCBW4wfOAEmxeqmxb36Yjk5aYcG60RoSNDYykOCd7l7XXoXgQDTi97KmaWvAAZ4PaGpI2AxG6ieUb7au1lq886L+c4XHYH9x+rBsnelieQycJHfpYXyT5QDiNKfatMA4VGt9xTqV9pxVCUUghmZ5skcQX3tHuOOBm34T7uAO1Zrkm; 25:4WewX7h2oqDdlL23ezjwvQPj3SZAn+wwUbzeEUK3pGSXLR2oZszave7xCbtVbmHevQlkSGy+2DbTbQQfAgIUVONVnp+IxofzPInv9tW7rH2ysDbG+fLdokM1hHofhbG+Zf3qxqNyviujPYf7Q4hQzAbV2tviPXCGQ4WqU6x3UpcEthuE2x0ILFZNGVNvaFVjpcLI/70FC/4TFrl5KuOcA7xqv4rpk1O+BctEEVZVpfxrs6xs3G6BXueyoE+r0vspO1/UkDrrJr5iifUvLlGk75UhvohG+A1vOTB6C/mwEIqjI9Dspz+Cqd/KwTrsrctk0m6Gc9vAKVW+XmTVlptNnA==; 31:Qpnn4zv3D6BOcqgFVcjwzPXNgDXroN69p8P50T6e5M2aI31arh5DPif0fY4U4Fih1NRqj3eXrr16WxitkKTLY81mP3MoErCeCaH1UKJ/zc9+qmPSV2+ne6ijOwo5TepMxzicEp6U3LrhC36J1orbSQL+Ce5lBWs26R8Jnm5Ldu1WW7Vv0Lot6BloOAv+eBQjmyrMPxzDcyplgHB2Ac6/XQSwAeUO/d6aQxhHgb8lf7k= X-MS-TrafficTypeDiagnostic: DB4PR07MB313: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; X-Microsoft-Exchange-Diagnostics: 1; DB4PR07MB313; 20:mTksnrepd4SvHkW06LUUuMgkyeygacvFlLU3ZOg+C3/plF6+/Xf5FrdM6NDtAcZS1n35TTuhXztNDYKDAy5e9muXN/NVIVFkkay+XoHuZrUXRa+EX2OYZ1uOnrNYQCvJHoQSrVA71touCtxsmm1ZloaS3Wl5x8xOWMmLAdZ6lBFg7yCDXKY28nYxbc2Ayo+eqpsKNY7o2Q0ArBCY1BdW3rMaBK9/COSa+kgjUUjO/Jpg3ilh3/YHWRpLOhYofG8ep5tBa/EzC+B7+j9iMrAfeL/vDOHymLe8pKP5/JQjwzt6BxHhDBNqWaPmk5+oNXV/z42Upb5Smf988NyQzvJ6zVVTcxdP5BrKQuF2443IMY82okLi17lwfBodVzFhks7C2mUegrYppFrcOOiXaIoPFT0qU33QB7fqYQ4sgGwPQf2ICArFvrtXKvRE1r5ddiTyeniRacg07tqPYBmkeCPyz5704oYOffLsZ+yyUsanN0NFXIcbMwekczhSCg+xCps8; 4:ZbsUc8Cd6aqJLqMwJta6X4bC+PZHaOTSUA4GZoszQo2k/3eutto4w7Te6jRYVDiNTlAHc0nkZYJqaxfHhuCH4d2W2vKr5SOuNbRbzFdye7a+7bktSxLVD8/C8fpZCMDuOZfMfTlY1cRtiftGXdoQspf3XVMN3LZLSfE6DsMfRF++ZzBmX2eK9BDUcgOhmpU1QElISv/HsetAepM/KlnssqCQPJbmW9va8ECqW9vgRPg/zaNZwURWW+fQkGKoNbST1Mn/Oe/G5b0skCWPeHEHc3wvJC4beSldDYxxeMsu/AknK+rw9s95WbKWCsGPywjepje0RJQk3wGw2NftxmFBww== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(37575265505322)(788757137089); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(3231022)(10201501046)(6041248)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123558100)(20161123560025)(20161123555025)(6072148)(201708071742011); SRVR:DB4PR07MB313; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:DB4PR07MB313; X-Forefront-PRVS: 0512CC5201 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6049001)(366004)(376002)(346002)(39860400002)(54534003)(24454002)(377424004)(43784003)(189003)(199004)(97736004)(49976008)(2950100002)(305945005)(31696002)(2906002)(65826007)(2870700001)(52116002)(76176011)(478600001)(36756003)(52146003)(2486003)(23676004)(25786009)(86362001)(575784001)(8936002)(16576012)(33646002)(229853002)(31686004)(68736007)(316002)(65956001)(53546010)(81166006)(83506002)(101416001)(81156014)(6116002)(47776003)(58126008)(3846002)(66066001)(5660300001)(105586002)(6666003)(6486002)(16526018)(110136005)(7736002)(64126003)(8676002)(53936002)(6246003)(106356001)(39060400002)(4326008)(65806001)(50466002)(78286006); DIR:OUT; SFP:1101; SCL:1; SRVR:DB4PR07MB313; H:[142.133.49.68]; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtEQjRQUjA3TUIzMTM7MjM6bEIycXNNVnNjTUlwb25Bbjl6S0dqQnZpdjhR?= =?utf-8?B?TFlMeFNIa3BITUp6MGpwZTkzUzRmZmMzR3VyVXNwd3J5N2pQRUpSRFU1bkwy?= =?utf-8?B?blI3SlVsSGFFWC8zS05BT3ZSaWw2aGJaUGZmQ3ZKUlhZbnhxRCtTdi9odzZL?= =?utf-8?B?UzdKQjNXVGZTOHBVbGI5bmhtRERubU91cmpLeFZNN1hqTG8wVmdwdUtpOFc0?= =?utf-8?B?eGZsbG5RWUtSVzhnemMyQ0JYOE54SEtjcElkemVKZXI4ZXFQRUtIVFhnaElw?= =?utf-8?B?Y1hWbE5jU3lNSWZyK01BWWRPSlRDZm9IaVVMeWNZcnZ1Q0J4UEtUWUJXYmdx?= =?utf-8?B?cUhRT012Q1ZtT2RMQng0UGNHanJBMm81MkszOGNHdm9CY3hsQjd3QjI0VEdy?= =?utf-8?B?SWxrZWdzNkNlL01zSDAwcTZrOStHV2NydndiblljSUFNajd2NEJ6T0VhZFk2?= =?utf-8?B?aUVMTFA0YzhzcjRIdm9vT0QyaEVRU0dBYjFRT1Jia3dnVDFqV21HdC9Tck83?= =?utf-8?B?d082WVZiOU1Gd1E2cytwRGsvVU03UUk4YTJ3MTdwVXpCTGNmK2l4N2krclI2?= =?utf-8?B?c3pqNVNzSFlPWnhxSE1BZ20zdjB2d0FPaEZGQjErVk1sOXVHd2tZcDRnT2dX?= =?utf-8?B?VlErVmhXS2hidzdISUwrdy9EMW54TXRTMGFyQTBDcytubUNjZVN1NlA1cWtr?= =?utf-8?B?YXhxU1NibmxlaTFIbXJGbFdycHhkUG92K0pPMTlXVTRsUG02OFJyT2tTNkxG?= =?utf-8?B?OXE1eGVyTituNjBoVHF4djZpT0lXNjk2VXAzZEZoSWx6QU5sM2lEVzZLV2xZ?= =?utf-8?B?NUg3eUZLNEUwb0s4NmpobHpacHFDa01nV1ZWZGlwT09JbGNLWFJvT1RrV1g2?= =?utf-8?B?dW5mL0NUUmFkdXdlTGpteVVQMi9SZ2szNWVyQk9XZkZIbk1STWlPbGhxc3p2?= =?utf-8?B?R1pwZGlZZHNsRmcySnlGd2JKMzMydmR4NzNWMzFRREdqTHZWV3dFdU1tZ0pR?= =?utf-8?B?LzBBbHBMclBRK2FjOVJ6TkE4WmtydjZyekYyTmJjMjl3NkU5YlA0cld0SUV6?= =?utf-8?B?V29odmFORmN6ODcvdm9YT2luS000VmJ3aUNvQmVaV0ZtWGVXSXdmU1VhcStm?= =?utf-8?B?NnhnZHZ2amY5SGpmcE9GSVltUi9HaFJMMEpjbGJtODN5aXpMZEdEemdDbWJO?= =?utf-8?B?RmtXcGpZeHorR1YwaTRqOEIyZWxxaFVORVloakdxL1prYTZJOVRWSDl2eUpM?= =?utf-8?B?TE9kdHloYmdJcTV6eUVGUUVLWEtWWEZ3ajIvTGNXdUxKSkYxaVFkS3YwTktI?= =?utf-8?B?VWlvaVYzWVpFNFNqWFc2WktxUTNLdEw5N2hHMHBOd0xxMUMrMTRCNCtIQmV0?= =?utf-8?B?cGVnNFZsWjBkVXRRa0h1MUhyMDBjdzhRZ3lkQ2t6a21wdGM3aFpJcHBvZitk?= =?utf-8?B?ZjMvTE9Wb3FsMUp4U0lvMmd3aXBkdVBLSWp2R3NpTWlCYlYvWjFXSWV1Q2dW?= =?utf-8?B?cUluS2xZWVFIeUNERU5XUEp4dVdqSVJTN1ZDcU5QdTl4azlVWXRMNzJmMkx6?= =?utf-8?B?R3JiR0FXZE9GMW5vT290VlAwOGc4MUx4cDdQWncwUWxBam9rUThCcDc5clF3?= =?utf-8?B?cllBcENqUlFlL2lYeTI0N2F2Um1meVpFemIxYkZaK0FGVk9FbXE2eldndmt2?= =?utf-8?B?cHV5RXRlbXdDaE95UzVRMFlKZ1hmMld6dG5EaVRwakpsdGFBRmFWdlBxYTd3?= =?utf-8?B?MHJsMzc2SGtvTDFZcGp1SWxCVERKbFZnZzhwaThmWExObU5GcEtnWnhyRjdR?= =?utf-8?B?dzMxTDAxS2U3czFVeVovY1Y3TXRJZTRYMFJHWGw5bUh3Yko2SkRCbTc0Qzlz?= =?utf-8?B?TlJTbWJEcE1RN1QrelpwUTJKb1JmT2hlZGI5T2FhNUgzdEhLQjkrTFJXczRM?= =?utf-8?B?TklCU0d6aTRpVFdmRUZ1eXlBV1lRd2RaVkNqa2d3Y213MTFOVytvYlVPamx4?= =?utf-8?B?YUY4eE1BZ1pmc3p4Y0lRUEZMWkZQejNVb1lBPT0=?= X-Microsoft-Exchange-Diagnostics: 1; DB4PR07MB313; 6:jE14egliQB8gqE6hSJLCvWpMFYZnCpmuTF0TO7cOEfiPO60aahRIPlblWfvSoZrhMq98Hbr5gxjT2JBpBqCYF9RgxPlyeSos0zaDya5uRNnxwfyZ4OHIPrBqUhci4atEmSQsMLtpBvNNrbg/nIY2QYF+Xvxleap5kfIxa1asTuKYzAsBAU3GcBlSSVkr08gWHjC5fkF8CyR9n1I765HrOgdTomrJA0+BFBWPkF4b4GkL2bHhhzgiN/+hVeKR6ib/pSgM87/1bsCQk96nCTOeQi6lgABtM/K8nUCyYbIjwgLLpWK5a6DqmEtPObKCu44+UMfJfQ3YSRI6WS2cQcd+tldNaIgTB0WAUjjMIQHr3dA=; 5:Vdxu+g8SfD8rU5ZxitsxKupuRw/QRjOZHFgC51zuEsW7p6XaCUTO4fmZEg0LkPp0pzZMHE6GluQ7RTitL7P3azdcJLQgRBJnpmfIeWZfJp+fMoecSEsIQmDV46hBBiVV4jVO0hav2u8t+b2TLMVRaS9rjAZuiFObPxWStYgOzgo=; 24:nOXIp1c7704JmN4zMjKZ5j+HZB1AstuD31JpnkP6LFuTPNPpB/y//wGK9MqJzNi3InG2D5juwJES0NXUaEaQzHPXVQ83bznV/wZ8oaeRLXY=; 7:2JcDdmmqNe3WMGKF/E+JPqWop6l/xXtUhvRj5+B+j1zQG3dJ7bOSF9KRX8DDW/aeAd5t2NaVjfgpOtJmgwS5OrBpnuYB7EFnXVNi5zokpoZzLW7jUfOxSNT2r4nz3F7bNCBN9JwOrZvqAGM7TGTXT7T3bd9XLwA541lydBDXzqvFOLoL0NKMFTqooRik4uFCKucpiXe4yn79FU/zOWq0SSTobZ/1sWjVLwFYJnI2jdp74YPdQRJ0dZpTtmNlK8lT SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2017 21:20:53.4109 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f69b03fd-fc90-4dd5-3dfb-08d53c26119d X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR07MB313 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes On 2017-12-05 11:32 AM, Simon Marchi wrote: > On 2017-12-05 11:29, Yao Qi wrote: >> Simon Marchi writes: >> >>> gdb/ChangeLog: >>> >>>     * common/gdb_assert.h: Remove. >> >>         * common/gdb_assert.h (gdb_static_assert): Remove. >> >> because you don't remove this file. > > Woops, thanks. > >>> -/* A static assertion.  This will cause a compile-time error if EXPR, >>> -   which must be a compile-time constant, is false.  */ >>> - >>> -#define gdb_static_assert(expr) \ >>> -  extern int never_defined_just_used_for_checking[(expr) ? 1 : -1] >> >> Did you consider define gdb_static_assert as static_assert ((expr), "")? >> You don't have to change anywhere else.  Additionally, one day we move >> to c++17, we can replace gdb_static_assert with static_assert globally. > > That's a good idea, I'll do that. > > Thanks, > > Simon Here's what I pushed. Thanks again for the suggestion. Simon From ed9376bd95c52ba00aa37b224b4407030a00d184 Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Tue, 5 Dec 2017 16:15:08 -0500 Subject: [PATCH] Redefine gdb_static_assert as static_assert Since we use C++11, we can use static_assert instead doing the trick that makes a negative-sized array if the expression is false. static_assert is built in the language and gives clearer error messages. To avoid modifying the usages of gdb_static_assert, redefine gdb_static_assert in terms of static_assert, passing an empty message. If we want to add an assert with a message, it's always possible to use static_assert directly. gdb/ChangeLog: * common/gdb_assert.h (gdb_static_assert): Redefine using static_assert. --- gdb/ChangeLog | 5 +++++ gdb/common/gdb_assert.h | 3 +-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 524eef3..ef0c4bd 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2017-12-05 Simon Marchi + * common/gdb_assert.h (gdb_static_assert): Redefine using + static_assert. + +2017-12-05 Simon Marchi + * ada-lang.c (ada_collect_symbol_completion_matches): Remove unused variables. (ada_is_redundant_range_encoding): Likewise. diff --git a/gdb/common/gdb_assert.h b/gdb/common/gdb_assert.h index 5de9d3f..20825c8 100644 --- a/gdb/common/gdb_assert.h +++ b/gdb/common/gdb_assert.h @@ -22,8 +22,7 @@ /* A static assertion. This will cause a compile-time error if EXPR, which must be a compile-time constant, is false. */ -#define gdb_static_assert(expr) \ - extern int never_defined_just_used_for_checking[(expr) ? 1 : -1] +#define gdb_static_assert(expr) static_assert (expr, "") /* PRAGMATICS: "gdb_assert.h":gdb_assert() is a lower case (rather than upper case) macro since that provides the closest fit to the