From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18044 invoked by alias); 20 Nov 2014 16:56:16 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 18034 invoked by uid 89); 20 Nov 2014 16:56:16 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.9 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: mail-oi0-f48.google.com Received: from mail-oi0-f48.google.com (HELO mail-oi0-f48.google.com) (209.85.218.48) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Thu, 20 Nov 2014 16:56:14 +0000 Received: by mail-oi0-f48.google.com with SMTP id u20so2311245oif.35 for ; Thu, 20 Nov 2014 08:56:12 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to :content-type; bh=gbaS5nmPVggbhTot9RQ06GT7gcXfmHRlW2DFRNIzNaw=; b=QRCAjzJS5fhjfW5J+eQkothMd78B0UYujD0kkLIV/muUllk7+cNBs+XFJGpb6Muf8D qczKd2LHN4NFCKJ2BczW6zTTIn96CjQeEQszQ5Wwrt2Me14MDgwOzqRNChFoTxiY8pw/ GUxTOH4aIeMX6s0q3MbseQXFTDhJYhEkZdqbgqyuM1hMDo6K04XLNAB5sUUiMUybPbBW wIGe46+0wH0IgbllnEl/8xCDYPur/xasA1g1z+buoNrdErvaXlk4UQ16vZluSyBpq+vx OKPcpfhdR1XZMRMglkdxny7f/hM5twyiYpedJO+zxcM6Qn+v3vOqbrcKuq931RCdCxjB UgmQ== X-Gm-Message-State: ALoCoQmmgIyDYINkP99zW3NJgTTjCE+aMAqaBo1xt1z86YDfTVzAAyzBElF65J9LC8IhCahYWNtG MIME-Version: 1.0 X-Received: by 10.60.67.233 with SMTP id q9mr42846354oet.30.1416502572317; Thu, 20 Nov 2014 08:56:12 -0800 (PST) Received: by 10.202.177.3 with HTTP; Thu, 20 Nov 2014 08:56:12 -0800 (PST) Date: Thu, 20 Nov 2014 16:56:00 -0000 Message-ID: Subject: [PATCH] Enable invoking overloaded operator() method on class and union values. From: Siva Chandra To: gdb-patches Content-Type: multipart/mixed; boundary=001a11c30fbca5d94005084d34c4 X-IsSubscribed: yes X-SW-Source: 2014-11/txt/msg00479.txt.bz2 --001a11c30fbca5d94005084d34c4 Content-Type: text/plain; charset=UTF-8 Content-length: 994 Hello, The attached patch enables invoking overloaded operator() method on class and union values when evaluating expressions. [I expected that once this feature is in, invoking c++ lambdas would also be possible naturally. However, It does not happen and I am working on that.] gdb/ChangeLog: 2014-11-20 Siva Chandra Reddy * eval.c (evaluate_subexp_standard): Extend handling of OP_FUNCALL operation to enable invoking overloaded operator() methods. * gdbtypes.c (class_or_union_p): New function. * gdbtypes.h (class_or_union_p): Declare. gdb/testsuite/ChangeLog: 2014-11-20 Siva Chandra Reddy * gdb.cp/member-ptr.exp: Modify expected pattern of "print diamond.*diamond_pfunc_ptr (20)" and "print diamond.*left_vpmf ()". * gdb.cp/paren-op.cc: New file. * gdb.cp/paren-op.exp: New file. Regression tested on x86_64 GNU/Linux. Thank you, Siva Chandra --001a11c30fbca5d94005084d34c4 Content-Type: text/plain; charset=US-ASCII; name="paren_op_v1.txt" Content-Disposition: attachment; filename="paren_op_v1.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i2qcs8iy0 Content-length: 10944 ZGlmZiAtLWdpdCBhL2dkYi9ldmFsLmMgYi9nZGIvZXZhbC5jCmluZGV4IDY1 NWVhMjIuLjllNThjYWEgMTAwNjQ0Ci0tLSBhL2dkYi9ldmFsLmMKKysrIGIv Z2RiL2V2YWwuYwpAQCAtNjg1LDYgKzY4NSw3IEBAIGV2YWx1YXRlX3N1YmV4 cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAogICBzdHJ1 Y3QgdHlwZSAqdHlwZTsKICAgaW50IG5hcmdzOwogICBzdHJ1Y3QgdmFsdWUg Kiphcmd2ZWM7CisgIHN0cnVjdCB0eXBlICpjYWxsYWJsZV90eXBlID0gTlVM TDsKICAgaW50IGNvZGU7CiAgIGludCBpeDsKICAgbG9uZyBtZW1fb2Zmc2V0 OwpAQCAtMTUwMiwyMSArMTUwMyw0OCBAQCBldmFsdWF0ZV9zdWJleHBfc3Rh bmRhcmQgKHN0cnVjdCB0eXBlICpleHBlY3RfdHlwZSwKICAgICAgICAgfQog ICAgICAgZWxzZQogCXsKLQkgIC8qIE5vbi1tZXRob2QgZnVuY3Rpb24gY2Fs bC4gICovCisJICAvKiBJdCBjb3VsZCBlaXRoZXIgYmUgYSBub3JtYWwgZnVu Y3Rpb24gY2FsbCwgb3IgYW4gb3ZlcmxvYWRlZAorCSAgICAgb3BlcmF0b3Io KSBjYWxsLiAgKi8KKwkgIHN0cnVjdCB2YWx1ZSAqY2FsbGFibGVfdmFsdWU7 CisJICBpbnQgZnB0ciA9IDAsIHN0cnVjdF9vcl91bmlvbiA9IDAsIGludGVy bmFsX2Z1bmMgPSAwOwogCSAgc2F2ZV9wb3MxID0gKnBvczsKIAkgIHRlbSA9 IDE7CiAKLQkgIC8qIElmIHRoaXMgaXMgYSBDKysgZnVuY3Rpb24gd2FpdCB1 bnRpbCBvdmVybG9hZCByZXNvbHV0aW9uLiAgKi8KLQkgIGlmIChvcCA9PSBP UF9WQVJfVkFMVUUKLQkgICAgICAmJiBvdmVybG9hZF9yZXNvbHV0aW9uCi0J ICAgICAgJiYgKGV4cC0+bGFuZ3VhZ2VfZGVmbi0+bGFfbGFuZ3VhZ2UgPT0g bGFuZ3VhZ2VfY3BsdXMpKQorCSAgY2FsbGFibGVfdmFsdWUgPSBldmFsdWF0 ZV9zdWJleHBfd2l0aF9jb2VyY2lvbiAoZXhwLCBwb3MsIG5vc2lkZSk7CisJ ICBjYWxsYWJsZV90eXBlID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAo Y2FsbGFibGVfdmFsdWUpKTsKKwkgIGlmIChUWVBFX0NPREUgKGNhbGxhYmxl X3R5cGUpID09IFRZUEVfQ09ERV9QVFIpCiAJICAgIHsKLQkgICAgICAoKnBv cykgKz0gNDsgLyogU2tpcCB0aGUgZXZhbHVhdGlvbiBvZiB0aGUgc3ltYm9s LiAgKi8KKwkgICAgICBjYWxsYWJsZV90eXBlID0gY2hlY2tfdHlwZWRlZiAo VFlQRV9UQVJHRVRfVFlQRSAoY2FsbGFibGVfdHlwZSkpOworCSAgICAgIGlm IChUWVBFX0NPREUgKGNhbGxhYmxlX3R5cGUpICE9IFRZUEVfQ09ERV9GVU5D KQorCQllcnJvciAoXygiT3BlcmFuZCB0byAnKCknIG9wZXJhdG9yIGlzIG5v dCBhIGNhbGxhYmxlLiIpKTsKKwkgICAgICBmcHRyID0gMTsKKwkgICAgfQor CSAgZWxzZSBpZiAoZXhwLT5sYW5ndWFnZV9kZWZuLT5sYV9sYW5ndWFnZSA9 PSBsYW5ndWFnZV9jcGx1cworCQkgICAmJiBjbGFzc19vcl91bmlvbl9wIChj YWxsYWJsZV90eXBlKSkKKwkgICAgc3RydWN0X29yX3VuaW9uID0gMTsgIC8q IFRoZXJlIGNvdWxkIGJlIGFuIG9wZXJhdG9yKCkgbWV0aG9kLiAgKi8KKwkg IGVsc2UgaWYgKFRZUEVfQ09ERSAoY2FsbGFibGVfdHlwZSkgPT0gVFlQRV9D T0RFX0lOVEVSTkFMX0ZVTkNUSU9OKQorCSAgICBpbnRlcm5hbF9mdW5jID0g MTsKKwkgIGVsc2UgaWYgKFRZUEVfQ09ERSAoY2FsbGFibGVfdHlwZSkgPT0g VFlQRV9DT0RFX0ZVTkMpCisJICAgIDsgIC8qIE5vcm1hbCBmdW5jdGlvbiBj YWxsLiAgKi8KKwkgIGVsc2UKKwkgICAgZXJyb3IgKF8oIk9wZXJhbmQgdG8g JygpJyBvcGVyYXRvciBpcyBub3QgYSBjYWxsYWJsZS4iKSk7CisKKwkgIC8q IElmIHRoaXMgaXMgQysrLCB3YWl0IHVudGlsIG92ZXJsb2FkIHJlc29sdXRp b24uICAqLworCSAgaWYgKCFmcHRyICYmICFpbnRlcm5hbF9mdW5jCisJICAg ICAgJiYgZXhwLT5sYW5ndWFnZV9kZWZuLT5sYV9sYW5ndWFnZSA9PSBsYW5n dWFnZV9jcGx1cworCSAgICAgICYmIChvdmVybG9hZF9yZXNvbHV0aW9uIHx8 IHN0cnVjdF9vcl91bmlvbikpCisJICAgIHsKKwkgICAgICBpZiAoc3RydWN0 X29yX3VuaW9uKQorCQl7CisJCSAgYXJnMiA9IHZhbHVlX2FkZHIgKGNhbGxh YmxlX3ZhbHVlKTsKKwkJICBuYXJncysrOworCQkgIHRlbSA9IDI7CisJCX0K IAkgICAgICBhcmd2ZWNbMF0gPSBOVUxMOwogCSAgICB9CiAJICBlbHNlCiAJ ICAgIHsKLQkgICAgICBhcmd2ZWNbMF0gPSBldmFsdWF0ZV9zdWJleHBfd2l0 aF9jb2VyY2lvbiAoZXhwLCBwb3MsIG5vc2lkZSk7CisJICAgICAgYXJndmVj WzBdID0gY2FsbGFibGVfdmFsdWU7CiAJICAgICAgdHlwZSA9IHZhbHVlX3R5 cGUgKGFyZ3ZlY1swXSk7CiAJICAgICAgaWYgKHR5cGUgJiYgVFlQRV9DT0RF ICh0eXBlKSA9PSBUWVBFX0NPREVfUFRSKQogCQl0eXBlID0gVFlQRV9UQVJH RVRfVFlQRSAodHlwZSk7CkBAIC0xNTcxLDEwICsxNTk5LDExIEBAIGV2YWx1 YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBl LAogICAgICAgICB9CiAKICAgICAgIGlmIChvcCA9PSBTVFJVQ1RPUF9TVFJV Q1QgfHwgb3AgPT0gU1RSVUNUT1BfUFRSCi0JICB8fCAob3AgPT0gT1BfU0NP UEUgJiYgZnVuY3Rpb25fbmFtZSAhPSBOVUxMKSkKKwkgIHx8IChvcCA9PSBP UF9TQ09QRSAmJiBmdW5jdGlvbl9uYW1lICE9IE5VTEwpCisJICB8fCAoY2Fs bGFibGVfdHlwZSAhPSBOVUxMICYmIGNsYXNzX29yX3VuaW9uX3AgKGNhbGxh YmxlX3R5cGUpKSkKIAl7CiAJICBpbnQgc3RhdGljX21lbWZ1bmNwOwotCSAg Y2hhciAqdHN0cjsKKwkgIGNvbnN0IGNoYXIgKnRzdHI7CiAKIAkgIC8qIE1l dGhvZCBpbnZvY2F0aW9uOiBzdHVmZiAidGhpcyIgYXMgZmlyc3QgcGFyYW1l dGVyLgogCSAgICAgSWYgdGhlIG1ldGhvZCB0dXJucyBvdXQgdG8gYmUgc3Rh dGljIHdlIHVuZG8gdGhpcyBiZWxvdy4gICovCkBAIC0xNTgyLDggKzE2MTEs MTMgQEAgZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAq ZXhwZWN0X3R5cGUsCiAKIAkgIGlmIChvcCAhPSBPUF9TQ09QRSkKIAkgICAg ewotCSAgICAgIC8qIE5hbWUgb2YgbWV0aG9kIGZyb20gZXhwcmVzc2lvbi4g ICovCi0JICAgICAgdHN0ciA9ICZleHAtPmVsdHNbcGMyICsgMl0uc3RyaW5n OworCSAgICAgIGlmIChjYWxsYWJsZV90eXBlID09IE5VTEwpCisJCXsKKwkJ ICAvKiBOYW1lIG9mIG1ldGhvZCBmcm9tIGV4cHJlc3Npb24uICAqLworCQkg IHRzdHIgPSAmZXhwLT5lbHRzW3BjMiArIDJdLnN0cmluZzsKKwkJfQorCSAg ICAgIGVsc2UKKwkJdHN0ciA9ICJvcGVyYXRvcigpIjsKIAkgICAgfQogCSAg ZWxzZQogCSAgICB0c3RyID0gZnVuY3Rpb25fbmFtZTsKZGlmZiAtLWdpdCBh L2dkYi9nZGJ0eXBlcy5jIGIvZ2RiL2dkYnR5cGVzLmMKaW5kZXggOGU0NGI3 Yy4uZGUyZWYyYiAxMDA2NDQKLS0tIGEvZ2RiL2dkYnR5cGVzLmMKKysrIGIv Z2RiL2dkYnR5cGVzLmMKQEAgLTI1MTMsNiArMjUxMywxNSBAQCBjbGFzc190 eXBlc19zYW1lX3AgKGNvbnN0IHN0cnVjdCB0eXBlICphLCBjb25zdCBzdHJ1 Y3QgdHlwZSAqYikKIAkgICAgICAmJiAhc3RyY21wIChUWVBFX05BTUUgKGEp LCBUWVBFX05BTUUgKGIpKSkpOwogfQogCisvKiBSZXR1cm4gdHJ1ZSBpcyBU IGlzIGEgY2xhc3Mgb3IgYSB1bmlvbi4gIEZhbHNlIG90aGVyd2lzZS4gICov CisKK2ludAorY2xhc3Nfb3JfdW5pb25fcCAoY29uc3Qgc3RydWN0IHR5cGUg KnQpCit7CisgIHJldHVybiAoVFlQRV9DT0RFICh0KSA9PSBUWVBFX0NPREVf U1RSVUNUCisJICB8fCBUWVBFX0NPREUgKHQpID09IFRZUEVfQ09ERV9VTklP Tik7Cit9CisKIC8qIElmIEJBU0UgaXMgYW4gYW5jZXN0b3Igb2YgRENMQVNT IHJldHVybiB0aGUgZGlzdGFuY2UgYmV0d2VlbiB0aGVtLgogICAgb3RoZXJ3 aXNlIHJldHVybiAtMTsKICAgIGVnOgpkaWZmIC0tZ2l0IGEvZ2RiL2dkYnR5 cGVzLmggYi9nZGIvZ2RidHlwZXMuaAppbmRleCAxNGExZjA4Li5kMzJjOTdj IDEwMDY0NAotLS0gYS9nZGIvZ2RidHlwZXMuaAorKysgYi9nZGIvZ2RidHlw ZXMuaApAQCAtMTc0Miw2ICsxNzQyLDggQEAgZXh0ZXJuIGludCBnZXRfYXJy YXlfYm91bmRzIChzdHJ1Y3QgdHlwZSAqdHlwZSwgTE9OR0VTVCAqbG93X2Jv dW5kLAogCiBleHRlcm4gaW50IGNsYXNzX3R5cGVzX3NhbWVfcCAoY29uc3Qg c3RydWN0IHR5cGUgKiwgY29uc3Qgc3RydWN0IHR5cGUgKik7CiAKK2V4dGVy biBpbnQgY2xhc3Nfb3JfdW5pb25fcCAoY29uc3Qgc3RydWN0IHR5cGUgKnQp OworCiBleHRlcm4gaW50IGlzX2FuY2VzdG9yIChzdHJ1Y3QgdHlwZSAqLCBz dHJ1Y3QgdHlwZSAqKTsKIAogZXh0ZXJuIGludCBpc19wdWJsaWNfYW5jZXN0 b3IgKHN0cnVjdCB0eXBlICosIHN0cnVjdCB0eXBlICopOwpkaWZmIC0tZ2l0 IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvbWVtYmVyLXB0ci5leHAgYi9nZGIv dGVzdHN1aXRlL2dkYi5jcC9tZW1iZXItcHRyLmV4cAppbmRleCBjMTNiODUy Li42NDlmZTg5IDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5jcC9t ZW1iZXItcHRyLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9tZW1i ZXItcHRyLmV4cApAQCAtMzg5LDcgKzM4OSw3IEBAIGdkYl90ZXN0ICJwdHlw ZSBkaWFtb25kLipkaWFtb25kX3BmdW5jX3B0ciIgXAogIyBjYWxsIHRoZSBt ZW1iZXIgcG9pbnRlciBhcyBhIG5vcm1hbCBwb2ludGVyLXRvLWZ1bmN0aW9u LgogCiBnZGJfdGVzdCAicHJpbnQgZGlhbW9uZC4qZGlhbW9uZF9wZnVuY19w dHIgKDIwKSIgXAotICAgICJJbnZhbGlkIGRhdGEgdHlwZSBmb3IgZnVuY3Rp b24gdG8gYmUgY2FsbGVkLiIKKyAgICAiT3BlcmFuZCB0byAnXFwoXFwpJyBv cGVyYXRvciBpcyBub3QgYSBjYWxsYWJsZVxcLiIKIAogIyBXaXRoIHBhcmVu dGhlc2VzLCBpdCBpcyB2YWxpZC4KIApAQCAtNjY1LDcgKzY2NSw3IEBAIGdk Yl90ZXN0ICJwcmludCBiYXNlX3ZwbWYiIFwKIAogIyBNYWtlIHN1cmUgd2Ug cGFyc2UgdGhpcyBjb3JyZWN0bHk7IGl0J3MgaW52YWxpZC4KIGdkYl90ZXN0 ICJwcmludCBkaWFtb25kLipsZWZ0X3ZwbWYgKCkiIFwKLSAgICAiSW52YWxp ZCBkYXRhIHR5cGUgZm9yIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZFxcLiIKKyAg ICAiT3BlcmFuZCB0byAnXFwoXFwpJyBvcGVyYXRvciBpcyBub3QgYSBjYWxs YWJsZVxcLiIKIAogIyBOVUxMIHBvaW50ZXIgdG8gbWVtYmVyIHRlc3RzLgog Z2RiX3Rlc3QgInByaW50IG51bGxfcG1pIiAiJHZobiA9IE5VTEwiCmRpZmYg LS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5jcC9wYXJlbi1vcC5jYyBiL2dk Yi90ZXN0c3VpdGUvZ2RiLmNwL3BhcmVuLW9wLmNjCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg5YTA4NWEKLS0tIC9kZXYvbnVsbAor KysgYi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9wYXJlbi1vcC5jYwpAQCAtMCww ICsxLDYwIEBACisvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0 aGUgR05VIGRlYnVnZ2VyLgorCisgICBDb3B5cmlnaHQgMjAxNCBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKworICAgVGhpcyBwcm9ncmFtIGlz IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v ciBtb2RpZnkKKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgICB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9m IHRoZSBMaWNlbnNlLCBvcgorICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0 ZXIgdmVyc2lvbi4KKworICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICBidXQg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll ZCB3YXJyYW50eSBvZgorICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICAgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAg WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UKKyAgIGFsb25nIHdpdGggdGhpcyBwcm9n cmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNl cy8+LiAgKi8KKworc3RydWN0IFMKK3sKKyAgaW50IG9wZXJhdG9yKCkgKGlu dCB4KTsKK307CisKK2ludAorUzo6b3BlcmF0b3IoKSAoaW50IHgpCit7Cisg IHJldHVybiB4ICsgNTsKK30KKworaW50CitzIChpbnQgYSwgaW50IGIpCit7 CisgIHJldHVybiBhICsgYjsKK30KKworaW50ICgqczFfcHRyKSAoaW50LCBp bnQpID0gJnM7CisKK2ludAorcyAoaW50IGEpCit7CisgIHJldHVybiBhICog YTsKK30KKwordW5pb24gVQoreworICBpbnQgb3BlcmF0b3IgKCkgKGludCB4 KTsKK307CisKK2ludAorVTo6b3BlcmF0b3IoKSAoaW50IHgpCit7CisgIHJl dHVybiB4ICsgMTA7Cit9CisKK2ludCBtYWluICgpIHsKKyAgUyBzOworICBV IHU7CisgIGludCBpID0gMTA7CisKKyAgcmV0dXJuIDA7ICAvKiBCcmVhayBo ZXJlICAqLworfQpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3Av cGFyZW4tb3AuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcGFyZW4tb3Au ZXhwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1MmI4 YzkKLS0tIC9kZXYvbnVsbAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9w YXJlbi1vcC5leHAKQEAgLTAsMCArMSwzNyBAQAorIyBDb3B5cmlnaHQgMjAx NCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKworIyBUaGlzIHBy b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQor IyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lv biAzIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFu eSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMg YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIwor IyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJv Z3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5z ZXMvPi4KKworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgZ2RiIHRlc3Rz dWl0ZQorCitpZiB7W3NraXBfY3BsdXNfdGVzdHNdfSB7IGNvbnRpbnVlIH0K Kworc3RhbmRhcmRfdGVzdGZpbGUgLmNjCisKK2lmIHtbcHJlcGFyZV9mb3Jf dGVzdGluZyAkdGVzdGZpbGUuZXhwICR0ZXN0ZmlsZSAkc3JjZmlsZSBcCisg ICAge2RlYnVnIGMrKyBhZGRpdGlvbmFsX2ZsYWdzPS1zdGQ9YysrMTF9XX0g eworICAgIHJldHVybiAtMQorfQorCitpZiB7IVtydW50b19tYWluXX0gewor ICAgIHJldHVybiAtMQorfQorCitnZGJfYnJlYWtwb2ludCBbZ2RiX2dldF9s aW5lX251bWJlciAiQnJlYWsgaGVyZSJdCitnZGJfY29udGludWVfdG9fYnJl YWtwb2ludCAiQnJlYWsgaGVyZSIKKworZ2RiX3Rlc3QgInAgcygxMjM0MCki ICIuKiA9IDEyMzQ1IiAicCBzKCkiCitnZGJfdGVzdCAicCB1KDQ0NikiICIu KiA9IDQ1NiIgInAgdSgpIgorZ2RiX3Rlc3QgInAgaSg3ODkpIiAiT3BlcmFu ZCB0byAnXFwoXFwpJyBvcGVyYXRvciBpcyBub3QgYSBjYWxsYWJsZVxcLiIg InAgaSgpIgorZ2RiX3Rlc3QgInAgczFfcHRyKDUwMCwgNjcpIiAiLiogPSA1 NjciICJwIHMxX3B0cigpIgo= --001a11c30fbca5d94005084d34c4--