From patchwork Sun Dec 31 04:34:04 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Marchi X-Patchwork-Id: 25157 Received: (qmail 6611 invoked by alias); 31 Dec 2017 04:34:26 -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 6536 invoked by uid 89); 31 Dec 2017 04:34:22 -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 autolearn=ham version=3.3.2 spammy=Hx-languages-length:2795 X-HELO: sesbmg22.ericsson.net Received: from sesbmg22.ericsson.net (HELO sesbmg22.ericsson.net) (193.180.251.48) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sun, 31 Dec 2017 04:34:20 +0000 Received: from ESESSHC019.ericsson.se (Unknown_Domain [153.88.183.75]) by sesbmg22.ericsson.net (Symantec Mail Security) with SMTP id BF.2B.27591.9C8684A5; Sun, 31 Dec 2017 05:34:18 +0100 (CET) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.75) with Microsoft SMTP Server (TLS) id 14.3.352.0; Sun, 31 Dec 2017 05:34:17 +0100 Received: from elxacz23q12.lan (192.222.251.162) by AM3PR07MB306.eurprd07.prod.outlook.com (2a01:111:e400:881b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.386.4; Sun, 31 Dec 2017 04:34:15 +0000 From: Simon Marchi To: CC: Simon Marchi Subject: [pushed] Only ignore -Wenum-compare-switch if it exists Date: Sat, 30 Dec 2017 23:34:04 -0500 Message-ID: <1514694844-23092-1-git-send-email-simon.marchi@ericsson.com> MIME-Version: 1.0 X-ClientProxiedBy: BN6PR13CA0032.namprd13.prod.outlook.com (2603:10b6:404:13e::18) To AM3PR07MB306.eurprd07.prod.outlook.com (2a01:111:e400:881b::14) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: aa817da9-0ea8-4b6b-edf6-08d55007bfe0 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020020)(5600026)(4604075)(4534040)(4602075)(4627136)(201703031133081)(201702281549075)(2017052603307)(7153060); SRVR:AM3PR07MB306; X-Microsoft-Exchange-Diagnostics: 1; AM3PR07MB306; 3:5c4eu4ZiBqm/tgdqpP1uPhroyapMnz9+FIIjrNHwEosQCnoSwwY70ido6uxcZw5WovqFQCwyg8pLUnPmBZ3zxSPEIm3tXGS8mE2bOSgMYQq9z4+FRKoBOTQx8dJi0/FjDgcvW4PwaYoLa+hQYuZ9fFuiSlZ/joKs40D9n4/UXl7fCNgVvFGJaEKoWeaXZz8BxU4/4vMw4CRY44lXseQVoRGASJIKtQMqdWuDBo647mz8o/5QA5xbIZUG6KrIVYAV; 25:ZgjdOmcH+vRupCQ+DPuBrS6UmeEkOfCYo8UWl5hDYwLZTmqVS/miB+Ma0aGp+yMVm93/HsF9Dn19aQIpuhSgbVL2zv+0myFtSOJLI/KOh0YRSH5Z2SbIAW1Tz8p8CaU3R3pW+ufnnOh2hUv1QfrymXyN1UxHKwBg+9QghG/UoglGMUFj8DNzxpP0tC2ykaOx2HBeOY/6sSzbUwDkvWgQv3trAFmnUNWLLU9vzDj2mRZOq0N+POzQbWI1sw33zZYe2FK1pyruUgizuBSXJ149CuMwqIW0oOdbutPx3ffB6/SFZE4IttXTXfTWf5Kaj8CmfyEaa2oaZECdIuFo8Y+4itRL9HVmSjtdCqzkOfrwtFs=; 31:gAPL1U35xruJi2ELrtjY/d+l1QScv2tMpMbVbwxPuOT30y87ny2mHJIlBXsYX+pLr/1lCkmFkDlZfRtrsYOdt1oKxVRbCCwxL8mOS3/0xsyi4OF4u7JC4b9SblPPtVo35QIpgOjVTVrjqvvLgf1odZYXLwnU9howN+QGG4mOh/bRBrx6IvksxyGzQ2Cjafl/bWqlLN4ItX1wLd1tbJYqlCynECwV9lZ5Qg+N0CSP/Pw= X-MS-TrafficTypeDiagnostic: AM3PR07MB306: X-Microsoft-Exchange-Diagnostics: 1; AM3PR07MB306; 20:pDn3PTKLCVVzNbckL390hUeGToJu596SwBd4TQ3cqzRAigT5bGzYCjxC1MgZRy9Y1v3WAega5VQR/f8UgCySHiqoUTc+aWWQMiuzoas09yHODZHlJzX8nV8bcbBfwPt28KkWIZevsiF3vDFkzbGo9r3GxwAwLQnTvOE5CKvgQpFCRLAnX/k5/RxV+Q54wYUh/L04QUTifMlmZ7vHI//AD9Uox4C8PuTiHEzU2sr/lW2uwBDoBn71fd/MqkAWTE1M6p/b4QL9PAbjQZ8UUdIJVRsZwNtSoHPtNH6qYbWuVEmJrI0joQQXWQ05v4Dzh9/YQ/Gy3r6TCvVLzj//wuEpD4DzNv37cY6I4HIYLjqYe55E9NDqlrXAuBi7xxkuyh/stwS4Mhce4GmbRcyxhlLRKiC8A5WQe1PLeweXGB71T2U+eGNVFveQMQ6LY1zJHTid3MpqNGlvXBbWqu3rPqIL7im2reBXOU1aBT7R1fID6NOHXdgVZ2hAHvtr1tgFR3kq; 4:VJ/Y4qbg7PMl4tZhXvz+ybbDBE7Pm+o5feYvr+Rj33hQFBswo31joFVhtLAu3uglNqCvqvzgUhf2gKazcOHu52dKVPbpBOnQRLcHLHLejKpZX4YQDv+2DRSY1EQxUzhjdN9sFNm+LF8EnsWTYifCYgSqcm/opkOzL5LFpppytpr1RtI6LwqIdf4qEntwhGftYg4FK6qAosXF6Sx+WrUqajaUKAVB36UvuOVN2oT4rBS46ishV+zO+/bzW13ctBwCfThmNDx4mLqnZivmc+35uf+6EOq1p8Ebedsdg/eYnvCo42dvP0ujQ/3STQbVXI3u X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(37575265505322); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3231023)(944501075)(3002001)(6041268)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123558120)(20161123564045)(6072148)(201708071742011); SRVR:AM3PR07MB306; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:AM3PR07MB306; X-Forefront-PRVS: 0538A71254 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(396003)(376002)(39380400002)(39860400002)(366004)(346002)(189003)(199004)(54534003)(377424004)(59450400001)(305945005)(2906002)(5660300001)(36756003)(6666003)(4326008)(7736002)(47776003)(25786009)(107886003)(230783001)(6486002)(6916009)(2351001)(2361001)(105586002)(52116002)(6506007)(386003)(106356001)(51416003)(3846002)(6116002)(53936002)(478600001)(6512007)(316002)(16586007)(50226002)(575784001)(8936002)(16526018)(21086003)(81156014)(86362001)(8676002)(81166006)(66066001)(50466002)(48376002)(68736007)(69596002)(97736004)(4001150100001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM3PR07MB306; H:elxacz23q12.lan; 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) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM3PR07MB306; 23:2dj7WTl0tlukxndQ2rtGkBgT5MpEEBbuHLA4S5XpnK?= =?us-ascii?Q?6woEuHzLnGE1GkFHZEXMcExaDDbFHBxRIif/UbUKQJx7y+vz8U9o7ukHIBIk?= =?us-ascii?Q?qBHGYIsMdFBz9FcrCWvXc10pNWPfzRd6eRYzyxlypCreWOfHKi01Sg5iOQ3T?= =?us-ascii?Q?4EhSGLbA5c3QRglhAtT5GIvM9dtnW/WaO0rY8EStgYwcm440X70yUqi0JEgD?= =?us-ascii?Q?nA+JMNa0FKO2JMDGSXG3CRBH4ZCar31l/Z8d1JsWh+Nk1gQgk9DzHMnRFpx+?= =?us-ascii?Q?TkFHgdsEmvHhqMCAXuLZCZXksXgaPTZBSsmc+nDpiVKaxPyudBsVec4tQwS/?= =?us-ascii?Q?bCrtXjjc0lk6hMb5Y8iDyhHZa9T6kfzmFmmG3TnLFVFksvDQABUoJOYy0r8K?= =?us-ascii?Q?0Dpw5TA826XcMKdODuhJSwqo4wPZriYUGTfrJgTPu2drvh88aWXAdKn2rbwW?= =?us-ascii?Q?NHkCzZR2S3dfFDhfXWq++B0L7xgOEAp63obwN4XmFfaGDq+VoC9eGh+sQ1QN?= =?us-ascii?Q?uCIze53DkCIb5FJ0HAJ46EezLSWnFh7yKAm8uo/26vAU1tezZZHZp+qT9eDt?= =?us-ascii?Q?x5M85oNTpF1wEJRQjM8TmEM3az7saLH6MO280BELFgpZC5JMMQjkoeu3ruP8?= =?us-ascii?Q?wG1+W1KWY+NKb/TkSq74W0KvMJWWa6tnIx13dgAzj1u0R/41+/6CUaqUmWTL?= =?us-ascii?Q?wUZ6A7pmRzoMe0V3SbcpInI4MHJrwV/NCVakWbU3a8DR6FoReDUil8DFEikS?= =?us-ascii?Q?wPdLlxjVcsLjYv6rsEzMkDFjnwVBg6wB3vUAPafo6vCI544pjr2ETP1BCd6a?= =?us-ascii?Q?L/H7nd2mfoXDjyqaqm686pGYn79o9ifSsHuH3bBBUflL+jS/xwn83zzuU4ld?= =?us-ascii?Q?66ud0OLpcLRTqcYF+YX7uAyb8s2zyF9uxtZZDLq5oTZ4DsZVDkMiVUlyf17O?= =?us-ascii?Q?48FFVmCBWz+H9jm3+QUDVweg8kalpc6Vu+FYp4sPA+mwxZtLa3klfw3FV55p?= =?us-ascii?Q?yZqL2x9oT+63kpttggGPmKwc6G1v8UY4S0+0z1JR7jNbU0POQWHRtdTvKVtE?= =?us-ascii?Q?SOhppExduGIkT60qyI6YBdUaTIRD1f/RkV4VsPtBbMCFwnmlDHMMkJGMZhzi?= =?us-ascii?Q?dyze3g/p4pFOx4FpDkbpc+LSEZYqqZpI1jIZ8COlLvedHBPI6ykIu/vauRBn?= =?us-ascii?Q?foC2Sdp2ud2xMzCP/rUfAj0ihvnU2B40s0ILf7F1zDuzfDruHCR5+Rj0un01?= =?us-ascii?Q?RvZWat+iOfQ6MnesqQ+na+oifHIZTQDNKtpGzG?= X-Microsoft-Exchange-Diagnostics: 1; AM3PR07MB306; 6:QgFbFX5MnoVFZzODQ8KFbJ+V1oUxFXEOsuFh2J/RPHCgbNSgQyCW6/xGCTzMN6epS9jCrhiCzPWaSG3FU+dGVvsNMqDCcEVDSDnG25tRf3pBj8yvd9ComtmbXFACZ0DlxkDu60j0Dc1XObUUX+hmB/pilOkEJ6otjslM1TbuOc1pgp35g6O9NsmAXXs9Qd1vSGm6hsCC46fBfSnY4M+ag5PMlBzbR1k4SqrHZSjia4tXsrb3V+XBYxvXpQOmjOhT49tAUUoOulCo8VWwsMc5xSkgwBC71tFTFZNr7tXme1edbyMxweqH1B98Jmtfow+0Adsk9lSiRhPPLryMvjtbOe7LhLtXcANzIgrvBZ8jNUQ=; 5:ARJpzGCGexx+44heJ41wrxgev+auNH0YdYSXUK0F3wIA8k46ctW8e/Z0uIouVnXhyBJVdRIWWWNr5K9SmWq8T8b7LJuC6m4N58Tq3LdtDK03pXO6b1URZGa7CKX4D8yEy1dc/o/sbbk+I+h4jBL5ZHVPwTNES//RcuooWFmN3hU=; 24:2hBIsndxVxjN2ArG9s5y8HuieyvY+e4NwkLaqUPrrUOFcoJWxamrnhIglv7YwYC1WMxxEmz3a0vBkKrlc7ffckuzy1qKjOwJMGlIlxTdmx8=; 7:e3+Oq9y2oeuwY1Z3Mnl/8NEFDy4upX8k0Pp+i6m7bXIJOvUYN5Ds2QMMqZXzrhrtjVSJhkUvzexO7i52D7qmyhABQSMVclVoSwPdoVbL6SD1acm/krjA+7MDN6l32qZ/IUoKzTY6z3IQhS7qoq2ytPh3YlTb8xlTWVjOumcNztm/czLQWI96z/Tc45D6sN/axKxwE28nSOsQqvigSD0GDcmsgvk2+4gVm6eu+461hFTDBx9kl2GXkbzpdmCbfpGs SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Dec 2017 04:34:15.1194 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: aa817da9-0ea8-4b6b-edf6-08d55007bfe0 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM3PR07MB306 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes My patch dwarf2read: Silence -Wenum-compare-switch warning 132448f8359a268f34f074b0908b5255b568da06 made some parts of dwarf2read.c ignore warnings about switch using enums of different kinds. What I did not realize was that older Clang versions (prior to 6) did not have that warning, and therefore give this error: /home/emaisin/src/binutils-gdb/gdb/dwarf2read.c:24187:7: error: unknown warning group '-Wenum-compare-switch', ignored [-Werror,-Wunknown-pragmas] DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES ^ /home/emaisin/src/binutils-gdb/gdb/common/diagnostics.h:42:3: note: expanded from macro 'DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES' DIAGNOSTIC_IGNORE ("-Wenum-compare-switch") ^ /home/emaisin/src/binutils-gdb/gdb/common/diagnostics.h:27:3: note: expanded from macro 'DIAGNOSTIC_IGNORE' _Pragma (STRINGIFY (GCC diagnostic ignored option)) ^ :10:25: note: expanded from here GCC diagnostic ignored "-Wenum-compare-switch" ^ Clang has a way to test if it knows about a particular warning. This patch uses that feature to only define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES to something if the warning is recognized by the Clang version being used. I tested building dwarf2read.c with clang 4, 5, 6, as well as gcc. gdb/ChangeLog: * common/diagnostics.h (DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES): Only define if the compiler knows about -Wenum-compare-switch. --- gdb/ChangeLog | 6 ++++++ gdb/common/diagnostics.h | 9 ++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 7689e0e..edb3cd4 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,11 @@ 2017-12-30 Simon Marchi + * common/diagnostics.h + (DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES): Only + define if the compiler knows about -Wenum-compare-switch. + +2017-12-30 Simon Marchi + * dwarf2read.c (dwarf_decode_macro_bytes): Ignore -Wenum-compare-switch warning. (dwarf_decode_macros): Likewise. diff --git a/gdb/common/diagnostics.h b/gdb/common/diagnostics.h index 30c0fd6..c9ef6b6 100644 --- a/gdb/common/diagnostics.h +++ b/gdb/common/diagnostics.h @@ -38,9 +38,12 @@ DIAGNOSTIC_IGNORE ("-Wdeprecated-register") # define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION \ DIAGNOSTIC_IGNORE ("-Wunused-function") -# define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES \ - DIAGNOSTIC_IGNORE ("-Wenum-compare-switch") - +# if __has_warning ("-Wenum-compare-switch") +# define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES \ + DIAGNOSTIC_IGNORE ("-Wenum-compare-switch") +# else +# define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES +# endif #elif defined (__GNUC__) /* GCC */ # define DIAGNOSTIC_IGNORE_SELF_MOVE