From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12877 invoked by alias); 12 Feb 2007 22:09:14 -0000 Received: (qmail 12867 invoked by uid 22791); 12 Feb 2007 22:09:13 -0000 X-Spam-Check-By: sourceware.org Received: from ug-out-1314.google.com (HELO ug-out-1314.google.com) (66.249.92.175) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 12 Feb 2007 22:09:03 +0000 Received: by ug-out-1314.google.com with SMTP id s2so37342uge for ; Mon, 12 Feb 2007 14:08:54 -0800 (PST) Received: by 10.78.204.7 with SMTP id b7mr55614hug.1171318133359; Mon, 12 Feb 2007 14:08:53 -0800 (PST) Received: by 10.78.32.20 with HTTP; Mon, 12 Feb 2007 14:08:53 -0800 (PST) Message-ID: <6c33472e0702121408w4fba3caaidcefddc6b46028da@mail.gmail.com> Date: Mon, 12 Feb 2007 22:11:00 -0000 From: "=?ISO-8859-1?Q?Manuel_L=F3pez-Ib=E1=F1ez?=" To: gcc-patches Subject: Wextra and Wreturn-type interaction (PR7651) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_62323_10916760.1171318133330" X-IsSubscribed: yes 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 X-SW-Source: 2007-02/txt/msg01103.txt.bz2 ------=_Part_62323_10916760.1171318133330 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Content-length: 1072 :ADDPATCH C: Wextra gives a warning when a function may return with and without a value, for example: foo (a) { if (a > 0) return a; } However, this warning is completely redundant, since Wreturn-type (that is enabled by -Wall) will give a warning for any 'return' without value, in a function whose return-type is not 'void' and about a 'return' with a value, in a function whose return-type is 'void'. I was not able to construct an example for which Wextra warns but Wreturn-type does not. So this patch removes this warning from Wextra and improves the description of Wreturn-type. Boostrapped and regression tested. OK for mainline? 2007-02-12 Manuel Lopez-Ibanez PR middle-end/7651 * doc/invoke.texi (Wreturn-type): Complete description. (Wextra): Delete item about return-type warning. * c-decl.c: Delete redundant Wextra warning. testsuite/ * gcc.dg/20030906-1.c: Replace Wextra with Wreturn-type. * gcc.dg/20030906-2.c: Likewise. * objc.dg/method-17.m: Add -Wreturn-type. * obj-c++.dg/method-21.mm: Likewise. ------=_Part_62323_10916760.1171318133330 Content-Type: text/plain; name=wextra-wreturn-type.diff; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: base64 X-Attachment-Id: f_ey3gccgi Content-Disposition: attachment; filename="wextra-wreturn-type.diff" Content-length: 7105 SW5kZXg6IGdjYy9kb2MvaW52b2tlLnRleGkKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0gZ2NjL2RvYy9pbnZva2UudGV4aQkocmV2aXNpb24gMTIxNjc4 KQorKysgZ2NjL2RvYy9pbnZva2UudGV4aQkod29ya2luZyBjb3B5KQpAQCAt MjY1Myw5ICsyNjUzLDEzIEBAIFRoaXMgd2FybmluZyBpcyBlbmFibGVkIGJ5 IEBvcHRpb257LVdhbGwKIAogQGl0ZW0gLVdyZXR1cm4tdHlwZQogQG9waW5k ZXggV3JldHVybi10eXBlCi1XYXJuIHdoZW5ldmVyIGEgZnVuY3Rpb24gaXMg ZGVmaW5lZCB3aXRoIGEgcmV0dXJuLXR5cGUgdGhhdCBkZWZhdWx0cyB0bwot QGNvZGV7aW50fS4gIEFsc28gd2FybiBhYm91dCBhbnkgQGNvZGV7cmV0dXJu fSBzdGF0ZW1lbnQgd2l0aCBubwotcmV0dXJuLXZhbHVlIGluIGEgZnVuY3Rp b24gd2hvc2UgcmV0dXJuLXR5cGUgaXMgbm90IEBjb2Rle3ZvaWR9LgorQG9w aW5kZXggV25vLXJldHVybi10eXBlCitXYXJuIHdoZW5ldmVyIGEgZnVuY3Rp b24gaXMgZGVmaW5lZCB3aXRoIGEgcmV0dXJuLXR5cGUgdGhhdCBkZWZhdWx0 cwordG8gQGNvZGV7aW50fS4gIEFsc28gd2FybiBhYm91dCBhbnkgQGNvZGV7 cmV0dXJufSBzdGF0ZW1lbnQgd2l0aCBubworcmV0dXJuLXZhbHVlIGluIGEg ZnVuY3Rpb24gd2hvc2UgcmV0dXJuLXR5cGUgaXMgbm90IEBjb2Rle3ZvaWR9 CisoZmFsbGluZyBvZmYgdGhlIGVuZCBvZiB0aGUgZnVuY3Rpb24gYm9keSBp cyBjb25zaWRlcmVkIHJldHVybmluZword2l0aG91dCBhIHZhbHVlKSwgYW5k IGFib3V0IGEgQGNvZGV7cmV0dXJufSBzdGF0ZW1lbnQgd2l0aCBhCitleHBy ZXNzaW9uIGluIGEgZnVuY3Rpb24gd2hvc2UgcmV0dXJuLXR5cGUgaXMgQGNv ZGV7dm9pZH0uCiAKIEFsc28gd2FybiBpZiB0aGUgcmV0dXJuIHR5cGUgb2Yg YSBmdW5jdGlvbiBoYXMgYSB0eXBlIHF1YWxpZmllcgogc3VjaCBhcyBAY29k ZXtjb25zdH0uICBGb3IgSVNPIEMgc3VjaCBhIHR5cGUgcXVhbGlmaWVyIGhh cyBubyBlZmZlY3QsCkBAIC0yODkzLDIyICsyODk3LDYgQEAgbWVzc2FnZXMg Zm9yIHRoZXNlIGV2ZW50czoKIAogQGl0ZW1pemUgQGJ1bGxldAogQGl0ZW0K LUEgZnVuY3Rpb24gY2FuIHJldHVybiBlaXRoZXIgd2l0aCBvciB3aXRob3V0 IGEgdmFsdWUuICAoRmFsbGluZwotb2ZmIHRoZSBlbmQgb2YgdGhlIGZ1bmN0 aW9uIGJvZHkgaXMgY29uc2lkZXJlZCByZXR1cm5pbmcgd2l0aG91dAotYSB2 YWx1ZS4pICBGb3IgZXhhbXBsZSwgdGhpcyBmdW5jdGlvbiB3b3VsZCBldm9r ZSBzdWNoIGEKLXdhcm5pbmc6Ci0KLUBzbWFsbGV4YW1wbGUKLUBncm91cAot Zm9vIChhKQotQHsKLSAgaWYgKGEgPiAwKQotICAgIHJldHVybiBhOwotQH0K LUBlbmQgZ3JvdXAKLUBlbmQgc21hbGxleGFtcGxlCi0KLUBpdGVtCiBBbiBl eHByZXNzaW9uLXN0YXRlbWVudCBvciB0aGUgbGVmdC1oYW5kIHNpZGUgb2Yg YSBjb21tYSBleHByZXNzaW9uCiBjb250YWlucyBubyBzaWRlIGVmZmVjdHMu CiBUbyBzdXBwcmVzcyB0aGUgd2FybmluZywgY2FzdCB0aGUgdW51c2VkIGV4 cHJlc3Npb24gdG8gdm9pZC4KSW5kZXg6IGdjYy90ZXN0c3VpdGUvZ2NjLmRn LzIwMDMwOTA2LTEuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBnY2Mv dGVzdHN1aXRlL2djYy5kZy8yMDAzMDkwNi0xLmMJKHJldmlzaW9uIDEyMTY3 OCkKKysrIGdjYy90ZXN0c3VpdGUvZ2NjLmRnLzIwMDMwOTA2LTEuYwkod29y a2luZyBjb3B5KQpAQCAtMiw3ICsyLDcgQEAKICAgIENvcHlyaWdodCAoQykg MjAwMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24gSW5jLiAgKi8KIAogLyog eyBkZy1kbyBjb21waWxlIH0gKi8KLS8qIHsgZGctb3B0aW9ucyAiLU8gLWZp bmxpbmUtZnVuY3Rpb25zIC1XZXh0cmEiIH0gKi8KKy8qIHsgZGctb3B0aW9u cyAiLU8gLWZpbmxpbmUtZnVuY3Rpb25zIC1XcmV0dXJuLXR5cGUiIH0gKi8K IAogZXh0ZXJuIGludCBpOwogZXh0ZXJuIGludCBmb28gKHZvaWQpOwpAQCAt MTIsMTAgKzEyLDEwIEBAIGludCBmb28gKHZvaWQpCiB7CiAgIGlmKCBpICkg cmV0dXJuIDA7CiAgIGVsc2UgICAgcmV0dXJuIDE7Ci19CQkvKiB7IGRnLWJv Z3VzICJtYXkgcmV0dXJuIHdpdGggb3Igd2l0aG91dCBhIHZhbHVlIiB9ICov Cit9CiAKIGludCBiYXIgKHZvaWQpCiB7Ci0gIGlmKCBpICkgcmV0dXJuOwor ICBpZiggaSApIHJldHVybjsgLyogeyBkZy13YXJuaW5nICIncmV0dXJuJyB3 aXRoIG5vIHZhbHVlLCBpbiBmdW5jdGlvbiByZXR1cm5pbmcgbm9uLXZvaWQi IH0gKi8KICAgZWxzZSAgICByZXR1cm4gMTsKLX0JCS8qIHsgZGctd2Fybmlu ZyAibWF5IHJldHVybiB3aXRoIG9yIHdpdGhvdXQgYSB2YWx1ZSIgfSAqLwor fQkJCkluZGV4OiBnY2MvdGVzdHN1aXRlL2djYy5kZy8yMDAzMDkwNi0yLmMK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0gZ2NjL3Rlc3RzdWl0ZS9nY2Mu ZGcvMjAwMzA5MDYtMi5jCShyZXZpc2lvbiAxMjE2NzgpCisrKyBnY2MvdGVz dHN1aXRlL2djYy5kZy8yMDAzMDkwNi0yLmMJKHdvcmtpbmcgY29weSkKQEAg LTIsNyArMiw3IEBACiAgICBDb3B5cmlnaHQgKEMpIDIwMDMgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uIEluYy4gICovCiAKIC8qIHsgZGctZG8gY29tcGls ZSB9ICovCi0vKiB7IGRnLW9wdGlvbnMgIi1PIC1maW5saW5lLWZ1bmN0aW9u cyAtV2V4dHJhIiB9ICovCisvKiB7IGRnLW9wdGlvbnMgIi1PIC1maW5saW5l LWZ1bmN0aW9ucyAtV3JldHVybi10eXBlIiB9ICovCiAKIGV4dGVybiBpbnQg aTsKIGV4dGVybiBpbnQgZm9vICh2b2lkKTsKQEAgLTEwLDkgKzEwLDkgQEAg ZXh0ZXJuIGludCBiYXIgKHZvaWQpOwogCiBpbnQgZm9vICh2b2lkKQogewot ICBpZiggaSApIHJldHVybjsKKyAgaWYoIGkgKSByZXR1cm47IC8qIHsgZGct d2FybmluZyAiJ3JldHVybicgd2l0aCBubyB2YWx1ZSwgaW4gZnVuY3Rpb24g cmV0dXJuaW5nIG5vbi12b2lkIiB9ICovCiAgIGVsc2UgICAgcmV0dXJuIDE7 Ci19CQkvKiB7IGRnLXdhcm5pbmcgIm1heSByZXR1cm4gd2l0aCBvciB3aXRo b3V0IGEgdmFsdWUiIH0gKi8KK30KIAogaW50IGJhciAodm9pZCkKIHsKSW5k ZXg6IGdjYy90ZXN0c3VpdGUvb2JqYy5kZy9tZXRob2QtMTcubQo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLSBnY2MvdGVzdHN1aXRlL29iamMuZGcvbWV0 aG9kLTE3Lm0JKHJldmlzaW9uIDEyMTY3OCkKKysrIGdjYy90ZXN0c3VpdGUv b2JqYy5kZy9tZXRob2QtMTcubQkod29ya2luZyBjb3B5KQpAQCAtMSw3ICsx LDcgQEAKIC8qIFRlc3QgZm9yIHNwdXJpb3VzICJtYXkgb3IgbWF5IG5vdCBy ZXR1cm4gYSB2YWx1ZSIgd2FybmluZ3MuICAqLwogCiAvKiB7IGRnLWRvIGNv bXBpbGUgfSAqLwotLyogeyBkZy1vcHRpb25zICItV2V4dHJhIiB9ICovCisv KiB7IGRnLW9wdGlvbnMgIi1XcmV0dXJuLXR5cGUgLVdleHRyYSIgfSAqLwog CiAjaW5jbHVkZSA8b2JqYy9PYmplY3QuaD4KIApAQCAtMTYsMTEgKzE2LDEx IEBAIGV4dGVybiBpbnQgYmFyOwogLSAoaWQpIG1ldGgxIHsKICAgaWYgKGJh cikKICAgICByZXR1cm4gW09iamVjdCBuZXddOwotICByZXR1cm47Ci19IC8q IHsgZGctd2FybmluZyAidGhpcyBmdW5jdGlvbiBtYXkgcmV0dXJuIHdpdGgg b3Igd2l0aG91dCBhIHZhbHVlIiB9ICovCisgIHJldHVybjsgLyogeyBkZy13 YXJuaW5nICIncmV0dXJuJyB3aXRoIG5vIHZhbHVlLCBpbiBmdW5jdGlvbiBy ZXR1cm5pbmcgbm9uLXZvaWQiIH0gKi8KK30gCiAtICh2b2lkKSBtZXRoMiB7 CiAgIGlmICghYmFyKQogICAgIHJldHVybjsKICAgYmFyID0gMDsKLX0gLyog eyBkZy1ib2d1cyAidGhpcyBmdW5jdGlvbiBtYXkgcmV0dXJuIHdpdGggb3Ig d2l0aG91dCBhIHZhbHVlIiB9ICovCit9IC8qIHsgZGctYm9ndXMgIidyZXR1 cm4nIHdpdGggbm8gdmFsdWUsIGluIGZ1bmN0aW9uIHJldHVybmluZyBub24t dm9pZCIgfSAqLwogQGVuZApJbmRleDogZ2NjL3Rlc3RzdWl0ZS9vYmotYysr LmRnL21ldGhvZC0yMS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBn Y2MvdGVzdHN1aXRlL29iai1jKysuZGcvbWV0aG9kLTIxLm1tCShyZXZpc2lv biAxMjE2NzgpCisrKyBnY2MvdGVzdHN1aXRlL29iai1jKysuZGcvbWV0aG9k LTIxLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogLyogVGVz dCBmb3Igc3B1cmlvdXMgIm1heSBvciBtYXkgbm90IHJldHVybiBhIHZhbHVl IiB3YXJuaW5ncy4gICovCiAvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLwotLyog eyBkZy1vcHRpb25zICItV2V4dHJhIiB9ICovCisvKiB7IGRnLW9wdGlvbnMg Ii1XcmV0dXJuLXR5cGUgLVdleHRyYSIgfSAqLwogCiAjaW5jbHVkZSA8b2Jq Yy9PYmplY3QuaD4KIApJbmRleDogZ2NjL2MtZGVjbC5jCj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tIGdjYy9jLWRlY2wuYwkocmV2aXNpb24gMTIxNjc4 KQorKysgZ2NjL2MtZGVjbC5jCSh3b3JraW5nIGNvcHkpCkBAIC02Nzc0LDEz ICs2Nzc0LDYgQEAgZmluaXNoX2Z1bmN0aW9uICh2b2lkKQogICAgICAgVFJF RV9OT19XQVJOSU5HIChmbmRlY2wpID0gMTsKICAgICB9CiAKLSAgLyogV2l0 aCBqdXN0IC1XZXh0cmEsIGNvbXBsYWluIG9ubHkgaWYgZnVuY3Rpb24gcmV0 dXJucyBib3RoIHdpdGgKLSAgICAgYW5kIHdpdGhvdXQgYSB2YWx1ZS4gICov Ci0gIGlmIChleHRyYV93YXJuaW5ncwotICAgICAgJiYgY3VycmVudF9mdW5j dGlvbl9yZXR1cm5zX3ZhbHVlCi0gICAgICAmJiBjdXJyZW50X2Z1bmN0aW9u X3JldHVybnNfbnVsbCkKLSAgICB3YXJuaW5nIChPUFRfV2V4dHJhLCAidGhp cyBmdW5jdGlvbiBtYXkgcmV0dXJuIHdpdGggb3Igd2l0aG91dCBhIHZhbHVl Iik7Ci0KICAgLyogU3RvcmUgdGhlIGVuZCBvZiB0aGUgZnVuY3Rpb24sIHNv IHRoYXQgd2UgZ2V0IGdvb2QgbGluZSBudW1iZXIKICAgICAgaW5mbyBmb3Ig dGhlIGVwaWxvZ3VlLiAgKi8KICAgY2Z1bi0+ZnVuY3Rpb25fZW5kX2xvY3Vz ID0gaW5wdXRfbG9jYXRpb247Cg== ------=_Part_62323_10916760.1171318133330--