From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 77786 invoked by alias); 2 Dec 2017 00:39:04 -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 77774 invoked by uid 89); 2 Dec 2017 00:39:03 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-10.9 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_2,GIT_PATCH_3,KAM_ASCII_DIVIDERS,KB_WAM_FROM_NAME_SINGLEWORD,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=4868 X-HELO: mail-wm0-f52.google.com Received: from mail-wm0-f52.google.com (HELO mail-wm0-f52.google.com) (74.125.82.52) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 02 Dec 2017 00:39:00 +0000 Received: by mail-wm0-f52.google.com with SMTP id t8so6275371wmc.3 for ; Fri, 01 Dec 2017 16:39:00 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=6BIVuKo01FcEfhatQCyy2UYM48yiDqFLdTGdvDmta7k=; b=Cn4XFYbld8tB3etUNQULIN3rrjph2GWHKqvZMCgMuyflJLuggbNUONCvrur6yZFhTd n8rJ18VEcmqB++h643jSLezy5rETPx7BzahPxOqJsvStoq8SEFaXUR6dQNmCX5L0tggp 85Pu866aNWGDBFn7bsNHuhoUrhlj1y4eFRZ79M8aKN+hTsy3o2edcRJWWU+pITrktw2S 8bPM+Ne8Bph0mKZ0wbOyXhi2pi4QPdIQQ2pca4m8ghaGAJcwyQNfZQUqxnH8nRMeRvJo Lst6WTK/krozj/iPwhEHFEZ7gzaRLpAUTsnQQ2MqF2pgfCuPSOZXg7+aoBXc3HXA8mYP sg0Q== X-Gm-Message-State: AJaThX4n3e54fq4+UPJaP/mmWz+W8PxBo6logC5qOBRpqOoxK2MUhAoo T0UcaufOQT6hUqmbh9iBJ+Ie2YAJJV686IIbtZ+ncI5h X-Google-Smtp-Source: AGs4zMYUw/4MNDuQuoJuZVsi5bsukJ89zdkp3utxHkkkd7MQPs9zH2OXUM32+hLa8YYJ5IjPQbS5BjVbCIaiUVDHTms= X-Received: by 10.80.150.70 with SMTP id y64mr9583586eda.223.1512175138442; Fri, 01 Dec 2017 16:38:58 -0800 (PST) MIME-Version: 1.0 Received: by 10.80.179.221 with HTTP; Fri, 1 Dec 2017 16:38:57 -0800 (PST) From: Ian Lance Taylor Date: Sat, 02 Dec 2017 00:39:00 -0000 Message-ID: Subject: Go patch committed: Avoid middle-end control flow warnings To: gcc-patches , "gofrontend-dev@googlegroups.com" Content-Type: multipart/mixed; boundary="94eb2c195994f73afb055f50b594" X-SW-Source: 2017-12/txt/msg00087.txt.bz2 --94eb2c195994f73afb055f50b594 Content-Type: text/plain; charset="UTF-8" Content-length: 753 The GCC middle-end has started emitting "control reaches end of non-void function" warnings. This are not too useful for Go, which implements its own error for this in the frontend. Avoid the middle-end warnings for Go by 1) marking the builtin function panic and the compiler-generated function __go_runtime_error as not returning and 2) adding a default case to the switch used for select statements that simply calls __builtin_unreachable. This fixes https://golang.org/issue/22767. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline. Ian 2017-12-01 Ian Lance Taylor * go-gcc.cc (Gcc_backend::Gcc_backend): Define __builtin_unreachable. (Gcc_backend::function): Add does_not_return parameter. --94eb2c195994f73afb055f50b594 Content-Type: text/plain; charset="US-ASCII"; name="patch.txt" Content-Disposition: attachment; filename="patch.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jaolyujg0 Content-length: 10220 SW5kZXg6IGdjYy9nby9nby1nY2MuY2MKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0gZ2NjL2dvL2dvLWdjYy5jYwkocmV2aXNpb24gMjU1MzQwKQorKysg Z2NjL2dvL2dvLWdjYy5jYwkod29ya2luZyBjb3B5KQpAQCAtNDg2LDcgKzQ4 Niw4IEBAIGNsYXNzIEdjY19iYWNrZW5kIDogcHVibGljIEJhY2tlbmQKICAg QmZ1bmN0aW9uKgogICBmdW5jdGlvbihCdHlwZSogZm50eXBlLCBjb25zdCBz dGQ6OnN0cmluZyYgbmFtZSwgY29uc3Qgc3RkOjpzdHJpbmcmIGFzbV9uYW1l LAogICAgICAgICAgICBib29sIGlzX3Zpc2libGUsIGJvb2wgaXNfZGVjbGFy YXRpb24sIGJvb2wgaXNfaW5saW5hYmxlLAotICAgICAgICAgICBib29sIGRp c2FibGVfc3BsaXRfc3RhY2ssIGJvb2wgaW5fdW5pcXVlX3NlY3Rpb24sIExv Y2F0aW9uKTsKKyAgICAgICAgICAgYm9vbCBkaXNhYmxlX3NwbGl0X3N0YWNr LCBib29sIGRvZXNfbm90X3JldHVybiwKKwkgICBib29sIGluX3VuaXF1ZV9z ZWN0aW9uLCBMb2NhdGlvbik7CiAKICAgQnN0YXRlbWVudCoKICAgZnVuY3Rp b25fZGVmZXJfc3RhdGVtZW50KEJmdW5jdGlvbiogZnVuY3Rpb24sIEJleHBy ZXNzaW9uKiB1bmRlZmVyLApAQCAtNzYwLDYgKzc2MSwxMiBAQCBHY2NfYmFj a2VuZDo6R2NjX2JhY2tlbmQoKQogCQkJCQkJCWNvbnN0X3B0cl90eXBlX25v ZGUsCiAJCQkJCQkJTlVMTF9UUkVFKSwKIAkJICAgICAgIGZhbHNlLCBmYWxz ZSk7CisKKyAgLy8gVGhlIGNvbXBpbGVyIHVzZXMgX19idWlsdGluX3VucmVh Y2hhYmxlIGZvciBjYXNlcyB0aGF0IGNhbiBub3QKKyAgLy8gb2NjdXIuCisg IHRoaXMtPmRlZmluZV9idWlsdGluKEJVSUxUX0lOX1VOUkVBQ0hBQkxFLCAi X19idWlsdGluX3VucmVhY2hhYmxlIiwgTlVMTCwKKwkJICAgICAgIGJ1aWxk X2Z1bmN0aW9uX3R5cGUodm9pZF90eXBlX25vZGUsIHZvaWRfbGlzdF9ub2Rl KSwKKwkJICAgICAgIHRydWUsIHRydWUpOwogfQogCiAvLyBHZXQgYW4gdW5u YW1lZCBpbnRlZ2VyIHR5cGUuCkBAIC0zMDEyLDggKzMwMTksOCBAQCBCZnVu Y3Rpb24qCiBHY2NfYmFja2VuZDo6ZnVuY3Rpb24oQnR5cGUqIGZudHlwZSwg Y29uc3Qgc3RkOjpzdHJpbmcmIG5hbWUsCiAgICAgICAgICAgICAgICAgICAg ICAgY29uc3Qgc3RkOjpzdHJpbmcmIGFzbV9uYW1lLCBib29sIGlzX3Zpc2li bGUsCiAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBpc19kZWNsYXJhdGlv biwgYm9vbCBpc19pbmxpbmFibGUsCi0gICAgICAgICAgICAgICAgICAgICAg Ym9vbCBkaXNhYmxlX3NwbGl0X3N0YWNrLCBib29sIGluX3VuaXF1ZV9zZWN0 aW9uLAotICAgICAgICAgICAgICAgICAgICAgIExvY2F0aW9uIGxvY2F0aW9u KQorICAgICAgICAgICAgICAgICAgICAgIGJvb2wgZGlzYWJsZV9zcGxpdF9z dGFjaywgYm9vbCBkb2VzX25vdF9yZXR1cm4sCisJCSAgICAgIGJvb2wgaW5f dW5pcXVlX3NlY3Rpb24sIExvY2F0aW9uIGxvY2F0aW9uKQogewogICB0cmVl IGZ1bmN0eXBlID0gZm50eXBlLT5nZXRfdHJlZSgpOwogICBpZiAoZnVuY3R5 cGUgIT0gZXJyb3JfbWFya19ub2RlKQpAQCAtMzA0OSw2ICszMDU2LDggQEAg R2NjX2JhY2tlbmQ6OmZ1bmN0aW9uKEJ0eXBlKiBmbnR5cGUsIGNvbgogICAg ICAgdHJlZSBhdHRyID0gZ2V0X2lkZW50aWZpZXIgKCJub19zcGxpdF9zdGFj ayIpOwogICAgICAgREVDTF9BVFRSSUJVVEVTKGRlY2wpID0gdHJlZV9jb25z KGF0dHIsIE5VTExfVFJFRSwgTlVMTF9UUkVFKTsKICAgICB9CisgIGlmIChk b2VzX25vdF9yZXR1cm4pCisgICAgVFJFRV9USElTX1ZPTEFUSUxFKGRlY2wp ID0gMTsKICAgaWYgKGluX3VuaXF1ZV9zZWN0aW9uKQogICAgIHJlc29sdmVf dW5pcXVlX3NlY3Rpb24oZGVjbCwgMCwgMSk7CiAKSW5kZXg6IGdjYy9nby9n b2Zyb250ZW5kL01FUkdFCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGdj Yy9nby9nb2Zyb250ZW5kL01FUkdFCShyZXZpc2lvbiAyNTUzNDApCisrKyBn Y2MvZ28vZ29mcm9udGVuZC9NRVJHRQkod29ya2luZyBjb3B5KQpAQCAtMSw0 ICsxLDQgQEAKLThjZDQyYTNlOWUwZTYxOGJiMDllNjdiZTczZjdkMmYyNDc3 YTBmYWEKKzE5NDlhMjAzZmNhMGM4YmRlNmYyNjkwZWJjMzY0MjdjNWUzOTUz YzcKIAogVGhlIGZpcnN0IGxpbmUgb2YgdGhpcyBmaWxlIGhvbGRzIHRoZSBn aXQgcmV2aXNpb24gbnVtYmVyIG9mIHRoZSBsYXN0CiBtZXJnZSBkb25lIGZy b20gdGhlIGdvZnJvbnRlbmQgcmVwb3NpdG9yeS4KSW5kZXg6IGdjYy9nby9n b2Zyb250ZW5kL2JhY2tlbmQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LSBnY2MvZ28vZ29mcm9udGVuZC9iYWNrZW5kLmgJKHJldmlzaW9uIDI1NTM0 MCkKKysrIGdjYy9nby9nb2Zyb250ZW5kL2JhY2tlbmQuaAkod29ya2luZyBj b3B5KQpAQCAtNzExLDEyICs3MTEsMTUgQEAgY2xhc3MgQmFja2VuZAogICAv LyBJU19JTkxJTkFCTEUgaXMgdHJ1ZSBpZiB0aGUgZnVuY3Rpb24gY2FuIGJl IGlubGluZWQuCiAgIC8vIERJU0FCTEVfU1BMSVRfU1RBQ0sgaXMgdHJ1ZSBp ZiB0aGlzIGZ1bmN0aW9uIG1heSBub3Qgc3BsaXQgdGhlIHN0YWNrOyB0aGlz CiAgIC8vIGlzIHVzZWQgZm9yIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiByZWNv dmVyLgorICAvLyBET0VTX05PVF9SRVRVUk4gaXMgdHJ1ZSBmb3IgYSBmdW5j dGlvbiB0aGF0IGRvZXMgbm90IHJldHVybjsgdGhpcyBpcyB1c2VkCisgIC8v IGZvciB0aGUgaW1wbGVtZW50YXRpb24gb2YgcGFuaWMuCiAgIC8vIElOX1VO SVFVRV9TRUNUSU9OIGlzIHRydWUgaWYgdGhpcyBmdW5jdGlvbiBzaG91bGQg YmUgcHV0IGludG8gYSB1bmlxdWUKICAgLy8gbG9jYXRpb24gaWYgcG9zc2li bGU7IHRoaXMgaXMgdXNlZCBmb3IgZmllbGQgdHJhY2tpbmcuCiAgIHZpcnR1 YWwgQmZ1bmN0aW9uKgogICBmdW5jdGlvbihCdHlwZSogZm50eXBlLCBjb25z dCBzdGQ6OnN0cmluZyYgbmFtZSwgY29uc3Qgc3RkOjpzdHJpbmcmIGFzbV9u YW1lLAogICAgICAgICAgICBib29sIGlzX3Zpc2libGUsIGJvb2wgaXNfZGVj bGFyYXRpb24sIGJvb2wgaXNfaW5saW5hYmxlLAotICAgICAgICAgICBib29s IGRpc2FibGVfc3BsaXRfc3RhY2ssIGJvb2wgaW5fdW5pcXVlX3NlY3Rpb24s IExvY2F0aW9uKSA9IDA7CisgICAgICAgICAgIGJvb2wgZGlzYWJsZV9zcGxp dF9zdGFjaywgYm9vbCBkb2VzX25vdF9yZXR1cm4sCisJICAgYm9vbCBpbl91 bmlxdWVfc2VjdGlvbiwgTG9jYXRpb24pID0gMDsKIAogICAvLyBDcmVhdGUg YSBzdGF0ZW1lbnQgdGhhdCBydW5zIGFsbCBkZWZlcnJlZCBjYWxscyBmb3Ig RlVOQ1RJT04uICBUaGlzIHNob3VsZAogICAvLyBiZSBhIHN0YXRlbWVudCB0 aGF0IGxvb2tzIGxpa2UgdGhpcyBpbiBDKys6CkluZGV4OiBnY2MvZ28vZ29m cm9udGVuZC9nb2dvLmNjCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGdj Yy9nby9nb2Zyb250ZW5kL2dvZ28uY2MJKHJldmlzaW9uIDI1NTM0MCkKKysr IGdjYy9nby9nb2Zyb250ZW5kL2dvZ28uY2MJKHdvcmtpbmcgY29weSkKQEAg LTcxMSw3ICs3MTEsNyBAQCBHb2dvOjppbml0X2ltcG9ydHMoc3RkOjp2ZWN0 b3I8QnN0YXRlbWVuCiAKICAgICAgIEJmdW5jdGlvbiogcGZ1bmMgPSB0aGlz LT5iYWNrZW5kKCktPmZ1bmN0aW9uKGZudHlwZSwgdXNlcl9uYW1lLCBpbml0 X25hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB0cnVlLCB0cnVlLCB0cnVlLCBmYWxzZSwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGZhbHNlLCB1bmtub3duX2xvYyk7CisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSwgZmFsc2UsIHVu a25vd25fbG9jKTsKICAgICAgIEJleHByZXNzaW9uKiBwZnVuY19jb2RlID0K ICAgICAgICAgICB0aGlzLT5iYWNrZW5kKCktPmZ1bmN0aW9uX2NvZGVfZXhw cmVzc2lvbihwZnVuYywgdW5rbm93bl9sb2MpOwogICAgICAgQmV4cHJlc3Np b24qIHBmdW5jX2NhbGwgPQpAQCAtNTQzNSw4ICs1NDM1LDggQEAgRnVuY3Rp b246OmdldF9vcl9tYWtlX2RlY2woR29nbyogZ29nbywgTgogICAgICAgdGhp cy0+Zm5kZWNsXyA9CiAgICAgICAgICAgZ29nby0+YmFja2VuZCgpLT5mdW5j dGlvbihmdW5jdHlwZSwgbm8tPmdldF9pZChnb2dvKSwgYXNtX25hbWUsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc192aXNpYmxl LCBmYWxzZSwgaXNfaW5saW5hYmxlLAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZGlzYWJsZV9zcGxpdF9zdGFjaywgaW5fdW5pcXVl X3NlY3Rpb24sCi0JCQkJICAgIHRoaXMtPmxvY2F0aW9uKCkpOworICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZV9zcGxpdF9z dGFjaywgZmFsc2UsCisJCQkJICAgIGluX3VuaXF1ZV9zZWN0aW9uLCB0aGlz LT5sb2NhdGlvbigpKTsKICAgICB9CiAgIHJldHVybiB0aGlzLT5mbmRlY2xf OwogfQpAQCAtNTQ0OCw2ICs1NDQ4LDggQEAgRnVuY3Rpb25fZGVjbGFyYXRp b246OmdldF9vcl9tYWtlX2RlY2woRwogewogICBpZiAodGhpcy0+Zm5kZWNs XyA9PSBOVUxMKQogICAgIHsKKyAgICAgIGJvb2wgZG9lc19ub3RfcmV0dXJu ID0gZmFsc2U7CisKICAgICAgIC8vIExldCBHbyBjb2RlIHVzZSBhbiBhc20g ZGVjbGFyYXRpb24gdG8gcGljayB1cCBhIGJ1aWx0aW4KICAgICAgIC8vIGZ1 bmN0aW9uLgogICAgICAgaWYgKCF0aGlzLT5hc21fbmFtZV8uZW1wdHkoKSkK QEAgLTU0NTksNiArNTQ2MSwxMCBAQCBGdW5jdGlvbl9kZWNsYXJhdGlvbjo6 Z2V0X29yX21ha2VfZGVjbChHCiAJICAgICAgdGhpcy0+Zm5kZWNsXyA9IGJ1 aWx0aW5fZGVjbDsKIAkgICAgICByZXR1cm4gdGhpcy0+Zm5kZWNsXzsKIAkg ICAgfQorCisJICBpZiAodGhpcy0+YXNtX25hbWVfID09ICJydW50aW1lLmdv cGFuaWMiCisJICAgICAgfHwgdGhpcy0+YXNtX25hbWVfID09ICJfX2dvX3J1 bnRpbWVfZXJyb3IiKQorCSAgICBkb2VzX25vdF9yZXR1cm4gPSB0cnVlOwog CX0KIAogICAgICAgc3RkOjpzdHJpbmcgYXNtX25hbWU7CkBAIC01NDc1LDgg KzU0ODEsOCBAQCBGdW5jdGlvbl9kZWNsYXJhdGlvbjo6Z2V0X29yX21ha2Vf ZGVjbChHCiAgICAgICBCdHlwZSogZnVuY3R5cGUgPSB0aGlzLT5mbnR5cGVf LT5nZXRfYmFja2VuZF9mbnR5cGUoZ29nbyk7CiAgICAgICB0aGlzLT5mbmRl Y2xfID0KICAgICAgICAgICBnb2dvLT5iYWNrZW5kKCktPmZ1bmN0aW9uKGZ1 bmN0eXBlLCBuby0+Z2V0X2lkKGdvZ28pLCBhc21fbmFtZSwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUsIHRydWUsIHRydWUs IGZhbHNlLCBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHRoaXMtPmxvY2F0aW9uKCkpOworICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdHJ1ZSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UsIGRv ZXNfbm90X3JldHVybiwKKwkJCQkgICAgZmFsc2UsIHRoaXMtPmxvY2F0aW9u KCkpOwogICAgIH0KIAogICByZXR1cm4gdGhpcy0+Zm5kZWNsXzsKSW5kZXg6 IGdjYy9nby9nb2Zyb250ZW5kL3J1bnRpbWUuZGVmCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tIGdjYy9nby9nb2Zyb250ZW5kL3J1bnRpbWUuZGVmCShy ZXZpc2lvbiAyNTUzNDApCisrKyBnY2MvZ28vZ29mcm9udGVuZC9ydW50aW1l LmRlZgkod29ya2luZyBjb3B5KQpAQCAtMzYzLDYgKzM2Myw5IEBAIERFRl9H T19SVU5USU1FKFBSSU5UTkwsICJydW50aW1lLnByaW50bmwKIERFRl9HT19S VU5USU1FKEZJRUxEVFJBQ0ssICJfX2dvX2ZpZWxkdHJhY2siLCBQMShQT0lO VEVSKSwgUjAoKSkKIAogCisvLyBVbnJlYWNoYWJsZSBjb2RlLgorREVGX0dP X1JVTlRJTUUoVU5SRUFDSEFCTEUsICJfX2J1aWx0aW5fdW5yZWFjaGFibGUi LCBQMCgpLCBSMCgpKQorCiAvLyBSZW1vdmUgaGVscGVyIG1hY3Jvcy4KICN1 bmRlZiBBQkZUNgogI3VuZGVmIEFCRlQyCkluZGV4OiBnY2MvZ28vZ29mcm9u dGVuZC9zdGF0ZW1lbnRzLmNjCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t IGdjYy9nby9nb2Zyb250ZW5kL3N0YXRlbWVudHMuY2MJKHJldmlzaW9uIDI1 NTM0MCkKKysrIGdjYy9nby9nb2Zyb250ZW5kL3N0YXRlbWVudHMuY2MJKHdv cmtpbmcgY29weSkKQEAgLTQ4NjYsOCArNDg2Niw4IEBAIFNlbGVjdF9jbGF1 c2VzOjpnZXRfYmFja2VuZChUcmFuc2xhdGVfY28KIAkJCSAgICBMb2NhdGlv biBsb2NhdGlvbikKIHsKICAgc2l6ZV90IGNvdW50ID0gdGhpcy0+Y2xhdXNl c18uc2l6ZSgpOwotICBzdGQ6OnZlY3RvcjxzdGQ6OnZlY3RvcjxCZXhwcmVz c2lvbio+ID4gY2FzZXMoY291bnQpOwotICBzdGQ6OnZlY3RvcjxCc3RhdGVt ZW50Kj4gY2xhdXNlcyhjb3VudCk7CisgIHN0ZDo6dmVjdG9yPHN0ZDo6dmVj dG9yPEJleHByZXNzaW9uKj4gPiBjYXNlcyhjb3VudCArIDEpOworICBzdGQ6 OnZlY3RvcjxCc3RhdGVtZW50Kj4gY2xhdXNlcyhjb3VudCArIDEpOwogCiAg IFR5cGUqIGludF90eXBlID0gVHlwZTo6bG9va3VwX2ludGVnZXJfdHlwZSgi aW50Iik7CiAKQEAgLTQ5MDUsMTAgKzQ5MDUsMTUgQEAgU2VsZWN0X2NsYXVz ZXM6OmdldF9iYWNrZW5kKFRyYW5zbGF0ZV9jbwogICAgICAgcmV0dXJuIGNv bnRleHQtPmJhY2tlbmQoKS0+ZXhwcmVzc2lvbl9zdGF0ZW1lbnQoYmZ1bmN0 aW9uLCBiY2FsbCk7CiAgICAgfQogCisgIEJmdW5jdGlvbiogYmZ1bmN0aW9u ID0gY29udGV4dC0+ZnVuY3Rpb24oKS0+ZnVuY192YWx1ZSgpLT5nZXRfZGVj bCgpOworCisgIEV4cHJlc3Npb24qIGNyYXNoID0gUnVudGltZTo6bWFrZV9j YWxsKFJ1bnRpbWU6OlVOUkVBQ0hBQkxFLCBsb2NhdGlvbiwgMCk7CisgIEJl eHByZXNzaW9uKiBiY3Jhc2ggPSBjcmFzaC0+Z2V0X2JhY2tlbmQoY29udGV4 dCk7CisgIGNsYXVzZXNbY291bnRdID0gY29udGV4dC0+YmFja2VuZCgpLT5l eHByZXNzaW9uX3N0YXRlbWVudChiZnVuY3Rpb24sIGJjcmFzaCk7CisKICAg c3RkOjp2ZWN0b3I8QnN0YXRlbWVudCo+IHN0YXRlbWVudHM7CiAgIHN0YXRl bWVudHMucmVzZXJ2ZSgyKTsKIAotICBCZnVuY3Rpb24qIGJmdW5jdGlvbiA9 IGNvbnRleHQtPmZ1bmN0aW9uKCktPmZ1bmNfdmFsdWUoKS0+Z2V0X2RlY2wo KTsKICAgQnN0YXRlbWVudCogc3dpdGNoX3N0bXQgPSBjb250ZXh0LT5iYWNr ZW5kKCktPnN3aXRjaF9zdGF0ZW1lbnQoYmZ1bmN0aW9uLAogCQkJCQkJCQkg YmNhbGwsCiAJCQkJCQkJCSBjYXNlcywK --94eb2c195994f73afb055f50b594--