From patchwork Sun Mar 19 21:44:31 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Justin Brewer X-Patchwork-Id: 740758 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3vmXfp6q3Wz9s2x for ; Mon, 20 Mar 2017 08:44:50 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b="WSzQaqFu"; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:to:from:subject:message-id:date:mime-version :content-type:content-transfer-encoding; q=dns; s=default; b=AF0 W+/ElOoShPnm2TYHF2Vn+96uzeuYW807BP7qbexWqunb3cC3ZPZP0qD6/SUowT84 PYOtZRnEegpzNiEvC0S7Ljj9VKNBcfoagGVZoMGoE35SODAB6rH3o/2BgJANwzvE vrgO49XZ1Nk/2Da4p62YAE3PWK/+k7H8cL0i5Ehw= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:to:from:subject:message-id:date:mime-version :content-type:content-transfer-encoding; s=default; bh=Fv0kbtuqC 3/I3uGCbuibWycvrKE=; b=WSzQaqFuE4oeapZVfu5rkttQqKCcxZtjV75S9w3aE vDNpqdJeeQJpQvSkHRWlA9LObH2ltAAHPI6WUiLP5tuzcHkhVJZEZyVE4DIqsEh7 nOoOauYLuIKs1rNkOXzioVKDjoEKHpo86jDUb1GpNxSE4waVMeVhM6PgDhVKwuEC IY= Received: (qmail 15062 invoked by alias); 19 Mar 2017 21:44:42 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 15005 invoked by uid 89); 19 Mar 2017 21:44:39 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2 spammy=H*r:ip*192.168.1.2, H*Ad:D*auburn.edu, H*F:D*auburn.edu, HX-Microsoft-Antispam-PRVS:sk:SN1PR02 X-HELO: NAM03-DM3-obe.outbound.protection.outlook.com Authentication-Results: sourceware.org; dkim=none (message not signed) header.d=none; sourceware.org; dmarc=none action=none header.from=auburn.edu; To: From: Justin Brewer Subject: [PATCH] Fix assert() warning in gcc < 4.8 [BZ# 21242] Message-ID: <6619e7e2-248e-08bc-6dc5-7b4d11bea3df@auburn.edu> Date: Sun, 19 Mar 2017 17:44:31 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 X-ClientProxiedBy: CY4PR22CA0045.namprd22.prod.outlook.com (10.172.142.159) To SN1PR02MB2093.namprd02.prod.outlook.com (10.165.227.153) X-MS-Office365-Filtering-Correlation-Id: c7f31e3e-cb54-41ad-5ac5-08d46f1121b4 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:SN1PR02MB2093; X-Microsoft-Exchange-Diagnostics: 1; SN1PR02MB2093; 3:oxONeRfdKaIglsxhgif17OXCR7LhN+vLfY86viBYSodoV7lYf5/koHQSu7P0xVMvtHQp3m4ZPNLFlSZSQcuSsvebac8zSMZK+qmA1Kec84eqIWkEOOuFuKluochQMSMiozLZGytV7/t5zg9Kx21fB2AVRCjkxAc8lJb+usDqDDUeTDmeMNzCstcSZF1/xJSVogqPANyiPthD0g3aMiok+UdiV6673O59EHLkHBLO4PJ6OKOXjYBQIrHhpBv7ohFCETrO32pE9ghuqIGtW9E05Q==; 25:G95v++l+880uqof7Qd6SMXAIWyhthnlsw1oFI0z4xtfiow1BOX2DAyXZ3cILO1rAUUmjeHOW3o3Dodc4eytqmib3gZHChtbPz3bRid0gJAEb7MkOjOwh635ZvdPjJ+rUTE2D5zb1oZYJrHwd2QiCUYDALngCxIpOunA6Dh2Tg7xVm8VEkY9Uv4HZ0Nr1Iv7/CoTJrTU8m9caWvjLvjqOLwZFnBjPWFikfK0W8WK4P4Q4qPr4jgnyve/LeApu+JW9r/ypIdaKGfpEqKlITKoRlGPsUpL4HmKnSOTJ2+K0t0j+1I2/6xBaNszsZXuS06plcrnB9Ey+Cs1I2/YbTYuqXslz6nRVuEusoy91OgXnqdxj1B6oxRmI2FZrnbYT9is5O0HmYGaQYNS/blmMXhBvJNe9pfbbXafBjjs9p0k1ndRt+1z13Twxzt3JAzxEHUPGEvbGhGJzQQ7EZqwi31B+IQ== X-Microsoft-Exchange-Diagnostics: 1; SN1PR02MB2093; 31:2li3en8F2sbtKqiF+jUA0DoHQ0lWv4I6YOwAX/z8odtvpT0Jbdy87A57b1oaigdvRafiJQYAAcZJzCTU7Sy7ffd6ctfY1gTQ1ptkr7AWP2HSBYHMQoflBIEKlVxO4ksrgjIH7vOA57REFvZotZmC1VGMFVSMSwkkeHhI37I/HuM8eLbXpMVWXPRo4TW3+NB4j2moZ68tn6k5+GT/1MvZxns6EONNRwFZDxFraVpdYDYe4CBK2jSxfuJi9CVie5kWfrYR4JSmBU5qEuxDqF91RwePva3BChpXxG0Fiqjgfbs=; 20:astgD+TDgDNn2nrYYf1K3MvlLPWZ+il8lqDsuO1+00MVz/BoIqRxuEwk3DjD91MF/r3/LjNrfwRFhZ+1XCPVRmTv4FrM07L78/nAYM5NY/ol+BNYYktoSM/v4eFFaekR8pC2LBTJ7GhH79dIpkj2Vxrj2a175nmtQXIM337ASGU2y6muV7rvfPQWOE6CTUv9Qz/NvB9XoNq6woJHB5bBB7FgtLxkcVqDy6nID6AzUGXdxDj+9iL/GC9uDo7aKfGza5FjhK0dmwzVGuywHCDwgrHdEdnI+ahr0E5Y8e4BIkGKL9XF2L1p5hMUhwoWY3+9Dj7eR8wdOOt9dG49PPs0MyEL6AQZxDnA88M3E+P0enHKAmF3tXeGJaERnz5dqb9mj/4mZgrrhr1BhecvYkLkDx877iH91pSrtbsQwRgLFtwRU26GPhj2ew0RdNUY0A9DkELgsYVjih6A73xXQrCR8zC9s7XTywyG6u2vzBvpKWydTNmj4B/rs6+q7DDUK6lq X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6041248)(20161123555025)(20161123558025)(20161123562025)(20161123564025)(20161123560025)(6072148); SRVR:SN1PR02MB2093; BCL:0; PCL:0; RULEID:; SRVR:SN1PR02MB2093; X-Microsoft-Exchange-Diagnostics: 1; SN1PR02MB2093; 4:i5Vm/5WQ2a9R8GF6R3gIjpQjNY2NZKRWgLqV/S/Do4Aw3EqAxNxUncBexwNll62OWjjqfezumy0HsDWSi7+r5CVGEy1EU9XcHiaM/Wdl54FXOlbyp6UC15E12JD/TFM+16aT2cRdsrSPlvX9OtkcbdFCYURHAVnmhXNxER0crfonu3lPAfVy+3xsvCwi1Ltf4MMA77dk/8M+raY2cdMKlnhtIcVNMJzdVpL6LVCBPekEtcH8N8W0iawxDlLwydpckZUNqDq66ROLIU6VkoLDO1iDDDf/8qKopAsNUu5ZK4q128cZIkFbLGrlPu8kBnxMTf3hhvLF95oSSLboq1tmDMcnRno9kqA5WjC701Ee3jaoG6KnMqwBWzmkJwUW6eFTykeheEgSAB3w5XLcvAaY4wAF3pC9eLjS4b7xZ3urAabCqdtbCYDkRdTiP9kgHr5vHiytzNRb0i0DdA2LomkiSdW8hjNzYfh1HOP8wd+WWiP0zdJX9xgJzgCNvrE23kscwT+M8rI5K5oxndYFrkCuDv8lSmmEtc4Gr6DO6oGdI1htIZ8glCzUl88Pfzb1WpIH9rwmSTRsOiZFcaTneKLZ9/JlB0CBW3r8LTaAZwmdoUo= X-Forefront-PRVS: 025100C802 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(979002)(6009001)(6049001)(39450400003)(77096006)(23676002)(33646002)(25786008)(90366009)(6916009)(6486002)(75432002)(53936002)(4001350100001)(3846002)(6116002)(50466002)(5660300001)(65806001)(305945005)(64126003)(65826007)(66066001)(65956001)(31696002)(8676002)(7736002)(83506001)(2906002)(47776003)(189998001)(110136004)(38730400002)(50986999)(54356999)(81166006)(42186005)(31686004)(2351001)(36756003)(2870700001)(88552002)(117156001)(42262002)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1102; SCL:1; SRVR:SN1PR02MB2093; H:[192.168.1.2]; FPR:; SPF:None; MLV:ovrnspm; PTR:InfoNoRecords; LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtTTjFQUjAyTUIyMDkzOzIzOktBVGpaZ0dQSFdGSEZ3ZlVwVUh4YjNwNG1O?= =?utf-8?B?Nm1FQnduWEdQMFJFKzdLOUdweGUycDNHeWYxd1VEOVgzSDRMbHY0bkRLZERV?= =?utf-8?B?eU1sbDhnRGpQSGEyeEQ4dnRGcCtGYkhUMkIvTTB0aVNiYmlZTjY4SFhUUjM4?= =?utf-8?B?UlU0aVd1TTV0WmxTdjFtVkVGR0h1c0pXWEh5REFOVElmNG4rS05mRUtndGI3?= =?utf-8?B?Y1lteGpDWXUxdG1wa29Nbit2RTZTRVpkZXRnOGEvQzZ5RUJCSDE2a2J0RWlK?= =?utf-8?B?RVJsRzhadjRaQ1hLelZOSG5tcDJSWWhEb3BlNzRyVCtlREp6dzhGanRRVENo?= =?utf-8?B?YWR2NE5xZHJ1WFRhdllSamZpdW5FYWxQSVF6Zk5iVDI2RmMvRFJ4TWFTV2Yy?= =?utf-8?B?YlJTWm1lNzYrVkJhaU12YW56ZlU2ZTV6SVJuSXY5cXpGVmcyL1R0WlJyTHFH?= =?utf-8?B?L1BOMi9qWThKdnQ4TEJHdm9zck1sQ0h4aUNUdGFZOFNVMi9UY3pTYTUrOXoz?= =?utf-8?B?K1hTZzg2dll5UVQrcXJQZmM5aWNJR2tqZ2wxOUtKTHhxRXdXRUlNQ0RWN2ZR?= =?utf-8?B?OENiaFVmMkZBWUFqVEVpZG5tRzVQMWFVQlZSZm1kZWJ3bVhmMU5ha24wNjFC?= =?utf-8?B?K1RKWmZCT2NtRW5yZlpSUUp4V09KQ1ltOTRuVHBvbHJUZVlSWUxxL0tzRWFs?= =?utf-8?B?dHBJTFNnYmc3ZkhveVZ5cGZzMmlyU3hwYnJVMDVoY254aTZRQzZBRk52SW1P?= =?utf-8?B?c1gxMURBdHhUckRsaWhwOWsxS29PT2F5dVFYdVZGTkVobHBEUEZqK1VvQ2ps?= =?utf-8?B?NC9YQndUSlVwVXlsSzFGT1FtSlVXcmRRUUtyVktDeWhwejRGWk43eGRGcHVI?= =?utf-8?B?MzZHUWduVURmN0p4Wm4yTXVFclNqdlhmc0YzVnA5ZU9CQkZLN1VETjFpd2ps?= =?utf-8?B?ZXRhMVJFS1hkLzArUjNWUzN5Uk9rWG16NFRiYmJZcVQyamdVNGRTQUV4WXpM?= =?utf-8?B?TWVUWkhZc05XZWRKcmU0d0dKWko5ZjdaYy85L3B4aEN6MXpHeFpvQ1JYUThV?= =?utf-8?B?enUrNXdRc0Y0ZldmdW1jdG15VDZQQWllOC9KYTkvQjh4bXFTdHZiMnFITUx5?= =?utf-8?B?NVdTN2YrdDM0eHdNb1QxNUJIaHhKZ3Eyd0lQNGZHNjFHZHdwc3V1K1Y4Q0M0?= =?utf-8?B?aXI5WmpkSE5WQXQyd0RFdVdpSXllMjVvVjBOZkFoOTJsYXdHU2ZnMWIweDNw?= =?utf-8?B?NFB2TmQwK3A5Um1rOHZvYWVHSVBIU212Z2VhWHFmbUo3Y1ludXFDS2hCMnlV?= =?utf-8?B?YXVFc3kzN1c0Yi9jVFZXV0lHYjhUN1pUaWxiSWpaa1RTV3grK0IvZm1KSVpr?= =?utf-8?B?VWh3WVZOai9yMUhIbVpZd0Mrbnp0elltR1ExejJ2QW93WE5XNlNuMnlMNm9v?= =?utf-8?B?Q0xoU0tJQjJ4S0VGeVBPeERDTnpEVnZQQTVPNC9xSjJxWVA2ZVY2WURiR0Rn?= =?utf-8?B?bFpSNFA3RmhwbjkxbmZhckFHV0VMTUQ4Z3ptV3VhL3JYNTRBNVorR2QzYjZU?= =?utf-8?Q?GOBH5WYCKX3fNhUzVfnVlbvArCov9Hy4ETDUSa6SM5tg=3D?= X-Microsoft-Exchange-Diagnostics: 1; SN1PR02MB2093; 6:BxQuCHjCYvjaJkzMVP5agX57/pLRLNz0gpOxBH7BMqYMRnOpLZjNsFCbTh9Y4Lgk1W3esGjSN3lL9OgbASSoILWAaOC+hlk+eWG34PCDMBaweTQMomy3ZLJIOorNJ/RYsQEkAMPiNY1j9pPPoEtfgTTukGK3PUaBlnK2wuYN/GGUbcgQKDrOiMQE07TnM6uSFBoA/YWV2iSz+AmvnGTlVH6dqxNbDjJJ/Bps0p3QJ46eSC+KCMvJhq3d0aQA1/iNsouZse/JJqUCUImhfCaGHJ91gtzUfojXOvhyPo7FHPBvKqBfCAbpQCd3DICFbmURm9hp9xjyrhmZKyBpDylL5roLdCfRyInrNm+dEZQnfrfuOEp1o60fFMmdnvtWhBz5xWyAwhn8KMjxxfb/6xGA6w==; 5:lLQP/QZgyzxrcgggjApmuXCiUgl8qf/I6fnb0L6KveQHW/5XZimZQo9InSE2YBUXnnTsP3rJL8+5l11owFe4HOK2o4tEgwOotXJYi/58PAd9IOxWdsVqtkb0U0M6DEpdWIagCHiEe7uEEO2ZCTiiwQ==; 24:VnakJ/pypg3CRm4VMBNMVs4pHfLKetxoWS1Y6JeZ5ZSr9ERR7QDXad+Wqp05iPSFli/KKLYVaubh+PitUpQu0ANgBpyfSIkMtTXWg0AvXOw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SN1PR02MB2093; 7:nhj1VnJJ3c1RLY329W0YR3MVUJ3RIQg9NXSgrNDjQ2OuRAD7i9fP8QGAREoslH6/1O208qPvZmCGosGVkL+C/hjUk2vFtomsZKW4yNM5B83NnIqqh0tFUMZnQMmUHoDxxF0C/JJoQUD+WYix4Wz7NhChl2xv0qN/bAVHeFLfJVsnU40PhImevMxbXWgGgWuA0MZsZ6apz6/zdIIDSjVEVx3+XhhECUyUoOa8lcIQVNBqnC6a4g1hHmA4V6mfRkRgjtPfO9gMDo4fwZ1XKAQVMJA3bvUx5sWFLxx/9asf13pRpx0Qrdn0tTkD+RWSvTTBxIOkQwQ/J8I80aK7L9QWUA==; 20:02+uZ3ViXdJMa4/mSZ5eAKWQe14F5CoV6KOezhWmhWI1IEH2Jogo7Cim15sNn7OgBL53DFGV/a/URmOr29ms2fBJdNqR4iuS5npKdJKDNZLp05goYRVCVN9Ltz4JOZIHmjO6+MUMslb+RJU54+VM7rTW4syDexY6jIb8kycDN40= X-OriginatorOrg: auburn.edu X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2017 21:44:33.3805 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR02MB2093 When compiling with gcc-4.7 and earlier, with -pedantic but without -ansi, a warning is produced due to the braced group in the assert macro. This warning also occurs in the latest clang. In gcc >= 4.8, no warning is produced. Therefore, further restrict the usage of the braced group version of the macro to gcc 4.8 and later. This patch also fixes the warning in clang, since clang-3.9 sets the __GNUC_* version macros to mimic gcc 4.2.1 main.c: #include int main() { assert(1); } Without patched assert.h: $ gcc-4.8 -pedantic main.c $ gcc-4.7 -pedantic main.c main.c: In function ‘main’: main.c:2:14: warning: ISO C forbids braced-groups within expressions [-pedantic] $ gcc-4.4 -pedantic main.c main.c: In function ‘main’: main.c:2: warning: ISO C forbids braced-groups within expressions $ clang-3.9 -pedantic main.c main.c:2:14: warning: use of GNU statement expression extension [-Wgnu-statement-expression] int main() { assert(1); } ^ /usr/include/assert.h:95:6: note: expanded from macro 'assert' ({ \ ^ 1 warning generated. With patched assert.h: $ gcc-4.8 -pedantic main.c $ gcc-4.7 -pedantic main.c $ gcc-4.4 -pedantic main.c $ clang-3.9 -pedantic main.c --- assert/assert.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assert/assert.h b/assert/assert.h index 22f019537c..88dde76414 100644 --- a/assert/assert.h +++ b/assert/assert.h @@ -85,7 +85,7 @@ __END_DECLS /* When possible, define assert so that it does not add extra parentheses around EXPR. Otherwise, those added parentheses would suppress warnings we'd expect to be detected by gcc's -Wparentheses. */ -# if !defined __GNUC__ || defined __STRICT_ANSI__ +# if !(defined __GNUC__ && __GNUC_PREREQ(4,8)) || defined __STRICT_ANSI__ # define assert(expr) \ ((expr) \ ? __ASSERT_VOID_CAST (0) \