From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29587 invoked by alias); 28 Aug 2008 22:43:54 -0000 Received: (qmail 29576 invoked by uid 22791); 28 Aug 2008 22:43:53 -0000 X-Spam-Check-By: sourceware.org Received: from rv-out-0708.google.com (HELO rv-out-0708.google.com) (209.85.198.246) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 28 Aug 2008 22:43:02 +0000 Received: by rv-out-0708.google.com with SMTP id c5so511712rvf.56 for ; Thu, 28 Aug 2008 15:43:00 -0700 (PDT) Received: by 10.140.163.12 with SMTP id l12mr1084596rve.137.1219963380208; Thu, 28 Aug 2008 15:43:00 -0700 (PDT) Received: by 10.141.155.18 with HTTP; Thu, 28 Aug 2008 15:43:00 -0700 (PDT) Message-ID: <6c33472e0808281543w5d464fe6r1fa5e584797ac46c@mail.gmail.com> Date: Sat, 30 Aug 2008 01:11:00 -0000 From: "=?ISO-8859-1?Q?Manuel_L=F3pez-Ib=E1=F1ez?=" To: "Gcc Patch List" Subject: [C/C++] PR 13358 long long and C++ do not mix well MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_6804_30611244.1219963380181" 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-08/txt/msg02330.txt.bz2 ------=_Part_6804_30611244.1219963380181 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Content-length: 1469 CPP and the FE were using different semantics. invoke.texi said that Wlong-long was the default. This was not correct. It was the default for CPP but -Wno-long-long was the default for the FE. Now there is only one semantic: the one from the FE. However, we were inhibiting warning even if the user requested it through Wlong-long. Now explicit Wlong-long (or Wno-long-long) overrides everything else, except in system headers. Bootstrapped and regression tested on x86_64-unknown-linux-gnu with --enable-languages=all,ada with --target_board=\{-m32,-m64\} OK for trunk? 2008-08-25 Manuel Lopez-Ibanez PR 13358 * doc/invoke.texi (-Wlong-long): Update description. * c-opts.c (sanitize_cpp_opts): Synchronize cpp's warn_long_long and front-end warn_long_long. Wlong-long only depends on other flags if it is uninitialized. * c-lex (interpret_integer): Only warn if there was no previous overflow and -Wlong-long is enabled. * c-decl.c (declspecs_add_type): Drop redundant flags. * c.opt (Wlong-long): Init to -1. * c-parser.c (disable_extension_diagnostics): warn_long_long is the same for CPP and FE. (restore_extension_diagnostics): Likewise. cp/ * parser.c (cp_parser_check_decl_spec): Drop redundant flags. testsuite/ * g++.dg/warn/pr13358.C: New. * g++.dg/warn/pr13358-2.C: New. * g++.dg/warn/pr13358-3.C: New. * gcc.dg/wtr-int-type-1.c: Use two dg-warning to match two messages. Test for "long long" in system headers. ------=_Part_6804_30611244.1219963380181 Content-Type: text/plain; name=fix-pr13358-try2.diff Content-Transfer-Encoding: base64 X-Attachment-Id: f_fkfynnch0 Content-Disposition: attachment; filename=fix-pr13358-try2.diff Content-length: 13933 SW5kZXg6IGdjYy9kb2MvaW52b2tlLnRleGkKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0gZ2NjL2RvYy9pbnZva2UudGV4aQkocmV2aXNpb24gMTM5Njc0 KQorKysgZ2NjL2RvYy9pbnZva2UudGV4aQkod29ya2luZyBjb3B5KQpAQCAt NDAyOCwxNCArNDAyOCwxMyBAQCBXYXJuIGlmIGEgcHJlY29tcGlsZWQgaGVh ZGVyIChAcHhyZWZ7UHJlCiB0aGUgc2VhcmNoIHBhdGggYnV0IGNhbid0IGJl IHVzZWQuCiAKIEBpdGVtIC1XbG9uZy1sb25nCiBAb3BpbmRleCBXbG9uZy1s b25nCiBAb3BpbmRleCBXbm8tbG9uZy1sb25nCi1XYXJuIGlmIEBzYW1we2xv bmcgbG9uZ30gdHlwZSBpcyB1c2VkLiAgVGhpcyBpcyBkZWZhdWx0LiAgVG8g aW5oaWJpdAotdGhlIHdhcm5pbmcgbWVzc2FnZXMsIHVzZSBAb3B0aW9uey1X bm8tbG9uZy1sb25nfS4gIEZsYWdzCi1Ab3B0aW9uey1XbG9uZy1sb25nfSBh bmQgQG9wdGlvbnstV25vLWxvbmctbG9uZ30gYXJlIHRha2VuIGludG8gYWNj b3VudAotb25seSB3aGVuIEBvcHRpb257LXBlZGFudGljfSBmbGFnIGlzIHVz ZWQuCitXYXJuIGlmIEBzYW1we2xvbmcgbG9uZ30gdHlwZSBpcyB1c2VkLiAg VGhpcyBpcyBlbmFibGVkIGJ5IGVpdGhlcgorQG9wdGlvbnstcGVkYW50aWN9 IG9yIEBvcHRpb257LVd0cmFkaXRpb25hbH0gaW4gSVNPIEM5MCBhbmQgQysr OTgKK21vZGVzLiAgVG8gaW5oaWJpdCB0aGUgd2FybmluZyBtZXNzYWdlcywg dXNlIEBvcHRpb257LVduby1sb25nLWxvbmd9LgogCiBAaXRlbSAtV3Zhcmlh ZGljLW1hY3JvcwogQG9waW5kZXggV3ZhcmlhZGljLW1hY3JvcwogQG9waW5k ZXggV25vLXZhcmlhZGljLW1hY3JvcwogV2FybiBpZiB2YXJpYWRpYyBtYWNy b3MgYXJlIHVzZWQgaW4gcGVkYW50aWMgSVNPIEM5MCBtb2RlLCBvciB0aGUg R05VCkluZGV4OiBnY2MvYy1sZXguYwo9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLSBnY2MvYy1sZXguYwkocmV2aXNpb24gMTM5Njc0KQorKysgZ2NjL2Mt bGV4LmMJKHdvcmtpbmcgY29weSkKQEAgLTU4MCwxNyArNTgwLDE5IEBAIGlu dGVycHJldF9pbnRlZ2VyIChjb25zdCBjcHBfdG9rZW4gKnRva2UKICAgICAv KiBjcHBsaWIgaGFzIGFscmVhZHkgaXNzdWVkIGEgd2FybmluZyBmb3Igb3Zl cmZsb3cuICAqLwogICAgIHR5cGUgPSAoKGZsYWdzICYgQ1BQX05fVU5TSUdO RUQpCiAJICAgID8gd2lkZXN0X3Vuc2lnbmVkX2xpdGVyYWxfdHlwZV9ub2Rl CiAJICAgIDogd2lkZXN0X2ludGVnZXJfbGl0ZXJhbF90eXBlX25vZGUpOwog ICBlbHNlCi0gICAgdHlwZSA9IGludGVnZXJfdHlwZXNbaXRrXTsKLQotICBp ZiAoaXRrID4gaXRrX3Vuc2lnbmVkX2xvbmcKLSAgICAgICYmIChmbGFncyAm IENQUF9OX1dJRFRIKSAhPSBDUFBfTl9MQVJHRQotICAgICAgJiYgIWluX3N5 c3RlbV9oZWFkZXIgJiYgIWZsYWdfaXNvYzk5KQotICAgIHBlZHdhcm4gKGlu cHV0X2xvY2F0aW9uLCAwLCAiaW50ZWdlciBjb25zdGFudCBpcyB0b28gbGFy Z2UgZm9yICVxcyB0eXBlIiwKLQkgICAgIChmbGFncyAmIENQUF9OX1VOU0lH TkVEKSA/ICJ1bnNpZ25lZCBsb25nIiA6ICJsb25nIik7CisgICAgeworICAg ICAgdHlwZSA9IGludGVnZXJfdHlwZXNbaXRrXTsKKyAgICAgIGlmIChpdGsg PiBpdGtfdW5zaWduZWRfbG9uZworCSAgJiYgKGZsYWdzICYgQ1BQX05fV0lE VEgpICE9IENQUF9OX0xBUkdFKQorCXBlZHdhcm4gKGlucHV0X2xvY2F0aW9u LCBPUFRfV2xvbmdfbG9uZywKKwkJIChmbGFncyAmIENQUF9OX1VOU0lHTkVE KSAKKwkJID8gImludGVnZXIgY29uc3RhbnQgaXMgdG9vIGxhcmdlIGZvciAl PHVuc2lnbmVkIGxvbmclPiB0eXBlIgorCQkgOiAiaW50ZWdlciBjb25zdGFu dCBpcyB0b28gbGFyZ2UgZm9yICU8bG9uZyU+IHR5cGUiKTsKKyAgICB9CiAK ICAgdmFsdWUgPSBidWlsZF9pbnRfY3N0X3dpZGUgKHR5cGUsIGludGVnZXIu bG93LCBpbnRlZ2VyLmhpZ2gpOwogCiAgIC8qIENvbnZlcnQgaW1hZ2luYXJ5 IHRvIGEgY29tcGxleCB0eXBlLiAgKi8KICAgaWYgKGZsYWdzICYgQ1BQX05f SU1BR0lOQVJZKQpJbmRleDogZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvd3RyLWlu dC10eXBlLTEuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBnY2MvdGVz dHN1aXRlL2djYy5kZy93dHItaW50LXR5cGUtMS5jCShyZXZpc2lvbiAxMzk2 NzQpCisrKyBnY2MvdGVzdHN1aXRlL2djYy5kZy93dHItaW50LXR5cGUtMS5j CSh3b3JraW5nIGNvcHkpCkBAIC0yMywxMyArMjMsMjEgQEAgdGVzdGZ1bmMg KCkKICAgICAgd2UgY2FuIHByZXRlbmQgaXQgd29ya2VkIHRoZSB3YXkgaXQg ZG9lcyBpbiBDOTkuXSAgKi8KICAgaSA9IDkyMjMzNzIwMzY4NTQ3NzU4MDc7 CiAKICAgLyogQnV0IHRoaXMgb25lIHNob3VsZCwgc2luY2UgaXQgZG9lc24n dCBmaXQgaW4gbG9uZyAobG9uZyksIGJ1dAogICAgICBkb2VzIGZpdCBpbiB1 bnNpZ25lZCBsb25nIChsb25nKS4gICovCi0gIGkgPSAxODQ0Njc0NDA3Mzcw OTU1MTYxNTsgLyogeyBkZy13YXJuaW5nICJkZWNpbWFsIGNvbnN0YW50fHVu c2lnbmVkIiAiZGVjaW1hbCBjb25zdGFudCIgfSAqLwotICAKKyAgaSA9IDE4 NDQ2NzQ0MDczNzA5NTUxNjE1OyAvKiB7IGRnLXdhcm5pbmcgImludGVnZXIg Y29uc3RhbnQgaXMgc28gbGFyZ2UgdGhhdCBpdCBpcyB1bnNpZ25lZCIgImRl Y2ltYWwgY29uc3RhbnQiIH0gKi8KKyAgLyogeyBkZy13YXJuaW5nICJ0aGlz IGRlY2ltYWwgY29uc3RhbnQgd291bGQgYmUgdW5zaWduZWQgaW4gSVNPIEM5 MCIgImRlY2ltYWwgY29uc3RhbnQiIHsgdGFyZ2V0ICotKi0qIH0gMjggfSAq LworCiAjIDI5ICJzeXMtaGVhZGVyLmgiIDMKK30KKwordm9pZAordGVzdGZ1 bmMyKCApIAoreyAKKyAgbG9uZyBsb25nIGk7CisKIC8qIFdlIGFyZSBpbiBz eXN0ZW0gaGVhZGVycyBub3csIG5vIC1XdHJhZGl0aW9uYWwgd2FybmluZ3Mg c2hvdWxkIGlzc3VlLiAgKi8KIAogICBpID0gMHg4MDAwMDAwMDsKICAgaSA9 IDB4RkZGRkZGRkY7CiAgIGkgPSAwMzc3Nzc3Nzc3Nzc7CkBAIC0zOSw1ICs0 Nyw2IEBAIHRlc3RmdW5jICgpCiAgIGkgPSAwMTc3Nzc3Nzc3Nzc3Nzc3Nzc3 Nzc3NzsKICAgCiAgIGkgPSA5MjIzMzcyMDM2ODU0Nzc1ODA3OwogICBpID0g MTg0NDY3NDQwNzM3MDk1NTE2MTU7CiB9CisKSW5kZXg6IGdjYy90ZXN0c3Vp dGUvZysrLmRnL3dhcm4vcHIxMzM1OC0yLkMKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0gZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvd2Fybi9wcjEzMzU4LTIu QwkocmV2aXNpb24gMCkKKysrIGdjYy90ZXN0c3VpdGUvZysrLmRnL3dhcm4v cHIxMzM1OC0yLkMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTUgQEAKKy8v IFBSIGMrKy8xMzM1ODogZysrIHNob3VsZCBhY2NlcHQgYSBsb25nIGxvbmcg Y29uc3RhbnQgc2FucyBMTCBzdWZmaXgKKy8vIGlmIC1Xbm8tbG9uZy1sb25n IGlzIGluIHVzZQorLy8geyBkZy1kbyBjb21waWxlIH0KKy8vIHsgZGctcmVx dWlyZS1lZmZlY3RpdmUtdGFyZ2V0IGlscDMyIH0KKy8vIHsgZGctb3B0aW9u cyAiLXN0ZD1jKys5OCAtcGVkYW50aWMtZXJyb3JzIiB9CisKKwordm9pZCB1 c2VfbG9uZ2xvbmcgKCkKK3sKKyAgdW5zaWduZWQgbG9uZyBsb25nIHgxLCB4 MiwgeDM7IC8vIHsgZGctZXJyb3IgImVycm9yOiBJU08gQ1xcK1xcKyAxOTk4 IGRvZXMgbm90IHN1cHBvcnQgJ2xvbmcgbG9uZyciIH0KKyAgLy8gbWFrZSBz dXJlIHdlIGVycm9yIHdpdGggaGV4LCBkZWNpbWFsIGFuZCBvY3RhbAorICB4 MSA9IDB4MWIyN2RhNTcyZWYzY2Q4NjsgLy8geyBkZy1lcnJvciAiZXJyb3I6 IGludGVnZXIgY29uc3RhbnQgaXMgdG9vIGxhcmdlIGZvciAnbG9uZycgdHlw ZSIgfQorICB4MiA9IDE5NTY3NzI2MzExMDA1MDk1NzQ7IC8vIHsgZGctZXJy b3IgImVycm9yOiBpbnRlZ2VyIGNvbnN0YW50IGlzIHRvbyBsYXJnZSBmb3Ig J2xvbmcnIHR5cGUiIH0KKyAgeDMgPSAwMTU0NDc2NjQ1MzQ1Njc0NzQ2NjA2 OyAvLyB7IGRnLWVycm9yICJlcnJvcjogaW50ZWdlciBjb25zdGFudCBpcyB0 b28gbGFyZ2UgZm9yICdsb25nJyB0eXBlIiB9Cit9CkluZGV4OiBnY2MvdGVz dHN1aXRlL2crKy5kZy93YXJuL3ByMTMzNTgtMy5DCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tIGdjYy90ZXN0c3VpdGUvZysrLmRnL3dhcm4vcHIxMzM1 OC0zLkMJKHJldmlzaW9uIDApCisrKyBnY2MvdGVzdHN1aXRlL2crKy5kZy93 YXJuL3ByMTMzNTgtMy5DCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE1IEBA CisvLyBQUiBjKysvMTMzNTg6IGcrKyBzaG91bGQgYWNjZXB0IGEgbG9uZyBs b25nIGNvbnN0YW50IHNhbnMgTEwgc3VmZml4CisvLyBpZiAtV25vLWxvbmct bG9uZyBpcyBpbiB1c2UKKy8vIHsgZGctZG8gY29tcGlsZSB9CisvLyB7IGRn LXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCBpbnQzMnBsdXMgfSAKKy8vIHsg ZGctb3B0aW9ucyAiLXN0ZD1jKysweCAtcGVkYW50aWMtZXJyb3JzIiB9CisK Kwordm9pZCB1c2VfbG9uZ2xvbmcgKCkKK3sKKyAgdW5zaWduZWQgbG9uZyBs b25nIHgxLCB4MiwgeDM7IAorICAvLyBtYWtlIHN1cmUgaXQncyBvayB3aXRo IGhleCwgZGVjaW1hbCBhbmQgb2N0YWwKKyAgeDEgPSAweDFiMjdkYTU3MmVm M2NkODY7CisgIHgyID0gMTk1Njc3MjYzMTEwMDUwOTU3NDsKKyAgeDMgPSAw MTU0NDc2NjQ1MzQ1Njc0NzQ2NjA2OworfQpJbmRleDogZ2NjL3Rlc3RzdWl0 ZS9nKysuZGcvd2Fybi9wcjEzMzU4LkMKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0gZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvd2Fybi9wcjEzMzU4LkMJKHJl dmlzaW9uIDApCisrKyBnY2MvdGVzdHN1aXRlL2crKy5kZy93YXJuL3ByMTMz NTguQwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNSBAQAorLy8gUFIgYysr LzEzMzU4OiBnKysgc2hvdWxkIGFjY2VwdCBhIGxvbmcgbG9uZyBjb25zdGFu dCBzYW5zIExMIHN1ZmZpeAorLy8gaWYgLVduby1sb25nLWxvbmcgaXMgaW4g dXNlCisvLyB7IGRnLWRvIGNvbXBpbGUgfQorLy8geyBkZy1yZXF1aXJlLWVm ZmVjdGl2ZS10YXJnZXQgaW50MzJwbHVzIH0gCisvLyB7IGRnLW9wdGlvbnMg Ii1zdGQ9YysrOTggLVduby1sb25nLWxvbmcgLXBlZGFudGljLWVycm9ycyIg fQorCisKK3ZvaWQgdXNlX2xvbmdsb25nICgpCit7CisgIHVuc2lnbmVkIGxv bmcgbG9uZyB4MSwgeDIsIHgzOyAKKyAgLy8gbWFrZSBzdXJlIGl0J3Mgb2sg d2l0aCBoZXgsIGRlY2ltYWwgYW5kIG9jdGFsCisgIHgxID0gMHgxYjI3ZGE1 NzJlZjNjZDg2OworICB4MiA9IDE5NTY3NzI2MzExMDA1MDk1NzQ7CisgIHgz ID0gMDE1NDQ3NjY0NTM0NTY3NDc0NjYwNjsKK30KSW5kZXg6IGdjYy9jcC9w YXJzZXIuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBnY2MvY3AvcGFy c2VyLmMJKHJldmlzaW9uIDEzOTY3NCkKKysrIGdjYy9jcC9wYXJzZXIuYwko d29ya2luZyBjb3B5KQpAQCAtMjE1OCwxMiArMjE1OCwxMSBAQCBjcF9wYXJz ZXJfY2hlY2tfZGVjbF9zcGVjIChjcF9kZWNsX3NwZWNpCiAgICAgICAvKiBU aGUgImxvbmciIHNwZWNpZmllciBpcyBhIHNwZWNpYWwgY2FzZSBiZWNhdXNl IG9mICJsb25nIGxvbmciLiAgKi8KICAgICAgIGlmIChkcyA9PSBkc19sb25n KQogCXsKIAkgIGlmIChjb3VudCA+IDIpCiAJICAgIGVycm9yICgiJUglPGxv bmcgbG9uZyBsb25nJT4gaXMgdG9vIGxvbmcgZm9yIEdDQyIsICZsb2NhdGlv bik7Ci0JICBlbHNlIGlmIChwZWRhbnRpYyAmJiAhaW5fc3lzdGVtX2hlYWRl ciAmJiB3YXJuX2xvbmdfbG9uZwotICAgICAgICAgICAgICAgICAgICYmIGN4 eF9kaWFsZWN0ID09IGN4eDk4KQorCSAgZWxzZSAKIAkgICAgcGVkd2FybiAo bG9jYXRpb24sIE9QVF9XbG9uZ19sb25nLCAKIAkJICAgICAiSVNPIEMrKyAx OTk4IGRvZXMgbm90IHN1cHBvcnQgJTxsb25nIGxvbmclPiIpOwogCX0KICAg ICAgIGVsc2UgaWYgKGNvdW50ID4gMSkKIAl7CkluZGV4OiBnY2MvYy1kZWNs LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZ2NjL2MtZGVjbC5jCShy ZXZpc2lvbiAxMzk2NzQpCisrKyBnY2MvYy1kZWNsLmMJKHdvcmtpbmcgY29w eSkKQEAgLTcxODksMTIgKzcxODksMTEgQEAgZGVjbHNwZWNzX2FkZF90eXBl IChzdHJ1Y3QgY19kZWNsc3BlY3MgKgogCQkgICAgewogCQkgICAgICBlcnJv ciAoImJvdGggJTxsb25nIGxvbmclPiBhbmQgJTxkb3VibGUlPiBpbiAiCiAJ CQkgICAgICJkZWNsYXJhdGlvbiBzcGVjaWZpZXJzIik7CiAJCSAgICAgIGJy ZWFrOwogCQkgICAgfQotCQkgIGlmIChwZWRhbnRpYyAmJiAhZmxhZ19pc29j OTkgJiYgIWluX3N5c3RlbV9oZWFkZXIpCi0JCSAgICBwZWR3YXJuIChpbnB1 dF9sb2NhdGlvbiwgT1BUX1dsb25nX2xvbmcsICJJU08gQzkwIGRvZXMgbm90 IHN1cHBvcnQgJTxsb25nIGxvbmclPiIpOworCQkgIHBlZHdhcm4gKGlucHV0 X2xvY2F0aW9uLCBPUFRfV2xvbmdfbG9uZywgIklTTyBDOTAgZG9lcyBub3Qg c3VwcG9ydCAlPGxvbmcgbG9uZyU+Iik7CiAJCSAgc3BlY3MtPmxvbmdfbG9u Z19wID0gMTsKIAkJICBicmVhazsKIAkJfQogCSAgICAgIGlmIChzcGVjcy0+ c2hvcnRfcCkKIAkJZXJyb3IgKCJib3RoICU8bG9uZyU+IGFuZCAlPHNob3J0 JT4gaW4gIgpJbmRleDogZ2NjL2Mub3B0Cj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tIGdjYy9jLm9wdAkocmV2aXNpb24gMTM5Njc0KQorKysgZ2NjL2Mu b3B0CSh3b3JraW5nIGNvcHkpCkBAIC0yNzUsMTEgKzI3NSwxMSBAQCBXYXJu IGFib3V0IGludmFsaWQgdXNlcyBvZiB0aGUgXCJvZmZzZXRvCiBXaW52YWxp ZC1wY2gKIEMgT2JqQyBDKysgT2JqQysrIFdhcm5pbmcKIFdhcm4gYWJvdXQg UENIIGZpbGVzIHRoYXQgYXJlIGZvdW5kIGJ1dCBub3QgdXNlZAogCiBXbG9u Zy1sb25nCi1DIE9iakMgQysrIE9iakMrKyBWYXIod2Fybl9sb25nX2xvbmcp IEluaXQoMSkgV2FybmluZworQyBPYmpDIEMrKyBPYmpDKysgVmFyKHdhcm5f bG9uZ19sb25nKSBJbml0KC0xKSBXYXJuaW5nCiBEbyBub3Qgd2FybiBhYm91 dCB1c2luZyBcImxvbmcgbG9uZ1wiIHdoZW4gLXBlZGFudGljCiAKIFdtYWlu CiBDIE9iakMgQysrIE9iakMrKyBWYXIod2Fybl9tYWluKSBJbml0KC0xKSBX YXJuaW5nCiBXYXJuIGFib3V0IHN1c3BpY2lvdXMgZGVjbGFyYXRpb25zIG9m IFwibWFpblwiCkluZGV4OiBnY2MvYy1vcHRzLmMKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0gZ2NjL2Mtb3B0cy5jCShyZXZpc2lvbiAxMzk2NzQpCisr KyBnY2MvYy1vcHRzLmMJKHdvcmtpbmcgY29weSkKQEAgLTEzOTAsMTggKzEz OTAsMTkgQEAgc2FuaXRpemVfY3BwX29wdHMgKHZvaWQpCiAgICAgZXJyb3Ig KCItTUcgbWF5IG9ubHkgYmUgdXNlZCB3aXRoIC1NIG9yIC1NTSIpOwogCiAg IGNwcF9vcHRzLT51bnNpZ25lZF9jaGFyID0gIWZsYWdfc2lnbmVkX2NoYXI7 CiAgIGNwcF9vcHRzLT5zdGRjXzBfaW5fc3lzdGVtX2hlYWRlcnMgPSBTVERD XzBfSU5fU1lTVEVNX0hFQURFUlM7CiAKLSAgLyogV2Ugd2FudCAtV25vLWxv bmctbG9uZyB0byBvdmVycmlkZSAtcGVkYW50aWMgLXN0ZD1ub24tYzk5Ci0g ICAgIGFuZC9vciAtV3RyYWRpdGlvbmFsLCB3aGF0ZXZlciB0aGUgb3JkZXJp bmcuICAqLwotICBjcHBfb3B0cy0+d2Fybl9sb25nX2xvbmcKLSAgICA9IHdh cm5fbG9uZ19sb25nICYmICgocGVkYW50aWMKLQkJCSAgJiYgKGNfZGlhbGVj dF9jeHggKCkKLQkJCSAgICAgID8gY3h4X2RpYWxlY3QgPT0gY3h4OTgKLQkJ CSAgICAgIDogIWZsYWdfaXNvYzk5KSkKLSAgICAgICAgICAgICAgICAgICAg ICAgICB8fCB3YXJuX3RyYWRpdGlvbmFsKTsKKyAgLyogV2xvbmctbG9uZyBp cyBkaXNhYmxlZCBieSBkZWZhdWx0LiBJdCBpcyBlbmFibGVkIGJ5OgorICAg ICAgWy1wZWRhbnRpYyB8IC1XdHJhZGl0aW9uYWxdIC1zdGQ9W2dudXxjXSsr OTggOyBvcgorICAgICAgWy1wZWRhbnRpYyB8IC1XdHJhZGl0aW9uYWxdIC1z dGQ9bm9uLWM5OSAuIAorCisgICAgICBFaXRoZXIgLVdsb25nLWxvbmcgb3Ig LVduby1sb25nLWxvbmcgb3ZlcnJpZGUgYW55IG90aGVyIHNldHRpbmdzLiAg Ki8KKyAgaWYgKHdhcm5fbG9uZ19sb25nID09IC0xKQorICAgIHdhcm5fbG9u Z19sb25nID0gKChwZWRhbnRpYyB8fCB3YXJuX3RyYWRpdGlvbmFsKQorCQkg ICAgICAmJiAoY19kaWFsZWN0X2N4eCAoKSA/IGN4eF9kaWFsZWN0ID09IGN4 eDk4IDogIWZsYWdfaXNvYzk5KSk7CisgIGNwcF9vcHRzLT53YXJuX2xvbmdf bG9uZyA9IHdhcm5fbG9uZ19sb25nOwogCiAgIC8qIFNpbWlsYXJseSB3aXRo IC1Xbm8tdmFyaWFkaWMtbWFjcm9zLiAgTm8gY2hlY2sgZm9yIGM5OSBoZXJl LCBzaW5jZQogICAgICB0aGlzIGFsc28gdHVybnMgb2ZmIHdhcm5pbmdzIGFi b3V0IEdDQ3MgZXh0ZW5zaW9uLiAgKi8KICAgY3BwX29wdHMtPndhcm5fdmFy aWFkaWNfbWFjcm9zCiAgICAgPSB3YXJuX3ZhcmlhZGljX21hY3JvcyAmJiAo cGVkYW50aWMgfHwgd2Fybl90cmFkaXRpb25hbCk7CkluZGV4OiBnY2MvYy1w YXJzZXIuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBnY2MvYy1wYXJz ZXIuYwkocmV2aXNpb24gMTM5Njc0KQorKysgZ2NjL2MtcGFyc2VyLmMJKHdv cmtpbmcgY29weSkKQEAgLTgxNSwxOCArODE1LDE2IEBAIGRpc2FibGVfZXh0 ZW5zaW9uX2RpYWdub3N0aWNzICh2b2lkKQogewogICBpbnQgcmV0ID0gKHBl ZGFudGljCiAJICAgICB8ICh3YXJuX3BvaW50ZXJfYXJpdGggPDwgMSkKIAkg ICAgIHwgKHdhcm5fdHJhZGl0aW9uYWwgPDwgMikKIAkgICAgIHwgKGZsYWdf aXNvIDw8IDMpCi0JICAgICB8ICh3YXJuX2xvbmdfbG9uZyA8PCA0KQotCSAg ICAgfCAoY3BwX29wdHMtPndhcm5fbG9uZ19sb25nIDw8IDUpKTsKKwkgICAg IHwgKHdhcm5fbG9uZ19sb25nIDw8IDQpKTsKICAgY3BwX29wdHMtPnBlZGFu dGljID0gcGVkYW50aWMgPSAwOwogICB3YXJuX3BvaW50ZXJfYXJpdGggPSAw OwogICBjcHBfb3B0cy0+d2Fybl90cmFkaXRpb25hbCA9IHdhcm5fdHJhZGl0 aW9uYWwgPSAwOwogICBmbGFnX2lzbyA9IDA7Ci0gIHdhcm5fbG9uZ19sb25n ID0gMDsKLSAgY3BwX29wdHMtPndhcm5fbG9uZ19sb25nID0gMDsKKyAgY3Bw X29wdHMtPndhcm5fbG9uZ19sb25nID0gd2Fybl9sb25nX2xvbmcgPSAwOwog ICByZXR1cm4gcmV0OwogfQogCiAvKiBSZXN0b3JlIHRoZSB3YXJuaW5nIGZs YWdzIHdoaWNoIGFyZSBjb250cm9sbGVkIGJ5IF9fZXh0ZW5zaW9uX18uCiAg ICBGTEFHUyBpcyB0aGUgcmV0dXJuIHZhbHVlIGZyb20gZGlzYWJsZV9leHRl bnNpb25fZGlhZ25vc3RpY3MuICAqLwpAQCAtODM2LDEyICs4MzQsMTEgQEAg cmVzdG9yZV9leHRlbnNpb25fZGlhZ25vc3RpY3MgKGludCBmbGFncwogewog ICBjcHBfb3B0cy0+cGVkYW50aWMgPSBwZWRhbnRpYyA9IGZsYWdzICYgMTsK ICAgd2Fybl9wb2ludGVyX2FyaXRoID0gKGZsYWdzID4+IDEpICYgMTsKICAg Y3BwX29wdHMtPndhcm5fdHJhZGl0aW9uYWwgPSB3YXJuX3RyYWRpdGlvbmFs ID0gKGZsYWdzID4+IDIpICYgMTsKICAgZmxhZ19pc28gPSAoZmxhZ3MgPj4g MykgJiAxOwotICB3YXJuX2xvbmdfbG9uZyA9IChmbGFncyA+PiA0KSAmIDE7 Ci0gIGNwcF9vcHRzLT53YXJuX2xvbmdfbG9uZyA9IChmbGFncyA+PiA1KSAm IDE7CisgIGNwcF9vcHRzLT53YXJuX2xvbmdfbG9uZyA9IHdhcm5fbG9uZ19s b25nID0gKGZsYWdzID4+IDQpICYgMTsKIH0KIAogLyogUG9zc2libHkga2lu ZHMgb2YgZGVjbGFyYXRvciB0byBwYXJzZS4gICovCiB0eXBlZGVmIGVudW0g Y19kdHJfc3luIHsKICAgLyogQSBub3JtYWwgZGVjbGFyYXRvciB3aXRoIGFu IGlkZW50aWZpZXIuICAqLwo= ------=_Part_6804_30611244.1219963380181--