From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 106020 invoked by alias); 12 Jul 2019 18:35:07 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 106006 invoked by uid 89); 12 Jul 2019 18:35:07 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-23.6 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 spammy=suppress, sk:DECL_SO, sk:decl_so, Suppress X-HELO: mail-lf1-f68.google.com Received: from mail-lf1-f68.google.com (HELO mail-lf1-f68.google.com) (209.85.167.68) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 12 Jul 2019 18:35:05 +0000 Received: by mail-lf1-f68.google.com with SMTP id q26so7097445lfc.3 for ; Fri, 12 Jul 2019 11:35:05 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Matthew Beliveau Date: Fri, 12 Jul 2019 18:39:00 -0000 Message-ID: Subject: Re: [C++ PATCH] PR c++/90590 Suppress warning for enumeration value not handled in switch warning To: Jason Merrill Cc: gcc-patches@gcc.gnu.org, Marek Polacek Content-Type: multipart/mixed; boundary="00000000000032dd7d058d802b92" X-IsSubscribed: yes X-SW-Source: 2019-07/txt/msg00997.txt.bz2 --00000000000032dd7d058d802b92 Content-Type: text/plain; charset="UTF-8" Content-length: 805 Hi, This should fix the concerns you had! Now the function only gets the location from the type, and then only look for the name if the type's location is in the header. On Tue, Jul 9, 2019 at 5:21 PM Jason Merrill wrote: > > On 7/9/19 11:18 AM, Matthew Beliveau wrote: > > This patch suppresses the warning: "enumeration value not handled in > > switch", for enumerators that are defined in system headers and use > > reserved names. > > > + if (decl == NULL_TREE) > > + decl = lookup_name (TREE_PURPOSE (chain)); > > This seems likely to find an unrelated declaration. If we have a name > without a decl, I think it would be better to just look at that name > rather than try to find the corresponding decl. For location, we can > use the location of the type. > > Jason --00000000000032dd7d058d802b92 Content-Type: text/x-patch; charset="US-ASCII"; name="pr90590e.patch" Content-Disposition: attachment; filename="pr90590e.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jy0fxfj40 Content-length: 3913 Qm9vdHN0cmFwcGVkL3JlZ3Rlc3RlZCBvbiB4ODZfNjQtbGludXgsIG9rIGZv ciB0cnVuaz8KCjIwMTktMDctMTIgIE1hdHRoZXcgQmVsaXZlYXUgIDxtYmVs aXZlYUByZWRoYXQuY29tPgoKCVBSIGMrKy85MDU5MAoJKiBjLXdhcm4uYyAo Y19kb19zd2l0Y2hfd2FybmluZ3MpOiBTdXBwcmVzcyB3YXJuaW5nIGZvciBl bnVtZXJhdG9ycwoJd2l0aCByZXNlcnZlZCBuYW1lcyB0aGF0IGFyZSBpbiBh IHN5c3RlbSBoZWFkZXIuCgoJKiBjLWMrKy1jb21tb24vcHI5MDU5MC0xLmM6 IE5ldyB0ZXN0LgoJKiBjLWMrKy1jb21tb24vcHI5MDU5MC0xLmg6IE5ldyB0 ZXN0LgoJKiBjLWMrKy1jb21tb24vcHI5MDU5MC0yLmM6IE5ldyB0ZXN0LgoJ KiBjLWMrKy1jb21tb24vcHI5MDU5MC0yLmg6IE5ldyB0ZXN0LgoKZGlmZiAt LWdpdCBnY2MvYy1mYW1pbHkvYy13YXJuLmMgZ2NjL2MtZmFtaWx5L2Mtd2Fy bi5jCmluZGV4IGI1ZDA5ZTc2MWQ3Li5lMTIwYWQ5NmY0YiAxMDA2NDQKLS0t IGdjYy9jLWZhbWlseS9jLXdhcm4uYworKysgZ2NjL2MtZmFtaWx5L2Mtd2Fy bi5jCkBAIC0zNCw2ICszNCw3IEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhl IGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCiAjaW5jbHVkZSAiZ2NjLXJp Y2gtbG9jYXRpb24uaCIKICNpbmNsdWRlICJnaW1wbGlmeS5oIgogI2luY2x1 ZGUgImMtZmFtaWx5L2MtaW5kZW50YXRpb24uaCIKKyNpbmNsdWRlICJjLWZh bWlseS9jLXNwZWxsY2hlY2suaCIKICNpbmNsdWRlICJjYWxscy5oIgogI2lu Y2x1ZGUgInN0b3ItbGF5b3V0LmgiCiAKQEAgLTE2MjgsNiArMTYyOSwxNiBA QCBjX2RvX3N3aXRjaF93YXJuaW5ncyAoc3BsYXlfdHJlZSBjYXNlcywgbG9j YXRpb25fdCBzd2l0Y2hfbG9jYXRpb24sCiAgICAgICBpZiAoY29uZCAmJiB0 cmVlX2ludF9jc3RfY29tcGFyZSAoY29uZCwgdmFsdWUpKQogCWNvbnRpbnVl OwogCisgICAgICAvKiBJZiB0aGUgZW51bWVyYXRvciBpcyBkZWZpbmVkIGlu IGEgc3lzdGVtIGhlYWRlciBhbmQgdXNlcyBhIHJlc2VydmVkCisJIG5hbWUs IHRoZW4gd2UgY29udGludWUgdG8gYXZvaWQgdGhyb3dpbmcgYSB3YXJuaW5n LiAgKi8KKyAgICAgIGxvY2F0aW9uX3QgbG9jID0gREVDTF9TT1VSQ0VfTE9D QVRJT04KKwkgICAgKFRZUEVfU1RVQl9ERUNMIChUWVBFX01BSU5fVkFSSUFO VCAodHlwZSkpKTsKKyAgICAgIGlmIChpbl9zeXN0ZW1faGVhZGVyX2F0IChs b2MpCisJICAmJiBuYW1lX3Jlc2VydmVkX2Zvcl9pbXBsZW1lbnRhdGlvbl9w CisJICAgICAgKElERU5USUZJRVJfUE9JTlRFUiAoVFJFRV9QVVJQT1NFIChj aGFpbikpKSkKKwljb250aW51ZTsKKworCiAgICAgICAvKiBJZiB0aGVyZSBp cyBhIGRlZmF1bHRfbm9kZSwgdGhlIG9ubHkgcmVsZXZhbnQgb3B0aW9uIGlz CiAJIFdzd2l0Y2gtZW51bS4gIE90aGVyd2lzZSwgaWYgYm90aCBhcmUgZW5h YmxlZCB0aGVuIHdlIHByZWZlcgogCSB0byB3YXJuIHVzaW5nIC1Xc3dpdGNo IGJlY2F1c2UgLVdzd2l0Y2ggaXMgZW5hYmxlZCBieSAtV2FsbApkaWZmIC0t Z2l0IGdjYy90ZXN0c3VpdGUvYy1jKystY29tbW9uL3ByOTA1OTAtMS5jIGdj Yy90ZXN0c3VpdGUvYy1jKystY29tbW9uL3ByOTA1OTAtMS5jCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi40ZTExZGViYjdmYQot LS0gL2Rldi9udWxsCisrKyBnY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi9w cjkwNTkwLTEuYwpAQCAtMCwwICsxLDE1IEBACisvLyBQUiBjKysvOTA1OTAK Ky8vIHsgZGctb3B0aW9ucyAtV3N3aXRjaCB9CisjaW5jbHVkZSAicHI5MDU5 MC0xLmgiCisKK3ZvaWQKK2cgKCkKK3sKKyAgZW51bSBFIGUgPSBfQTsKKyAg c3dpdGNoIChlKSAvLyB7IGRnLWJvZ3VzICJlbnVtZXJhdGlvbiB2YWx1ZSAn X0MnIG5vdCBoYW5kbGVkIGluIHN3aXRjaCIgfQorICAgIHsKKyAgICBjYXNl IF9BOgorICAgIGNhc2UgX0I6CisgICAgICBicmVhazsKKyAgICB9Cit9CmRp ZmYgLS1naXQgZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1jb21tb24vcHI5MDU5MC0x LmggZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1jb21tb24vcHI5MDU5MC0xLmgKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjIyZjFhN2Q1 ZDUyCi0tLSAvZGV2L251bGwKKysrIGdjYy90ZXN0c3VpdGUvYy1jKystY29t bW9uL3ByOTA1OTAtMS5oCkBAIC0wLDAgKzEsMiBAQAorI3ByYWdtYSBHQ0Mg c3lzdGVtX2hlYWRlcgorZW51bSBFIHsgX0EsIF9CLCBfQyB9OwpkaWZmIC0t Z2l0IGdjYy90ZXN0c3VpdGUvYy1jKystY29tbW9uL3ByOTA1OTAtMi5jIGdj Yy90ZXN0c3VpdGUvYy1jKystY29tbW9uL3ByOTA1OTAtMi5jCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4yM2RhOTdmOWQ3NAot LS0gL2Rldi9udWxsCisrKyBnY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi9w cjkwNTkwLTIuYwpAQCAtMCwwICsxLDExIEBACisvLyBQUiBjKysvOTA1OTAK Ky8vIHsgZGctb3B0aW9ucyAtV3N3aXRjaCB9CisKKyNpbmNsdWRlICJwcjkw NTkwLTIuaCIKKwordm9pZAorZm4gKCkKK3sKKyAgc3dpdGNoIChjLmIpIC8v IHsgZGctYm9ndXMgImVudW1lcmF0aW9uIHZhbHVlIiB9CisgICAgOworfQpk aWZmIC0tZ2l0IGdjYy90ZXN0c3VpdGUvYy1jKystY29tbW9uL3ByOTA1OTAt Mi5oIGdjYy90ZXN0c3VpdGUvYy1jKystY29tbW9uL3ByOTA1OTAtMi5oCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5lNGY4NjM1 NTc2ZgotLS0gL2Rldi9udWxsCisrKyBnY2MvdGVzdHN1aXRlL2MtYysrLWNv bW1vbi9wcjkwNTkwLTIuaApAQCAtMCwwICsxLDQgQEAKKyNwcmFnbWEgR0ND IHN5c3RlbV9oZWFkZXIKK3N0cnVjdCB7CisgIGVudW0geyBfQSB9IGI7Cit9 IGM7Cg== --00000000000032dd7d058d802b92--