From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2997 invoked by alias); 25 May 2015 16:06:55 -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 2988 invoked by uid 89); 25 May 2015 16:06:55 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.2 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,KAM_ASCII_DIVIDERS,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=no version=3.3.2 X-HELO: mail-wi0-f180.google.com Received: from mail-wi0-f180.google.com (HELO mail-wi0-f180.google.com) (209.85.212.180) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Mon, 25 May 2015 16:06:45 +0000 Received: by wizk4 with SMTP id k4so52223476wiz.1 for ; Mon, 25 May 2015 09:06:42 -0700 (PDT) X-Received: by 10.180.215.101 with SMTP id oh5mr33561339wic.6.1432570002029; Mon, 25 May 2015 09:06:42 -0700 (PDT) MIME-Version: 1.0 Received: by 10.28.180.133 with HTTP; Mon, 25 May 2015 09:06:01 -0700 (PDT) From: =?UTF-8?B?TWFudWVsIEzDs3Blei1JYsOhw7Fleg==?= Date: Mon, 25 May 2015 17:47:00 -0000 Message-ID: Subject: [PATCH c/c++] use explicit locations for some warnings in c-pragma.c To: Gcc Patch List , "Joseph S. Myers" , Jason Merrill Content-Type: multipart/mixed; boundary=001a1135f95217096a0516ea32ff X-SW-Source: 2015-05/txt/msg02249.txt.bz2 --001a1135f95217096a0516ea32ff Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-length: 2269 This changes from: pragma-diag-3.c:2:9: warning: missing [error|warning|ignored] after =E2=80=98#pragma GCC diagnostic=E2=80=99 [-Wpragmas] #pragma GCC diagnostic /* { dg-warning "24:missing" "missing" { xfail *-*-* } } */ ^ pragma-diag-3.c:4:9: warning: expected [error|warning|ignored|push|pop] after =E2=80=98#pragma GCC diagnostic=E2= =80=99 [-Wpragmas] #pragma GCC diagnostic warn /* { dg-warning "24:expected" } */ ^ pragma-diag-3.c:6:9: warning: unknown option after =E2=80=98#pragma GCC diagnostic=E2=80=99 kind [-Wpragmas] #pragma GCC diagnostic ignored "-Wfoo" /* { dg-warning "32:unknown" } */ ^ to: pragma-diag-3.c:2:83: warning: missing [error|warning|ignored|push|pop] after =E2=80=98#pragma GCC diagnostic=E2= =80=99 [-Wpragmas] pragma-diag-3.c:4:24: warning: expected [error|warning|ignored|push|pop] after =E2=80=98#pragma GCC diagnostic=E2= =80=99 [-Wpragmas] #pragma GCC diagnostic warn /* { dg-warning "24:expected" } */ ^ pragma-diag-3.c:6:32: warning: unknown option after =E2=80=98#pragma GCC diagnostic=E2=80=99 kind [-Wpragmas] #pragma GCC diagnostic ignored "-Wfoo" /* { dg-warning "32:unknown" } */ ^ which is a clear improvement except for the fact that CPP_PRAGMA_EOL tokens do not have a valid location. I think this is a bug and will open a PR. Of course, this opens the door to giving better locations for all diagnostics in c-pragma.c, but I'll leave that for the future. Bootstrapped and regression tested on x86_64-linux-gnu. OK? gcc/cp/ChangeLog: 2015-05-25 Manuel L=C3=B3pez-Ib=C3=A1=C3=B1ez * parser.c (pragma_lex): Add loc argument. Rearrange the code to make it more similar to the C version. gcc/c-family/ChangeLog: 2015-05-25 Manuel L=C3=B3pez-Ib=C3=A1=C3=B1ez * c-pragma.c (handle_pragma_diagnostic): Use explicit location when warning. * c-pragma.h (pragma_lex): Add optional loc argument. gcc/c/ChangeLog: 2015-05-25 Manuel L=C3=B3pez-Ib=C3=A1=C3=B1ez * c-parser.c (pragma_lex): Add loc argument. gcc/testsuite/ChangeLog: 2015-05-25 Manuel L=C3=B3pez-Ib=C3=A1=C3=B1ez * gcc.dg/pragma-diag-3.c: New test. --001a1135f95217096a0516ea32ff Content-Type: text/plain; charset=US-ASCII; name="c-pragma.diff" Content-Disposition: attachment; filename="c-pragma.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ia3ys95y0 Content-length: 7207 SW5kZXg6IGdjYy9jLWZhbWlseS9jLXByYWdtYS5jCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tIGdjYy9jLWZhbWlseS9jLXByYWdtYS5jCShyZXZpc2lv biAyMjM1OTYpCisrKyBnY2MvYy1mYW1pbHkvYy1wcmFnbWEuYwkod29ya2lu ZyBjb3B5KQpAQCAtNzI1LDE0ICs3MjUsMjAgQEAgaGFuZGxlX3ByYWdtYV9k aWFnbm9zdGljKGNwcF9yZWFkZXIgKkFSRwogICB1bnNpZ25lZCBpbnQgb3B0 aW9uX2luZGV4OwogICBlbnVtIGNwcF90dHlwZSB0b2tlbjsKICAgZGlhZ25v c3RpY190IGtpbmQ7CiAgIHRyZWUgeDsKICAgc3RydWN0IGNsX29wdGlvbl9o YW5kbGVycyBoYW5kbGVyczsKKyAgbG9jYXRpb25fdCBsb2M7CiAKLSAgdG9r ZW4gPSBwcmFnbWFfbGV4ICgmeCk7CisgIHRva2VuID0gcHJhZ21hX2xleCAo JngsICZsb2MpOwogICBpZiAodG9rZW4gIT0gQ1BQX05BTUUpCi0gICAgR0ND X0JBRCAoIm1pc3NpbmcgW2Vycm9yfHdhcm5pbmd8aWdub3JlZF0gYWZ0ZXIg JTwjcHJhZ21hIEdDQyBkaWFnbm9zdGljJT4iKTsKKyAgICB7CisgICAgICB3 YXJuaW5nX2F0IChsb2MsIE9QVF9XcHJhZ21hcywKKwkJICAibWlzc2luZyBb ZXJyb3J8d2FybmluZ3xpZ25vcmVkfHB1c2h8cG9wXSBhZnRlciAlPCNwcmFn bWEgR0NDIGRpYWdub3N0aWMlPiIpOworICAgICAgcmV0dXJuOworICAgIH0K KwogICBraW5kX3N0cmluZyA9IElERU5USUZJRVJfUE9JTlRFUiAoeCk7CiAg IGlmIChzdHJjbXAgKGtpbmRfc3RyaW5nLCAiZXJyb3IiKSA9PSAwKQogICAg IGtpbmQgPSBES19FUlJPUjsKICAgZWxzZSBpZiAoc3RyY21wIChraW5kX3N0 cmluZywgIndhcm5pbmciKSA9PSAwKQogICAgIGtpbmQgPSBES19XQVJOSU5H OwpAQCAtNzQ3LDE1ICs3NTMsMjMgQEAgaGFuZGxlX3ByYWdtYV9kaWFnbm9z dGljKGNwcF9yZWFkZXIgKkFSRwogICAgIHsKICAgICAgIGRpYWdub3N0aWNf cG9wX2RpYWdub3N0aWNzIChnbG9iYWxfZGMsIGlucHV0X2xvY2F0aW9uKTsK ICAgICAgIHJldHVybjsKICAgICB9CiAgIGVsc2UKLSAgICBHQ0NfQkFEICgi ZXhwZWN0ZWQgW2Vycm9yfHdhcm5pbmd8aWdub3JlZHxwdXNofHBvcF0gYWZ0 ZXIgJTwjcHJhZ21hIEdDQyBkaWFnbm9zdGljJT4iKTsKKyAgICB7CisgICAg ICB3YXJuaW5nX2F0IChsb2MsIE9QVF9XcHJhZ21hcywKKwkJICAiZXhwZWN0 ZWQgW2Vycm9yfHdhcm5pbmd8aWdub3JlZHxwdXNofHBvcF0gYWZ0ZXIgJTwj cHJhZ21hIEdDQyBkaWFnbm9zdGljJT4iKTsKKyAgICAgIHJldHVybjsKKyAg ICB9CiAKLSAgdG9rZW4gPSBwcmFnbWFfbGV4ICgmeCk7CisgIHRva2VuID0g cHJhZ21hX2xleCAoJngsICZsb2MpOwogICBpZiAodG9rZW4gIT0gQ1BQX1NU UklORykKLSAgICBHQ0NfQkFEICgibWlzc2luZyBvcHRpb24gYWZ0ZXIgJTwj cHJhZ21hIEdDQyBkaWFnbm9zdGljJT4ga2luZCIpOworICAgIHsKKyAgICAg IHdhcm5pbmdfYXQgKGxvYywgT1BUX1dwcmFnbWFzLAorCQkgICJtaXNzaW5n IG9wdGlvbiBhZnRlciAlPCNwcmFnbWEgR0NDIGRpYWdub3N0aWMlPiBraW5k Iik7CisgICAgICByZXR1cm47CisgICAgfQogICBvcHRpb25fc3RyaW5nID0g VFJFRV9TVFJJTkdfUE9JTlRFUiAoeCk7CiAgIHNldF9kZWZhdWx0X2hhbmRs ZXJzICgmaGFuZGxlcnMpOwogICBmb3IgKG9wdGlvbl9pbmRleCA9IDA7IG9w dGlvbl9pbmRleCA8IGNsX29wdGlvbnNfY291bnQ7IG9wdGlvbl9pbmRleCsr KQogICAgIGlmIChzdHJjbXAgKGNsX29wdGlvbnNbb3B0aW9uX2luZGV4XS5v cHRfdGV4dCwgb3B0aW9uX3N0cmluZykgPT0gMCkKICAgICAgIHsKQEAgLTc2 MywxMSArNzc3LDEyIEBAIGhhbmRsZV9wcmFnbWFfZGlhZ25vc3RpYyhjcHBf cmVhZGVyICpBUkcKIAkJCQlpbnB1dF9sb2NhdGlvbiwgY19mYW1pbHlfbGFu Z19tYXNrLCAmaGFuZGxlcnMsCiAJCQkJJmdsb2JhbF9vcHRpb25zLCAmZ2xv YmFsX29wdGlvbnNfc2V0LAogCQkJCWdsb2JhbF9kYyk7CiAJcmV0dXJuOwog ICAgICAgfQotICBHQ0NfQkFEICgidW5rbm93biBvcHRpb24gYWZ0ZXIgJTwj cHJhZ21hIEdDQyBkaWFnbm9zdGljJT4ga2luZCIpOworICB3YXJuaW5nX2F0 IChsb2MsIE9QVF9XcHJhZ21hcywKKwkgICAgICAidW5rbm93biBvcHRpb24g YWZ0ZXIgJTwjcHJhZ21hIEdDQyBkaWFnbm9zdGljJT4ga2luZCIpOwogfQog CiAvKiAgUGFyc2UgI3ByYWdtYSBHQ0MgdGFyZ2V0ICh4eHgpIHRvIHNldCB0 YXJnZXQgc3BlY2lmaWMgb3B0aW9ucy4gICovCiBzdGF0aWMgdm9pZAogaGFu ZGxlX3ByYWdtYV90YXJnZXQoY3BwX3JlYWRlciAqQVJHX1VOVVNFRChkdW1t eSkpCkluZGV4OiBnY2MvYy1mYW1pbHkvYy1wcmFnbWEuaAo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLSBnY2MvYy1mYW1pbHkvYy1wcmFnbWEuaAkocmV2 aXNpb24gMjIzNTk2KQorKysgZ2NjL2MtZmFtaWx5L2MtcHJhZ21hLmgJKHdv cmtpbmcgY29weSkKQEAgLTIxMSwxMSArMjExLDExIEBAIGV4dGVybiB2b2lk IGNfaW52b2tlX3ByYWdtYV9oYW5kbGVyICh1bnMKIGV4dGVybiB2b2lkIG1h eWJlX2FwcGx5X3ByYWdtYV93ZWFrICh0cmVlKTsKIGV4dGVybiB2b2lkIG1h eWJlX2FwcGx5X3BlbmRpbmdfcHJhZ21hX3dlYWtzICh2b2lkKTsKIGV4dGVy biB0cmVlIG1heWJlX2FwcGx5X3JlbmFtaW5nX3ByYWdtYSAodHJlZSwgdHJl ZSk7CiBleHRlcm4gdm9pZCBhZGRfdG9fcmVuYW1pbmdfcHJhZ21hX2xpc3Qg KHRyZWUsIHRyZWUpOwogCi1leHRlcm4gZW51bSBjcHBfdHR5cGUgcHJhZ21h X2xleCAodHJlZSAqKTsKK2V4dGVybiBlbnVtIGNwcF90dHlwZSBwcmFnbWFf bGV4ICh0cmVlICosIGxvY2F0aW9uX3QgKmxvYyA9IE5VTEwpOwogCiAvKiBG bGFncyBmb3IgdXNlIHdpdGggY19sZXhfd2l0aF9mbGFncy4gIFRoZSB2YWx1 ZXMgaGVyZSB3ZXJlIHBpY2tlZAogICAgc28gdGhhdCAwIG1lYW5zIHRvIHRy YW5zbGF0ZSBhbmQgam9pbiBzdHJpbmdzLiAgKi8KICNkZWZpbmUgQ19MRVhf U1RSSU5HX05PX1RSQU5TTEFURSAxIC8qIERvIG5vdCBsZXggc3RyaW5ncyBp bnRvCiAJCQkJICAgICAgIGV4ZWN1dGlvbiBjaGFyYWN0ZXIgc2V0LiAgKi8K SW5kZXg6IGdjYy9jL2MtcGFyc2VyLmMKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0gZ2NjL2MvYy1wYXJzZXIuYwkocmV2aXNpb24gMjIzNTk2KQorKysg Z2NjL2MvYy1wYXJzZXIuYwkod29ya2luZyBjb3B5KQpAQCAtOTgzNSwxNiAr OTgzNSwxOSBAQCBjX3BhcnNlcl9wcmFnbWEgKGNfcGFyc2VyICpwYXJzZXIs IGVudW0gCiB9CiAKIC8qIFRoZSBpbnRlcmZhY2UgdGhlIHByYWdtYSBwYXJz ZXJzIGhhdmUgdG8gdGhlIGxleGVyLiAgKi8KIAogZW51bSBjcHBfdHR5cGUK LXByYWdtYV9sZXggKHRyZWUgKnZhbHVlKQorcHJhZ21hX2xleCAodHJlZSAq dmFsdWUsIGxvY2F0aW9uX3QgKmxvYykKIHsKICAgY190b2tlbiAqdG9rID0g Y19wYXJzZXJfcGVla190b2tlbiAodGhlX3BhcnNlcik7CiAgIGVudW0gY3Bw X3R0eXBlIHJldCA9IHRvay0+dHlwZTsKIAogICAqdmFsdWUgPSB0b2stPnZh bHVlOworICBpZiAobG9jKQorICAgICpsb2MgPSB0b2stPmxvY2F0aW9uOwor CiAgIGlmIChyZXQgPT0gQ1BQX1BSQUdNQV9FT0wgfHwgcmV0ID09IENQUF9F T0YpCiAgICAgcmV0ID0gQ1BQX0VPRjsKICAgZWxzZQogICAgIHsKICAgICAg IGlmIChyZXQgPT0gQ1BQX0tFWVdPUkQpCkluZGV4OiBnY2MvdGVzdHN1aXRl L2djYy5kZy9wcmFnbWEtZGlhZy0zLmMKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0gZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHJhZ21hLWRpYWctMy5jCShy ZXZpc2lvbiAwKQorKysgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHJhZ21hLWRp YWctMy5jCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDYgQEAKKy8qIHsgZGct ZG8gY29tcGlsZSB9ICovCisjcHJhZ21hIEdDQyBkaWFnbm9zdGljIC8qIHsg ZGctd2FybmluZyAiMjQ6bWlzc2luZyIgIm1pc3NpbmciIHsgeGZhaWwgKi0q LSogfSB9ICovCisKKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgd2FybiAvKiB7 IGRnLXdhcm5pbmcgIjI0OmV4cGVjdGVkIiB9ICovCisKKyNwcmFnbWEgR0ND IGRpYWdub3N0aWMgaWdub3JlZCAiLVdmb28iIC8qIHsgZGctd2FybmluZyAi MzI6dW5rbm93biIgfSAqLwpJbmRleDogZ2NjL2NwL3BhcnNlci5jCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tIGdjYy9jcC9wYXJzZXIuYwkocmV2aXNp b24gMjIzNTk2KQorKysgZ2NjL2NwL3BhcnNlci5jCSh3b3JraW5nIGNvcHkp CkBAIC0zMzE3NSwyOSArMzMxNzUsMjggQEAgY3BfcGFyc2VyX3ByYWdtYSAo Y3BfcGFyc2VyICpwYXJzZXIsIGVudQogfQogCiAvKiBUaGUgaW50ZXJmYWNl IHRoZSBwcmFnbWEgcGFyc2VycyBoYXZlIHRvIHRoZSBsZXhlci4gICovCiAK IGVudW0gY3BwX3R0eXBlCi1wcmFnbWFfbGV4ICh0cmVlICp2YWx1ZSkKK3By YWdtYV9sZXggKHRyZWUgKnZhbHVlLCBsb2NhdGlvbl90ICpsb2MpCiB7Ci0g IGNwX3Rva2VuICp0b2s7Ci0gIGVudW0gY3BwX3R0eXBlIHJldDsKKyAgY3Bf dG9rZW4gKnRvayA9IGNwX2xleGVyX3BlZWtfdG9rZW4gKHRoZV9wYXJzZXIt PmxleGVyKTsKKyAgZW51bSBjcHBfdHR5cGUgcmV0ID0gdG9rLT50eXBlOwog Ci0gIHRvayA9IGNwX2xleGVyX3BlZWtfdG9rZW4gKHRoZV9wYXJzZXItPmxl eGVyKTsKLQotICByZXQgPSB0b2stPnR5cGU7CiAgICp2YWx1ZSA9IHRvay0+ dS52YWx1ZTsKKyAgaWYgKGxvYykKKyAgICAqbG9jID0gdG9rLT5sb2NhdGlv bjsKIAogICBpZiAocmV0ID09IENQUF9QUkFHTUFfRU9MIHx8IHJldCA9PSBD UFBfRU9GKQogICAgIHJldCA9IENQUF9FT0Y7CiAgIGVsc2UgaWYgKHJldCA9 PSBDUFBfU1RSSU5HKQogICAgICp2YWx1ZSA9IGNwX3BhcnNlcl9zdHJpbmdf bGl0ZXJhbCAodGhlX3BhcnNlciwgZmFsc2UsIGZhbHNlKTsKICAgZWxzZQog ICAgIHsKLSAgICAgIGNwX2xleGVyX2NvbnN1bWVfdG9rZW4gKHRoZV9wYXJz ZXItPmxleGVyKTsKICAgICAgIGlmIChyZXQgPT0gQ1BQX0tFWVdPUkQpCiAJ cmV0ID0gQ1BQX05BTUU7CisgICAgICBjcF9sZXhlcl9jb25zdW1lX3Rva2Vu ICh0aGVfcGFyc2VyLT5sZXhlcik7CiAgICAgfQogCiAgIHJldHVybiByZXQ7 CiB9CiAK --001a1135f95217096a0516ea32ff--