From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21873 invoked by alias); 27 Feb 2008 14:40:12 -0000 Received: (qmail 21862 invoked by uid 22791); 27 Feb 2008 14:40:11 -0000 X-Spam-Check-By: sourceware.org Received: from wf-out-1314.google.com (HELO wf-out-1314.google.com) (209.85.200.174) by sourceware.org (qpsmtpd/0.31) with ESMTP; Wed, 27 Feb 2008 14:39:46 +0000 Received: by wf-out-1314.google.com with SMTP id 28so2245961wfc.14 for ; Wed, 27 Feb 2008 06:39:44 -0800 (PST) Received: by 10.142.240.9 with SMTP id n9mr5293257wfh.6.1204123184312; Wed, 27 Feb 2008 06:39:44 -0800 (PST) Received: by 10.143.171.4 with HTTP; Wed, 27 Feb 2008 06:39:44 -0800 (PST) Message-ID: <6c33472e0802270639g6a83ac8exbeeaf367c6074be@mail.gmail.com> Date: Wed, 27 Feb 2008 17:07:00 -0000 From: "=?ISO-8859-1?Q?Manuel_L=F3pez-Ib=E1=F1ez?=" To: "GCC Patches" Subject: [CPP] 28079 #line range not verified without -pedantic MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_11994_30334011.1204123184223" 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: 2008-02/txt/msg01370.txt.bz2 ------=_Part_11994_30334011.1204123184223 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Content-length: 575 Currently CPP will silently convert line numbers from unsigned long to unsigned int. It will also wrap-around line numbers higher than ULONG_MAX. This patch adds a warning when any of these events occur. Boostrapped and regression tested on x86_64-unknown-linux-gnu. 2008-02-27 Manuel Lopez-Ibanez PR28079 libcpp/ * directives.c (strtoul_for_line): Add a parameter 'wrapped'. (do_line): Update call to strtoul_for_line. Warn if wrapped or if truncated. (do_linemarker): Update call to strtoul_for_line. testsuite/ * gcc.dg/cpp/line6.c: New. ------=_Part_11994_30334011.1204123184223 Content-Type: text/plain; name=fix-pr28079.diff Content-Transfer-Encoding: base64 X-Attachment-Id: f_fd5ztyed Content-Disposition: attachment; filename=fix-pr28079.diff Content-length: 6271 SW5kZXg6IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL2NwcC9saW5lNi5jCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tIGdjYy90ZXN0c3VpdGUvZ2NjLmRnL2Nw cC9saW5lNi5jCShyZXZpc2lvbiAwKQorKysgZ2NjL3Rlc3RzdWl0ZS9nY2Mu ZGcvY3BwL2xpbmU2LmMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNyBAQAor LyogUFIgMjgwNzkgKi8KKy8qIHsgZGctZG8gcHJlcHJvY2VzcyB9ICovCisv KiB7IGRnLW9wdGlvbnMgIiIgfSAqLworCisjbGluZSAxODQ0Njc0NDA3Mzcw OTU1MTYxNiAvKiB7IGRnLXdhcm5pbmcgImxpbmUgbnVtYmVyIG91dCBvZiBy YW5nZSIgfSAqLworCisjbGluZSAxMjMxMjMxMjMxMjQzNSAvKiB7IGRnLXdh cm5pbmcgImxpbmUgbnVtYmVyIG91dCBvZiByYW5nZSIgIiIgeyB0YXJnZXQg Ki0qLSogfSAwIH0gKi8KSW5kZXg6IGxpYmNwcC9kaXJlY3RpdmVzLmMKPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0gbGliY3BwL2RpcmVjdGl2ZXMuYwko cmV2aXNpb24gMTMyNTAzKQorKysgbGliY3BwL2RpcmVjdGl2ZXMuYwkod29y a2luZyBjb3B5KQpAQCAtOTksMTEgKzk5LDEyIEBAIHN0YXRpYyB2b2lkIGRp cmVjdGl2ZV9kaWFnbm9zdGljcyAoY3BwX3IKIHN0YXRpYyB2b2lkIHJ1bl9k aXJlY3RpdmUgKGNwcF9yZWFkZXIgKiwgaW50LCBjb25zdCBjaGFyICosIHNp emVfdCk7CiBzdGF0aWMgY2hhciAqZ2x1ZV9oZWFkZXJfbmFtZSAoY3BwX3Jl YWRlciAqKTsKIHN0YXRpYyBjb25zdCBjaGFyICpwYXJzZV9pbmNsdWRlIChj cHBfcmVhZGVyICosIGludCAqLCBjb25zdCBjcHBfdG9rZW4gKioqKTsKIHN0 YXRpYyB2b2lkIHB1c2hfY29uZGl0aW9uYWwgKGNwcF9yZWFkZXIgKiwgaW50 LCBpbnQsIGNvbnN0IGNwcF9oYXNobm9kZSAqKTsKIHN0YXRpYyB1bnNpZ25l ZCBpbnQgcmVhZF9mbGFnIChjcHBfcmVhZGVyICosIHVuc2lnbmVkIGludCk7 Ci1zdGF0aWMgaW50IHN0cnRvdWxfZm9yX2xpbmUgKGNvbnN0IHVjaGFyICos IHVuc2lnbmVkIGludCwgdW5zaWduZWQgbG9uZyAqKTsKK3N0YXRpYyBpbnQg c3RydG91bF9mb3JfbGluZSAoY29uc3QgdWNoYXIgKiwgdW5zaWduZWQgaW50 LCB1bnNpZ25lZCBsb25nICosIAorCQkJICAgICBib29sICp3cmFwcGVkKTsK IHN0YXRpYyB2b2lkIGRvX2RpYWdub3N0aWMgKGNwcF9yZWFkZXIgKiwgaW50 LCBpbnQpOwogc3RhdGljIGNwcF9oYXNobm9kZSAqbGV4X21hY3JvX25vZGUg KGNwcF9yZWFkZXIgKiwgYm9vbCk7CiBzdGF0aWMgaW50IHVuZGVmaW5lX21h Y3JvcyAoY3BwX3JlYWRlciAqLCBjcHBfaGFzaG5vZGUgKiwgdm9pZCAqKTsK IHN0YXRpYyB2b2lkIGRvX2luY2x1ZGVfY29tbW9uIChjcHBfcmVhZGVyICos IGVudW0gaW5jbHVkZV90eXBlKTsKIHN0YXRpYyBzdHJ1Y3QgcHJhZ21hX2Vu dHJ5ICpsb29rdXBfcHJhZ21hX2VudHJ5IChzdHJ1Y3QgcHJhZ21hX2VudHJ5 ICosCkBAIC04MTgsMjMgKzgxOSwzMCBAQCByZWFkX2ZsYWcgKGNwcF9yZWFk ZXIgKnBmaWxlLCB1bnNpZ25lZCBpCiAgIHJldHVybiAwOwogfQogCiAvKiBT dWJyb3V0aW5lIG9mIGRvX2xpbmUgYW5kIGRvX2xpbmVtYXJrZXIuICBDb252 ZXJ0IGEgbnVtYmVyIGluIFNUUiwKICAgIG9mIGxlbmd0aCBMRU4sIHRvIGJp bmFyeTsgc3RvcmUgaXQgaW4gTlVNUCwgYW5kIHJldHVybiAwIGlmIHRoZQot ICAgbnVtYmVyIHdhcyB3ZWxsLWZvcm1lZCwgMSBpZiBub3QuICBUZW1wb3Jh cnksIGhvcGVmdWxseS4gICovCisgICBudW1iZXIgd2FzIHdlbGwtZm9ybWVk LCAxIGlmIG5vdC4gV1JBUFBFRCBpcyBzZXQgdG8gdHJ1ZSBpZiB0aGUKKyAg IG51bWJlciBkaWQgbm90IGZpdCBpbnRvICd1bnNpZ25lZCBsb25nJy4gIFRl bXBvcmFyeSwgaG9wZWZ1bGx5LiAgKi8KIHN0YXRpYyBpbnQKLXN0cnRvdWxf Zm9yX2xpbmUgKGNvbnN0IHVjaGFyICpzdHIsIHVuc2lnbmVkIGludCBsZW4s IGxvbmcgdW5zaWduZWQgaW50ICpudW1wKQorc3RydG91bF9mb3JfbGluZSAo Y29uc3QgdWNoYXIgKnN0ciwgdW5zaWduZWQgaW50IGxlbiwgbG9uZyB1bnNp Z25lZCBpbnQgKm51bXAsIGJvb2wgKndyYXBwZWQpCiB7CiAgIHVuc2lnbmVk IGxvbmcgcmVnID0gMDsKKyAgdW5zaWduZWQgbG9uZyByZWdfcHJldiA9IDA7 CisKICAgdWNoYXIgYzsKKyAgKndyYXBwZWQgPSBmYWxzZTsKICAgd2hpbGUg KGxlbi0tKQogICAgIHsKICAgICAgIGMgPSAqc3RyKys7CiAgICAgICBpZiAo IUlTRElHSVQgKGMpKQotCXJldHVybiAxOworCXJldHVybiAyOwogICAgICAg cmVnICo9IDEwOwogICAgICAgcmVnICs9IGMgLSAnMCc7CisgICAgICBpZiAo cmVnIDwgcmVnX3ByZXYpIAorCSp3cmFwcGVkID0gdHJ1ZTsKKyAgICAgIHJl Z19wcmV2ID0gcmVnOwogICAgIH0KICAgKm51bXAgPSByZWc7CiAgIHJldHVy biAwOwogfQogCkBAIC04NTUsMjggKzg2MywzMSBAQCBkb19saW5lIChjcHBf cmVhZGVyICpwZmlsZSkKICAgY29uc3QgY2hhciAqbmV3X2ZpbGUgPSBtYXAt PnRvX2ZpbGU7CiAgIHVuc2lnbmVkIGxvbmcgbmV3X2xpbmVubzsKIAogICAv KiBDOTkgcmFpc2VkIHRoZSBtaW5pbXVtIGxpbWl0IG9uICNsaW5lIG51bWJl cnMuICAqLwogICB1bnNpZ25lZCBpbnQgY2FwID0gQ1BQX09QVElPTiAocGZp bGUsIGM5OSkgPyAyMTQ3NDgzNjQ3IDogMzI3Njc7CisgIGJvb2wgd3JhcHBl ZDsKIAogICAvKiAjbGluZSBjb21tYW5kcyBleHBhbmQgbWFjcm9zLiAgKi8K ICAgdG9rZW4gPSBjcHBfZ2V0X3Rva2VuIChwZmlsZSk7CiAgIGlmICh0b2tl bi0+dHlwZSAhPSBDUFBfTlVNQkVSCiAgICAgICB8fCBzdHJ0b3VsX2Zvcl9s aW5lICh0b2tlbi0+dmFsLnN0ci50ZXh0LCB0b2tlbi0+dmFsLnN0ci5sZW4s Ci0JCQkgICAmbmV3X2xpbmVubykpCisJCQkgICAmbmV3X2xpbmVubywgJndy YXBwZWQpKQogICAgIHsKICAgICAgIGlmICh0b2tlbi0+dHlwZSA9PSBDUFBf RU9GKQogCWNwcF9lcnJvciAocGZpbGUsIENQUF9ETF9FUlJPUiwgInVuZXhw ZWN0ZWQgZW5kIG9mIGZpbGUgYWZ0ZXIgI2xpbmUiKTsKICAgICAgIGVsc2UK IAljcHBfZXJyb3IgKHBmaWxlLCBDUFBfRExfRVJST1IsCiAJCSAgICJcIiVz XCIgYWZ0ZXIgI2xpbmUgaXMgbm90IGEgcG9zaXRpdmUgaW50ZWdlciIsCiAJ CSAgIGNwcF90b2tlbl9hc190ZXh0IChwZmlsZSwgdG9rZW4pKTsKICAgICAg IHJldHVybjsKICAgICB9CiAKLSAgaWYgKENQUF9QRURBTlRJQyAocGZpbGUp ICYmIChuZXdfbGluZW5vID09IDAgfHwgbmV3X2xpbmVubyA+IGNhcCkpCisg IGlmIChDUFBfUEVEQU5USUMgKHBmaWxlKSAmJiAobmV3X2xpbmVubyA9PSAw IHx8IG5ld19saW5lbm8gPiBjYXAgfHwgd3JhcHBlZCkpCiAgICAgY3BwX2Vy cm9yIChwZmlsZSwgQ1BQX0RMX1BFRFdBUk4sICJsaW5lIG51bWJlciBvdXQg b2YgcmFuZ2UiKTsKKyAgZWxzZSBpZiAod3JhcHBlZCB8fCBuZXdfbGluZW5v ICE9ICh1bnNpZ25lZCBpbnQpIG5ld19saW5lbm8pCisgICAgY3BwX2Vycm9y IChwZmlsZSwgQ1BQX0RMX1dBUk5JTkcsICJsaW5lIG51bWJlciBvdXQgb2Yg cmFuZ2UiKTsKIAogICB0b2tlbiA9IGNwcF9nZXRfdG9rZW4gKHBmaWxlKTsK ICAgaWYgKHRva2VuLT50eXBlID09IENQUF9TVFJJTkcpCiAgICAgewogICAg ICAgY3BwX3N0cmluZyBzID0geyAwLCAwIH07CkBAIC05MDksMjEgKzkyMCwy MiBAQCBkb19saW5lbWFya2VyIChjcHBfcmVhZGVyICpwZmlsZSkKICAgY29u c3QgY2hhciAqbmV3X2ZpbGUgPSBtYXAtPnRvX2ZpbGU7CiAgIHVuc2lnbmVk IGxvbmcgbmV3X2xpbmVubzsKICAgdW5zaWduZWQgaW50IG5ld19zeXNwID0g bWFwLT5zeXNwOwogICBlbnVtIGxjX3JlYXNvbiByZWFzb24gPSBMQ19SRU5B TUU7CiAgIGludCBmbGFnOworICBib29sIHdyYXBwZWQ7CiAKICAgLyogQmFj ayB1cCBzbyB3ZSBjYW4gZ2V0IHRoZSBudW1iZXIgYWdhaW4uICBQdXR0aW5n IHRoaXMgaW4KICAgICAgX2NwcF9oYW5kbGVfZGlyZWN0aXZlIHJpc2tzIHR3 byBjYWxscyB0byBfY3BwX2JhY2t1cF90b2tlbnMgaW4KICAgICAgc29tZSBj aXJjdW1zdGFuY2VzLCB3aGljaCBjYW4gc2VnZmF1bHQuICAqLwogICBfY3Bw X2JhY2t1cF90b2tlbnMgKHBmaWxlLCAxKTsKIAogICAvKiAjbGluZSBjb21t YW5kcyBleHBhbmQgbWFjcm9zLiAgKi8KICAgdG9rZW4gPSBjcHBfZ2V0X3Rv a2VuIChwZmlsZSk7CiAgIGlmICh0b2tlbi0+dHlwZSAhPSBDUFBfTlVNQkVS CiAgICAgICB8fCBzdHJ0b3VsX2Zvcl9saW5lICh0b2tlbi0+dmFsLnN0ci50 ZXh0LCB0b2tlbi0+dmFsLnN0ci5sZW4sCi0JCQkgICAmbmV3X2xpbmVubykp CisJCQkgICAmbmV3X2xpbmVubywgJndyYXBwZWQpKQogICAgIHsKICAgICAg IC8qIFVubGlrZSAjbGluZSwgdGhlcmUgZG9lcyBub3Qgc2VlbSB0byBiZSBh IHdheSB0byBnZXQgYW4gRU9GCiAJIGhlcmUuICBTbywgaXQgc2hvdWxkIGJl IHNhZmUgdG8gYWx3YXlzIHNwZWxsIHRoZSB0b2tlbi4gICovCiAgICAgICBj cHBfZXJyb3IgKHBmaWxlLCBDUFBfRExfRVJST1IsCiAJCSAiXCIlc1wiIGFm dGVyICMgaXMgbm90IGEgcG9zaXRpdmUgaW50ZWdlciIsCg== ------=_Part_11994_30334011.1204123184223--