From patchwork Tue Dec 12 21:37:38 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Marchi X-Patchwork-Id: 24896 Received: (qmail 11066 invoked by alias); 12 Dec 2017 21:37:57 -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 11052 invoked by uid 89); 12 Dec 2017 21:37:57 -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= X-HELO: sessmg23.ericsson.net Received: from sessmg23.ericsson.net (HELO sessmg23.ericsson.net) (193.180.251.45) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 12 Dec 2017 21:37:55 +0000 Received: from ESESSHC007.ericsson.se (Unknown_Domain [153.88.183.39]) by sessmg23.ericsson.net (Symantec Mail Security) with SMTP id A9.F1.13994.03C403A5; Tue, 12 Dec 2017 22:37:52 +0100 (CET) Received: from EUR03-VE1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.39) with Microsoft SMTP Server (TLS) id 14.3.352.0; Tue, 12 Dec 2017 22:37:52 +0100 Received: from elxacz23q12.ca.am.ericsson.se (192.75.88.130) by DB4PR07MB315.eurprd07.prod.outlook.com (2a01:111:e400:982f::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.323.4; Tue, 12 Dec 2017 21:37:50 +0000 From: Simon Marchi To: CC: Simon Marchi Subject: [PATCH] Ignore warning about using different types of enums in switch Date: Tue, 12 Dec 2017 16:37:38 -0500 Message-ID: <1513114658-9643-1-git-send-email-simon.marchi@ericsson.com> MIME-Version: 1.0 X-ClientProxiedBy: MWHPR15CA0036.namprd15.prod.outlook.com (2603:10b6:300:ad::22) To DB4PR07MB315.eurprd07.prod.outlook.com (2a01:111:e400:982f::23) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f03ccc8c-2413-493f-9993-08d541a89852 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307); SRVR:DB4PR07MB315; X-Microsoft-Exchange-Diagnostics: 1; DB4PR07MB315; 3:xzuYvocLqMkLhs48b67YYhyIEoeVQ8D6+oCLnkHSk+DlhO/RViU1QoTqHFcOn6PNQ1WrsOz78s6u7UMCgDUv46z7ZoqEVtl3OO4X4jb7dCydySWw3MtZpXKGqyKuIHmxD/R8YfK1MdaiK3Pv9bKAETTumyTFfXXDZFoSJvqt/lwfdvVSAcq7a5UztjUc7PW7qUFHEy8xlGfEZOcDKWv5c0CKbCBVHlK1mL892hEFByTxluSe3Gk3n80Q2mu2LZwR; 25:BslCKffG/sf0FC7njfBYPQq0vXKucZhQgqbCePq57t21Wp+r8h4epWZxyDfWQ4HW9djJskBGCQfp2Z4Bi42FhmwLvpfPGSPPYaasK0XbcTB74MmnUYcf3uCQ/kLSGwZEowHT42e4Ttw8DBuSaWls1UAP57ngjGWanwZnbqV4Mz/YJJtf8WXfBSR55bdDcWaw+dU8jveWlvgdqAO5VNF44iapuS4zhSfNVFSqe9GXl5VlMUHNSH+jFb1MkIomBUvxxtET0EzI1PY0fv36vjkix56LR6bf84NkLOX7ZLxAGhja/nXeDrmDRqQgFeN5AjFENutN2zP+IzjNK0Ruq/gugeV0+8OOpBMlj/tSSXD3SYU=; 31:ia3LLt+f8j/l+z8eF8hExvsQTHWoYkWqvAvCmNAqZNiXcOVfcnREmYXsqCLp2upntkzOQqOoGTwq4CCTxpuzE/cw5JCGwMxOrtaLOo19T+EtCEarijeSs/9eUcX7X1A3JHWvSiwcw+E+NGkWYUTv7Ld1n23tGxGi6phLy4lVm56joBfhLEEOcckIbqVBTRijcC91B2apWy2bo8IUgkUVj4Bbzs/FOxf0H6rflY3PB3Y= X-MS-TrafficTypeDiagnostic: DB4PR07MB315: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; X-Microsoft-Exchange-Diagnostics: 1; DB4PR07MB315; 20:IFRIVUaCg4AGua2WsoExcbjL/nKH27ayw/4f5v02Si710g/6Au3Z/ty7phQOkdiDK/gynx1Y5SUeua+5bvmkopAvEpe2FhO1lkVnpUbWEQesKIGEiBirJyMg40BwunOXlu3pf8lglVYhJX5toO9NXIlGA5EN1h2D1OZ9rkGP9kW/YJYoeULpwmbNXHfPih1q8kusHBFyY1IixpDETCdzCVs6QSBHnLgq+MepoiKd0ANYsfttJ7SD7DuQCUMOIowT6uNf22vayFRvZgd9sFInOrLoosCRoyRq3u1oZpbNmLBQ6hxA6W2Wru/YAVnSX5DcCnPAmdeT67YfKzjPyG1aYPWT24i5VwEAqGztsLrEO0Gu4dsyTuOTik5i+luQUuJyXDplSvHZiqILgytzmAq/apSzxoo3ABJMMzzCwEBd4Sflg907UWWOLaUljg31SQnrYwqs106hNrlAPmFqaYyLckN30DEkct34CzeaCJayV0atxvmH20ayyWV3MnjXKr2k; 4:Vk7OwKlCsgiGT3NSMDjW9EzKVhk5xyWNIIS2vDu3eYFEXt796VR9P88aPM7po+eH+wJKfMIVu0YWK3yr+cgxJWFmwPqa0bWFwspMQm+wblG7Rp17xYU68dWKXN8ieEM4rF6geZek49NeInUyZXUY1J3GWWhEiiG5CY3WELdOrh4HuzzrJel0YfPcCtZhVwWW3QINbKW2oFsRHysQNZja6lRYKK6YoF4LtoVszx8o35yNYzLSw3JCosY5hQn8dASL5hrMUkqORP3/r3OUrVUJiw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(2401047)(5005006)(8121501046)(3231023)(3002001)(10201501046)(93006095)(93001095)(6041248)(20161123562025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123558100)(20161123564025)(6072148)(201708071742011); SRVR:DB4PR07MB315; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:DB4PR07MB315; X-Forefront-PRVS: 051900244E X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(366004)(346002)(39860400002)(376002)(199004)(189003)(54534003)(59450400001)(575784001)(51416003)(478600001)(6486002)(6512007)(2906002)(68736007)(7736002)(3846002)(50466002)(16526018)(81156014)(48376002)(86362001)(6116002)(52116002)(305945005)(8676002)(8936002)(2361001)(106356001)(53936002)(50226002)(2351001)(5660300001)(107886003)(16586007)(81166006)(25786009)(36756003)(4326008)(47776003)(97736004)(316002)(105586002)(6666003)(6916009)(66066001)(6506007)(386003); DIR:OUT; SFP:1101; SCL:1; SRVR:DB4PR07MB315; H:elxacz23q12.ca.am.ericsson.se; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB4PR07MB315; 23:eQyoDosmAVH4pXVqcPLYNskCwlfD98qxK/zlNeAdqN?= =?us-ascii?Q?wUx/C4fyC9iVgFXpNUit7yK5677HaYwqHx+8FoiEzy6Zn2w2vLbM/9XALZFw?= =?us-ascii?Q?DSPksdLeJS83zAZNbrTs5n7jYSE/YjR1x/YHtdlzHcQk5suvDK4K+ux+qXBN?= =?us-ascii?Q?9YuM0WElqgjgmfWE/yUS5g4iIgVGvUuTnIZNcmBLXoUxYMKBaKXbHdiW2xkO?= =?us-ascii?Q?xuL1DmlarwMWxgxClk/ilBa4QrKkJp0iOb9gPbrf5yD4vcACUrOofwzoba+T?= =?us-ascii?Q?/l0OlCcei+FP/R/CE7npWdwuQagpH4gnozcWpBzT4K+97go8MZnvKOCdlXqc?= =?us-ascii?Q?SjIZTOh4O+1l5MEasngOvE3KGE9l8mWWTS0XfD57wLgi8LKwHl33KI5RHiSt?= =?us-ascii?Q?mhnPCznJFaKJJIe+Jv5TqgBN+R5dt3fvbufscF4AvjwMOcsYJvkSCmYsgzFc?= =?us-ascii?Q?6Mmn6GDIG3MJPorykg+rO/yjBr8qD/olsXoE7gnqDOfZJk/GOZF32c1X4nST?= =?us-ascii?Q?veHF6nn0M1dJTaRYJ7JE8/NHcEG/llEgolNRcTxgvpAATFUig4egAKl/mr0R?= =?us-ascii?Q?rKbIH8K3T2mcwKplSub3xBZT4Aq6xctYDw2kJhcrf4AqCk0QUVkQW6jqxA0A?= =?us-ascii?Q?DR/ugt6xTGOdlZ8lfMWp2f8rWsy0E00Ft0N6ghP2+SWcdD40A4ZD2tRVFZIa?= =?us-ascii?Q?9wtPnJ+y3weraf6TL3+sPpf+68dvp2HSjH/g1i3t0U5wvCegkdb/cYZhOwIr?= =?us-ascii?Q?WG/AqxwKtHzSgdFPpZzhkTOSIc2ncowNMLa9Wr5b9nrqAXG3dsg5MkUSpV47?= =?us-ascii?Q?S0TWEZjfO975PaypzDiF7fsHAbL2r05dhYZBHeT01olk+TVgolTx4qg7g6e3?= =?us-ascii?Q?+PXYrlPrPCFlw1jc2cxwrxzrwkTlQAihwpa36jCWOC9FF/K4Egmvv1KxVr7U?= =?us-ascii?Q?gMfCZLAAwFiuzk1ZdOXwA3Xwhh0U8ajuUdLCa8fzD6e+oxRxh1TzWbTov2lm?= =?us-ascii?Q?+a5IfTohK0SOawwWFmRyVnN2MlacZmfQqrYsXrDwP2bxAgQxQjHx08b9jp6r?= =?us-ascii?Q?Pf7vhMWdgbCRh96EY//PMY1xkYDUcSyPmgDmi8PUiIs1A3MBzUzZUEEtCM0z?= =?us-ascii?Q?3uLhe6Be0=3D?= X-Microsoft-Exchange-Diagnostics: 1; DB4PR07MB315; 6:NJJNFUsEMz7z3u5D9JOOC3YYbl3YMVpZBVuNPrLLQBHgkUZqlM4SJBbKQacxtfZ78BpAQG0iROVg2iYEEktIPHgPPa7/7RxiBJq7QL5IJoBZH4ATfdCoGPiJqoGV78c/fEbywNWAH3ZT/rK9knmNLuvjxla332VWWchLU0xOyb0f4RuQU5d6VxVDoTO9U2sil+7Gcgie6gk+I2nf/qBWUkNo7I43tylfmSIQMAqizb4wWo0//9fR02v8ud+YlaVi9o8eRq413CvFklDRUIt/Xf5Ius3tnXoOStO3RlKVtkd6Yc6kvZ7VYL5Wz15+T+FYLHeRvV8umSr2+dkmtm9RkLpOUYnu2lPTzDsDOOK58Dg=; 5:k6dBQQdCVcvx/adlsCR4yOAeRU6PFWY3XoeYVq79vd1VscW1ErS/YgMiPAFDcE53yvICoHzgmHCst1TyBhFumW5InvWcGShomHLLdQoUd0hA/kB0dr6ojOQS6M6Sp6q56xQzfd9jaK5PwgwxZY/2qj/NV3PWSQnnUC3rsQd6kzk=; 24:62eWAaNGAK67vIUInWYLTAPnNjFrYcNscTXlB1P7eJd1iUkBMlBYko3WsdiHLZr5KHVFyfjO5+tAwKaoK0ihtRitAicnbc8JVUTSc5b/kNE=; 7:2DKpATVTGbIbY1BasVswq6Li8CaAHPfA0zld6izoGN0EzNMqw6YDHxUBo5pxQKheH6FmYxBxC1sjoSxmRwJ5FxI3OVi+BpnwTDXnSLJ8dVjmCSEVivL2GwRuwZmYXAJMNhzGrBtRMtDxuHTthW0nkR5fCK6Ofm6yJTuv/R9zE46QuYecMNTD+rYFIVehNpPg8bzn42hQnqL/iLGxz7BGMdQYbgX+MqI1CDytIcmrvBq601FGX2tveTIhaXXU8Rky SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Dec 2017 21:37:50.0216 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f03ccc8c-2413-493f-9993-08d541a89852 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR07MB315 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes When compiling with clang 6, I see a bunch of warnings like this: /home/emaisin/src/binutils-gdb/gdb/amd64-linux-tdep.c:1427:8: error: comparison of two values with different enumeration types in switch statement ('enum amd64_syscall' and 'amd 64_x32_syscall') [-Werror,-Wenum-compare-switch] case amd64_x32_sys_move_pages: ^~~~~~~~~~~~~~~~~~~~~~~~ In this switch, we indeed use enumerators of both types amd64_x32_syscall and amd64_syscall. This is done on purpose, and the enum values are chosen so that they are complementary. I think it's still a useful warning, so I chose to ignore just that particular case. gdb/ChangeLog: * common/diagnostics.h (DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES): New macro. * amd64-linux-tdep.c: Use it. --- gdb/amd64-linux-tdep.c | 5 +++++ gdb/common/diagnostics.h | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/gdb/amd64-linux-tdep.c b/gdb/amd64-linux-tdep.c index 87f09a4..1817456 100644 --- a/gdb/amd64-linux-tdep.c +++ b/gdb/amd64-linux-tdep.c @@ -363,6 +363,9 @@ amd64_all_but_ip_registers_record (struct regcache *regcache) static enum gdb_syscall amd64_canonicalize_syscall (enum amd64_syscall syscall_number) { + DIAGNOSTIC_PUSH + DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES + switch (syscall_number) { case amd64_sys_read: case amd64_x32_sys_read: @@ -1430,6 +1433,8 @@ amd64_canonicalize_syscall (enum amd64_syscall syscall_number) default: return gdb_sys_no_syscall; } + + DIAGNOSTIC_POP } /* Parse the arguments of current system call instruction and record diff --git a/gdb/common/diagnostics.h b/gdb/common/diagnostics.h index d6ab698..30c0fd6 100644 --- a/gdb/common/diagnostics.h +++ b/gdb/common/diagnostics.h @@ -38,6 +38,8 @@ 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") #elif defined (__GNUC__) /* GCC */ @@ -45,12 +47,15 @@ # define DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER # define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION \ DIAGNOSTIC_IGNORE ("-Wunused-function") +# define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES #else /* Other compilers */ # define DIAGNOSTIC_IGNORE_SELF_MOVE # define DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER # define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION +# define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES + #endif #endif /* COMMON_DIAGNOSTICS_H */