From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12456 invoked by alias); 29 Apr 2014 14:07:09 -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 12442 invoked by uid 89); 29 Apr 2014 14:07:08 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-ob0-f171.google.com Received: from mail-ob0-f171.google.com (HELO mail-ob0-f171.google.com) (209.85.214.171) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Tue, 29 Apr 2014 14:07:07 +0000 Received: by mail-ob0-f171.google.com with SMTP id uy5so276417obc.30 for ; Tue, 29 Apr 2014 07:07:05 -0700 (PDT) MIME-Version: 1.0 X-Received: by 10.60.132.75 with SMTP id os11mr2027050oeb.70.1398780425409; Tue, 29 Apr 2014 07:07:05 -0700 (PDT) Received: by 10.182.105.166 with HTTP; Tue, 29 Apr 2014 07:07:05 -0700 (PDT) In-Reply-To: References: Date: Tue, 29 Apr 2014 14:14:00 -0000 Message-ID: Subject: Re: -Wvariadic-macros does not print warning From: Prathamesh Kulkarni To: =?UTF-8?B?TWFudWVsIEzDs3Blei1JYsOhw7Fleg==?= Cc: "Joseph S. Myers" , Gcc Patch List Content-Type: multipart/mixed; boundary=047d7b471e7060792d04f82ef24c X-IsSubscribed: yes X-SW-Source: 2014-04/txt/msg01981.txt.bz2 --047d7b471e7060792d04f82ef24c Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-length: 4605 On Tue, Apr 29, 2014 at 6:49 PM, Manuel L=C3=B3pez-Ib=C3=A1=C3=B1ez wrote: > This hunk in your patch doesn't seem related: Oops, Sorry. Removed that, and re-tested. > > @@ -509,6 +509,9 @@ Warn about missing fields in struct init > Wsizeof-pointer-memaccess > C ObjC C++ ObjC++ Var(warn_sizeof_pointer_memaccess) Warning > LangEnabledBy(C ObjC C++ ObjC++,Wall) > > +Wsizeof-array-argument > +C Var(warn_sizeof_array_argument) Warning LangEnabledBy(C,Wall) > + > Wsuggest-attribute=3Dformat > C ObjC C++ ObjC++ Var(warn_suggest_attribute_format) Warning > Warn about functions which might be candidates for format attributes > > Also, it would be good to update doc/invoke.texi, the current > description is a bit confusing. It says it is enabled by default when > it actually isn't (nor after your patch). I propose something like: > > > Index: gcc/doc/invoke.texi > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/doc/invoke.texi (revision 208669) > +++ gcc/doc/invoke.texi (working copy) > @@ -4997,9 +4997,10 @@ > @item -Wvariadic-macros > @opindex Wvariadic-macros > @opindex Wno-variadic-macros > -Warn if variadic macros are used in pedantic ISO C90 mode, or the GNU > -alternate syntax when in pedantic ISO C99 mode. This is default. > -To inhibit the warning messages, use @option{-Wno-variadic-macros}. > +Warn if variadic macros are used in ISO C90 mode, or if the GNU > +alternate syntax is used in ISO C99 mode. This is enabled by either > +@option{-Wpedantic} or @option{-Wtraditional}. To inhibit the warning > +messages, use @option{-Wno-variadic-macros}. > > @item -Wvarargs > @opindex Wvarargs Thanks. I added this to the patch. > > On 29 April 2014 14:41, Prathamesh Kulkarni = wrote: Is this version OK ? [libcpp] * macro.c (parse_params): Remove check for Wpedantic for variadic macros. [gcc/c-family] * c.opt (-Wvariadic-macros): Init(-1) instead of Init(1). * c-opts.c (c_common_handle_option): Add case OPT_Wvariadic_macros. (sanitize_cpp_opts): Check condition for pedantic or warn_traditional. [gcc/testsuite/gcc.dg/cpp] * Wvariadic-5.c: New test-case. [gcc/doc] * invoke.text: Change documentation for Wvariadic-macros option. Thanks and Regards, Prathamesh >> On Tue, Apr 29, 2014 at 2:07 PM, Manuel L=C3=B3pez-Ib=C3=A1=C3=B1ez >> wrote: >>> On 23 April 2014 20:03, Prathamesh Kulkarni wrote: >>>> I didn't attach the patch, I am extremely sorry for the noise. >>>> I am re-posting the mail. >>>> This is a follow up mail to http://gcc.gnu.org/ml/gcc-help/2014-04/msg= 00096.html >>>> I have attached patch that prints the warning when passed -Wvariadic-m= acros >>>> (I mostly followed it along lines of -Wlong-long). >>>> OK for trunk ? >>> >>> Hi Prathamesh, >>> >>> Thanks for CCing me! I cannot approve patches, but it looks almost >>> perfect to me. Did you run the regression testsuite and compare the >>> results before/after your patch? I would expect at least one testcase >>> testing this warning that would be affected by the change. If not, it >>> would be nice to add testcases for this. Also, there is another place >>> that tests for both Wpedantic and Wvariadic-macros just above the one >>> that you modify. I think you should update all of them to just test >>> for Wvariadic-macros. >>> >>> Once you do that, I hope Joseph will approve it quickly, it seems an >>> obvious fix to me for consistency with Wlong-long and to allow people >>> to use this warning without enabling Wpedantic (also, it will enable >>> the warning with Wtraditional as intended, which is currently broken). >>> >> Thanks, I modified the patch to remove Wpedantic check and added a new >> test-case. >> For changes to libcpp, do I need to run the entire test-suite or only ru= ninng >> libcpp tests (RUNTESTFLAGS=3Dcpp.exp) is fine ? >> I ran libcpp tests, and there appeared to be no failures. >> >> [libcpp] >> * macro.c (parse_params): Remove check for Wpedantic for variadic macros. >> >> [gcc/c-family] >> * c.opt (-Wvariadic-macros): Init(-1) instead of Init(1). >> * c-opts.c (c_common_handle_option): Add case OPT_Wvariadic_macros. >> (sanitize_cpp_opts): Check condition for pedantic or >> warn_traditional. >> >> [gcc/testsuite/gcc.dg/cpp] >> * Wvariadic-5.c: New test-case. >> >> Thanks and Regards, >> Prathamesh >> >>> Cheers, >>> >>> Manuel. --047d7b471e7060792d04f82ef24c Content-Type: text/x-patch; charset=US-ASCII; name="variadic-macros.patch" Content-Disposition: attachment; filename="variadic-macros.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hul9oxvf0 Content-length: 5063 SW5kZXg6IGxpYmNwcC9tYWNyby5jCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tIGxpYmNwcC9tYWNyby5jCShyZXZpc2lvbiAyMDk4MDApCisrKyBsaWJj cHAvbWFjcm8uYwkod29ya2luZyBjb3B5KQpAQCAtMjc5NCwxNCArMjc5NCwx MiBAQCBwYXJzZV9wYXJhbXMgKGNwcF9yZWFkZXIgKnBmaWxlLCBjcHBfbWFj CiAJCQkJICAgcGZpbGUtPnNwZWNfbm9kZXMubl9fVkFfQVJHU19fKTsKIAkg ICAgICBwZmlsZS0+c3RhdGUudmFfYXJnc19vayA9IDE7CiAJICAgICAgaWYg KCEgQ1BQX09QVElPTiAocGZpbGUsIGM5OSkKLQkJICAmJiBDUFBfT1BUSU9O IChwZmlsZSwgY3BwX3BlZGFudGljKQogCQkgICYmIENQUF9PUFRJT04gKHBm aWxlLCB3YXJuX3ZhcmlhZGljX21hY3JvcykpCiAJCWNwcF9wZWR3YXJuaW5n CiAgICAgICAgICAgICAgICAgICAocGZpbGUsIENQUF9XX1ZBUklBRElDX01B Q1JPUywKIAkJICAgImFub255bW91cyB2YXJpYWRpYyBtYWNyb3Mgd2VyZSBp bnRyb2R1Y2VkIGluIEM5OSIpOwogCSAgICB9Ci0JICBlbHNlIGlmIChDUFBf T1BUSU9OIChwZmlsZSwgY3BwX3BlZGFudGljKQotCQkgICAmJiBDUFBfT1BU SU9OIChwZmlsZSwgd2Fybl92YXJpYWRpY19tYWNyb3MpKQorCSAgZWxzZSBp ZiAoQ1BQX09QVElPTiAocGZpbGUsIHdhcm5fdmFyaWFkaWNfbWFjcm9zKSkK IAkgICAgY3BwX3BlZHdhcm5pbmcgKHBmaWxlLCBDUFBfV19WQVJJQURJQ19N QUNST1MsCiAJCSAgICAgICAgICAgICJJU08gQyBkb2VzIG5vdCBwZXJtaXQg bmFtZWQgdmFyaWFkaWMgbWFjcm9zIik7CiAKSW5kZXg6IGdjYy9jLWZhbWls eS9jLW9wdHMuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBnY2MvYy1m YW1pbHkvYy1vcHRzLmMJKHJldmlzaW9uIDIwOTgwMCkKKysrIGdjYy9jLWZh bWlseS9jLW9wdHMuYwkod29ya2luZyBjb3B5KQpAQCAtMzk2LDYgKzM5Niwx MCBAQCBjX2NvbW1vbl9oYW5kbGVfb3B0aW9uIChzaXplX3Qgc2NvZGUsIGNv CiAgICAgICBjcHBfb3B0cy0+Y3BwX3dhcm5fbG9uZ19sb25nID0gdmFsdWU7 CiAgICAgICBicmVhazsKIAorICAgIGNhc2UgT1BUX1d2YXJpYWRpY19tYWNy b3M6CisgICAgICBjcHBfb3B0cy0+d2Fybl92YXJpYWRpY19tYWNyb3MgPSB2 YWx1ZTsKKyAgICAgIGJyZWFrOworCiAgICAgY2FzZSBPUFRfV21pc3Npbmdf aW5jbHVkZV9kaXJzOgogICAgICAgY3BwX29wdHMtPndhcm5fbWlzc2luZ19p bmNsdWRlX2RpcnMgPSB2YWx1ZTsKICAgICAgIGJyZWFrOwpAQCAtMTIyNyw4 ICsxMjMxLDkgQEAgc2FuaXRpemVfY3BwX29wdHMgKHZvaWQpCiAKICAgLyog U2ltaWxhcmx5IHdpdGggLVduby12YXJpYWRpYy1tYWNyb3MuICBObyBjaGVj ayBmb3IgYzk5IGhlcmUsIHNpbmNlCiAgICAgIHRoaXMgYWxzbyB0dXJucyBv ZmYgd2FybmluZ3MgYWJvdXQgR0NDcyBleHRlbnNpb24uICAqLwotICBjcHBf b3B0cy0+d2Fybl92YXJpYWRpY19tYWNyb3MKLSAgICA9IGNwcF93YXJuX3Zh cmlhZGljX21hY3JvcyAmJiAocGVkYW50aWMgfHwgd2Fybl90cmFkaXRpb25h bCk7CisgIGlmIChjcHBfd2Fybl92YXJpYWRpY19tYWNyb3MgPT0gLTEpCisg ICAgY3BwX3dhcm5fdmFyaWFkaWNfbWFjcm9zID0gcGVkYW50aWMgfHwgd2Fy bl90cmFkaXRpb25hbDsKKyAgY3BwX29wdHMtPndhcm5fdmFyaWFkaWNfbWFj cm9zID0gY3BwX3dhcm5fdmFyaWFkaWNfbWFjcm9zOwogCiAgIC8qIElmIHdl J3JlIGdlbmVyYXRpbmcgcHJlcHJvY2Vzc29yIG91dHB1dCwgZW1pdCBjdXJy ZW50IGRpcmVjdG9yeQogICAgICBpZiBleHBsaWNpdGx5IHJlcXVlc3RlZCBv ciBpZiBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24gaXMgZW5hYmxlZC4KSW5kZXg6 IGdjYy9jLWZhbWlseS9jLm9wdAo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LSBnY2MvYy1mYW1pbHkvYy5vcHQJKHJldmlzaW9uIDIwOTgwMCkKKysrIGdj Yy9jLWZhbWlseS9jLm9wdAkod29ya2luZyBjb3B5KQpAQCAtNzg1LDcgKzc4 NSw3IEBAIEMgT2JqQyBDKysgT2JqQysrIFZhcih3YXJuX3VudXNlZF9yZXN1 bHQKIFdhcm4gaWYgYSBjYWxsZXIgb2YgYSBmdW5jdGlvbiwgbWFya2VkIHdp dGggYXR0cmlidXRlIHdhcm5fdW51c2VkX3Jlc3VsdCwgZG9lcyBub3QgdXNl IGl0cyByZXR1cm4gdmFsdWUKIAogV3ZhcmlhZGljLW1hY3JvcwotQyBPYmpD IEMrKyBPYmpDKysgVmFyKGNwcF93YXJuX3ZhcmlhZGljX21hY3JvcykgSW5p dCgxKSBXYXJuaW5nCitDIE9iakMgQysrIE9iakMrKyBWYXIoY3BwX3dhcm5f dmFyaWFkaWNfbWFjcm9zKSBJbml0KC0xKSBXYXJuaW5nCiBXYXJuIGFib3V0 IHVzaW5nIHZhcmlhZGljIG1hY3JvcwogCiBXdmFyYXJncwpJbmRleDogZ2Nj L2RvYy9pbnZva2UudGV4aQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBn Y2MvZG9jL2ludm9rZS50ZXhpCShyZXZpc2lvbiAyMDk4MDApCisrKyBnY2Mv ZG9jL2ludm9rZS50ZXhpCSh3b3JraW5nIGNvcHkpCkBAIC00OTk3LDkgKzQ5 OTcsMTAgQEAgbW9kZXMuICBUbyBpbmhpYml0IHRoZSB3YXJuaW5nIG1lc3Nh Z2VzLAogQGl0ZW0gLVd2YXJpYWRpYy1tYWNyb3MKIEBvcGluZGV4IFd2YXJp YWRpYy1tYWNyb3MKIEBvcGluZGV4IFduby12YXJpYWRpYy1tYWNyb3MKLVdh cm4gaWYgdmFyaWFkaWMgbWFjcm9zIGFyZSB1c2VkIGluIHBlZGFudGljIElT TyBDOTAgbW9kZSwgb3IgdGhlIEdOVQotYWx0ZXJuYXRlIHN5bnRheCB3aGVu IGluIHBlZGFudGljIElTTyBDOTkgbW9kZS4gIFRoaXMgaXMgZGVmYXVsdC4K LVRvIGluaGliaXQgdGhlIHdhcm5pbmcgbWVzc2FnZXMsIHVzZSBAb3B0aW9u ey1Xbm8tdmFyaWFkaWMtbWFjcm9zfS4KK1dhcm4gaWYgdmFyaWFkaWMgbWFj cm9zIGFyZSB1c2VkIGluIElTTyBDOTAgbW9kZSwgb3IgaWYgdGhlIEdOVQor YWx0ZXJuYXRlIHN5bnRheCBpcyB1c2VkIGluIElTTyBDOTkgbW9kZS4gIFRo aXMgaXMgZW5hYmxlZCBieSBlaXRoZXIKK0BvcHRpb257LVdwZWRhbnRpY30g b3IgQG9wdGlvbnstV3RyYWRpdGlvbmFsfS4gIFRvIGluaGliaXQgdGhlIHdh cm5pbmcKK21lc3NhZ2VzLCB1c2UgQG9wdGlvbnstV25vLXZhcmlhZGljLW1h Y3Jvc30uCiAKIEBpdGVtIC1XdmFyYXJncwogQG9waW5kZXggV3ZhcmFyZ3MK SW5kZXg6IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL2NwcC9XdmFyaWFkaWMtNS5j Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGdjYy90ZXN0c3VpdGUvZ2Nj LmRnL2NwcC9XdmFyaWFkaWMtNS5jCShyZXZpc2lvbiAwKQorKysgZ2NjL3Rl c3RzdWl0ZS9nY2MuZGcvY3BwL1d2YXJpYWRpYy01LmMJKHdvcmtpbmcgY29w eSkKQEAgLTAsMCArMSw2IEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLwor LyogeyBkZy1vcHRpb25zICItc3RkPWlzbzk4OTk6MTk5MCAtV3ZhcmlhZGlj LW1hY3JvcyIgfSAqLworCisjZGVmaW5lIGYoeCwuLi4pCS8qIHsgZGctd2Fy bmluZyAidmFyaWFkaWMiIH0gKi8KKyNkZWZpbmUgZyh4LHkuLi4pCS8qIHsg ZGctd2FybmluZyAidmFyaWFkaWMiIH0gKi8KK2ludCBub3RfZW1wdHk7Cg== --047d7b471e7060792d04f82ef24c--