From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9253 invoked by alias); 30 Dec 2013 14:40:45 -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 9242 invoked by uid 89); 30 Dec 2013 14:40:44 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.7 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-ee0-f48.google.com Received: from mail-ee0-f48.google.com (HELO mail-ee0-f48.google.com) (74.125.83.48) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Mon, 30 Dec 2013 14:40:43 +0000 Received: by mail-ee0-f48.google.com with SMTP id e49so5012239eek.21 for ; Mon, 30 Dec 2013 06:40:40 -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:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=aqaszSJpp4WRHupJD6oSTnXAgy7ROXFD4kBpvOZzW/o=; b=cRn4ZxxZoE8RpVU6jp9/78+j4vU19rPV3ESc677jt32YJwFYn6Phhaxk+3TRDBd6OS IyBJQ7SL4BmvKJy4EYEUrsCWTXp0z3taCvRGsyvm9ucyZDU/+XlGIRbVf7HIDrrYnl+p XG/UZNd0cPAY0imRp1tGsEEBcbasvQZVDk4tuJ3SOiEUKVrtxWzYIhSeFhVoxP/W2gfB UMAhHIitwpQcaIeSGxJF4X8oJIcy0+XNnw/wYFDKytWLkWSFVJfhs1lkFApZHiy1oc8z lxkRVGV+Jc56OuvR9qYxn9SouA2ufJoEyN5Gny9xKAemsKr2pFIPwxjSYZ9DRa5WPOON wWtw== X-Gm-Message-State: ALoCoQmIwlK+gLaAN/p6EH+nUCeWPPbHjYm1Am9oj7Mm/DWU8+9o4eO4ZJfVQ49f69s15UsEtdWRAJGkyZo6dwODOwVmTZPE8pxHgdyu4fTMq7PuCFXIkA5sXkynCZ8kVca7szT7xQEpWE4mRSHeRyacKEmh8RzhtfYLyMezV0TKCKJ0w36LldKAVzv2ijkzRQRf6jVeWB6IAfaVqwpQKLdzT6m8DICL8w== MIME-Version: 1.0 X-Received: by 10.14.193.132 with SMTP id k4mr1979752een.55.1388414440331; Mon, 30 Dec 2013 06:40:40 -0800 (PST) Received: by 10.14.151.72 with HTTP; Mon, 30 Dec 2013 06:40:40 -0800 (PST) In-Reply-To: <83ppoqaa2k.fsf@gnu.org> References: <871u1j2ldi.fsf@fleche.redhat.com> <83ppoqaa2k.fsf@gnu.org> Date: Mon, 30 Dec 2013 14:40:00 -0000 Message-ID: Subject: Re: [RFC/Patch] Call overloaded operators to perform valid Python operations on struct/class values. From: Siva Chandra To: Eli Zaretskii Cc: gdb-patches , Tom Tromey , Doug Evans Content-Type: multipart/mixed; boundary=047d7b34384484a79c04eec16da5 X-IsSubscribed: yes X-SW-Source: 2013-12/txt/msg00992.txt.bz2 --047d7b34384484a79c04eec16da5 Content-Type: text/plain; charset=UTF-8 Content-length: 936 As I said in my previous post on this thread, I do not think there was a yes or a no decision made about this feature. Hence, I am continuing to respond to comments. Attached is the latest version which addresses Eli'c comments. 2013-12-30 Siva Chandra Reddy Call overloaded operators to perform valid Python operations on struct/class values. * NEWS (Python Scripting): Add entry for this new feature. * python/py-value.c (valpy_binop): Call value_x_binop for struct and class values. testsuite/ * gdb.python/py-value-cc.cc: Improve test case to enable testing operations on gdb.Value objects. * gdb.python/py-value-cc.exp: Add new test to test operations on gdb.Value objects. doc/ * gdb.texinfo (Values From Inferior): Add description about performing valid Python operations on gdb.Value objects. --047d7b34384484a79c04eec16da5 Content-Type: text/plain; charset=US-ASCII; name="python_op_patch_v3.txt" Content-Disposition: attachment; filename="python_op_patch_v3.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hptu1h6z0 Content-length: 8044 ZGlmZiAtLWdpdCBhL2dkYi9ORVdTIGIvZ2RiL05FV1MKaW5kZXggYjY0OTY3 ZS4uMTFmYjVkZCAxMDA2NDQKLS0tIGEvZ2RiL05FV1MKKysrIGIvZ2RiL05F V1MKQEAgLTQ0LDYgKzQ0LDkgQEAKICAgKiogTGluZSB0YWJsZXMgcmVwcmVz ZW50YXRpb24gaGFzIGJlZW4gYWRkZWQuCiAgICoqIE5ldyBhdHRyaWJ1dGUg J3BhcmVudF90eXBlJyBmb3IgZ2RiLkZpZWxkIG9iamVjdHMuCiAgICoqIGdk Yi5GaWVsZCBvYmplY3RzIGNhbiBiZSB1c2VkIGFzIHN1YnNjcmlwdHMgb24g Z2RiLlZhbHVlIG9iamVjdHMuCisgICoqIFZhbGlkIFB5dGhvbiBvcGVyYXRp b25zIG9uIGdkYi5WYWx1ZSBvYmplY3RzIHJlcHJlc2VudGluZworICAgICBz dHJ1Y3RzL2NsYXNzZXMgaW52b2tlIHRoZSBjb3JyZXNwb25kaW5nIG92ZXJs b2FkZWQgb3BlcmF0b3JzIGlmCisgICAgIGF2YWlsYWJsZS4KIAogKiBOZXcg dGFyZ2V0cwogCmRpZmYgLS1naXQgYS9nZGIvZG9jL2dkYi50ZXhpbmZvIGIv Z2RiL2RvYy9nZGIudGV4aW5mbwppbmRleCBhNjBlNmNmLi4xYTRhMWRlIDEw MDY0NAotLS0gYS9nZGIvZG9jL2dkYi50ZXhpbmZvCisrKyBiL2dkYi9kb2Mv Z2RiLnRleGluZm8KQEAgLTIzOTYxLDcgKzIzOTYxLDIzIEBAIGJhciA9IHNv bWVfdmFsICsgMgogCiBAbm9pbmRlbnQKIEFzIHJlc3VsdCBvZiB0aGlzLCBA Y29kZXtiYXJ9IHdpbGwgYWxzbyBiZSBhIEBjb2Rle2dkYi5WYWx1ZX0gb2Jq ZWN0Ci13aG9zZSB2YWx1ZXMgYXJlIG9mIHRoZSBzYW1lIHR5cGUgYXMgdGhv c2Ugb2YgQGNvZGV7c29tZV92YWx9Lgord2hvc2UgdmFsdWVzIGFyZSBvZiB0 aGUgc2FtZSB0eXBlIGFzIHRob3NlIG9mIEBjb2Rle3NvbWVfdmFsfS4gIFZh bGlkCitQeXRob24gb3BlcmF0aW9ucyBjYW4gYWxzbyBiZSBwZXJmb3JtZWQg b24gQGNvZGV7Z2RiLlZhbHVlfSBvYmplY3RzCityZXByZXNlbnRpbmcgYSBA Y29kZXtzdHJ1Y3R9IG9yIEBjb2Rle2NsYXNzfSBvYmplY3QuICBGb3Igc3Vj aCBjYXNlcywKK3RoZSBvdmVybG9hZGVkIG9wZXJhdG9yIChpZiBwcmVzZW50 KSwgaXMgdXNlZCB0byBwZXJmb3JtIHRoZSBvcGVyYXRpb24uCitGb3IgZXhh bXBsZSwgaWYgQGNvZGV7dmFsMX1hbmQgQGNvZGV7dmFsMn0gYXJlIEBjb2Rl e2dkYi5WYWx1ZX0gb2JqZWN0cworcmVwcmVzZW50aW5nIGluc3RhbmNlcyBv ZiBhIEBjb2Rle2NsYXNzfSB3aGljaCBvdmVybG9hZHMgdGhlIEBjb2Rleyt9 CitvcGVyYXRvciwgdGhlbiBvbmUgY2FuIHVzZSB0aGUgQGNvZGV7K30gb3Bl cmF0b3IgaW4gdGhlaXIgUHl0aG9uIHNjcmlwdAorYXMgZm9sbG93czoKKwor QHNtYWxsZXhhbXBsZQordmFsMyA9IHZhbDEgKyB2YWwyCitAZW5kIHNtYWxs ZXhhbXBsZQorCitAbm9pbmRlbnQKK1RoZSByZXN1bHQgb2YgdGhlIG9wZXJh dGlvbiBAY29kZXt2YWwzfSBpcyBhbHNvIGEgQGNvZGV7Z2RiLlZhbHVlfQor b2JqZWN0IGNvcnJlc3BvbmRpbmcgdG8gdGhlIHZhbHVlIHJldHVybmVkIGJ5 IHRoZSBvdmVybG9hZGVkIEBjb2Rleyt9CitvcGVyYXRvci4KIAogSW5mZXJp b3IgdmFsdWVzIHRoYXQgYXJlIHN0cnVjdHVyZXMgb3IgaW5zdGFuY2VzIG9m IHNvbWUgY2xhc3MgY2FuCiBiZSBhY2Nlc3NlZCB1c2luZyB0aGUgUHl0aG9u IEBkZm57ZGljdGlvbmFyeSBzeW50YXh9LiAgRm9yIGV4YW1wbGUsIGlmCmRp ZmYgLS1naXQgYS9nZGIvcHl0aG9uL3B5LXZhbHVlLmMgYi9nZGIvcHl0aG9u L3B5LXZhbHVlLmMKaW5kZXggZGYyNTE3OS4uNmMyNDU4YyAxMDA2NDQKLS0t IGEvZ2RiL3B5dGhvbi9weS12YWx1ZS5jCisrKyBiL2dkYi9weXRob24vcHkt dmFsdWUuYwpAQCAtODg0LDYgKzg4NCw4IEBAIHZhbHB5X2Jpbm9wIChlbnVt IHZhbHB5X29wY29kZSBvcGNvZGUsIFB5T2JqZWN0ICpzZWxmLCBQeU9iamVj dCAqb3RoZXIpCiAgICAgICBzdHJ1Y3QgdmFsdWUgKmFyZzEsICphcmcyOwog ICAgICAgc3RydWN0IGNsZWFudXAgKmNsZWFudXAgPSBtYWtlX2NsZWFudXBf dmFsdWVfZnJlZV90b19tYXJrICh2YWx1ZV9tYXJrICgpKTsKICAgICAgIHN0 cnVjdCB2YWx1ZSAqcmVzX3ZhbCA9IE5VTEw7CisgICAgICBlbnVtIGV4cF9v cGNvZGUgb3AgPSBPUF9OVUxMOworICAgICAgaW50IGhhbmRsZWQgPSAwOwog CiAgICAgICAvKiBJZiB0aGUgZ2RiLlZhbHVlIG9iamVjdCBpcyB0aGUgc2Vj b25kIG9wZXJhbmQsIHRoZW4gaXQgd2lsbCBiZSBwYXNzZWQKIAkgdG8gdXMg YXMgdGhlIE9USEVSIGFyZ3VtZW50LCBhbmQgU0VMRiB3aWxsIGJlIGFuIGVu dGlyZWx5IGRpZmZlcmVudApAQCAtOTE1LDYgKzkxNyw3IEBAIHZhbHB5X2Jp bm9wIChlbnVtIHZhbHB5X29wY29kZSBvcGNvZGUsIFB5T2JqZWN0ICpzZWxm LCBQeU9iamVjdCAqb3RoZXIpCiAJICAgIENIRUNLX1RZUEVERUYgKHJ0eXBl KTsKIAkgICAgcnR5cGUgPSBTVFJJUF9SRUZFUkVOQ0UgKHJ0eXBlKTsKIAor CSAgICBoYW5kbGVkID0gMTsKIAkgICAgaWYgKFRZUEVfQ09ERSAobHR5cGUp ID09IFRZUEVfQ09ERV9QVFIKIAkJJiYgaXNfaW50ZWdyYWxfdHlwZSAocnR5 cGUpKQogCSAgICAgIHJlc192YWwgPSB2YWx1ZV9wdHJhZGQgKGFyZzEsIHZh bHVlX2FzX2xvbmcgKGFyZzIpKTsKQEAgLTkyMiw3ICs5MjUsMTAgQEAgdmFs cHlfYmlub3AgKGVudW0gdmFscHlfb3Bjb2RlIG9wY29kZSwgUHlPYmplY3Qg KnNlbGYsIFB5T2JqZWN0ICpvdGhlcikKIAkJICAgICAmJiBpc19pbnRlZ3Jh bF90eXBlIChsdHlwZSkpCiAJICAgICAgcmVzX3ZhbCA9IHZhbHVlX3B0cmFk ZCAoYXJnMiwgdmFsdWVfYXNfbG9uZyAoYXJnMSkpOwogCSAgICBlbHNlCi0J ICAgICAgcmVzX3ZhbCA9IHZhbHVlX2Jpbm9wIChhcmcxLCBhcmcyLCBCSU5P UF9BREQpOworCSAgICAgIHsKKwkJaGFuZGxlZCA9IDA7CisJCW9wID0gQklO T1BfQUREOworCSAgICAgIH0KIAkgIH0KIAkgIGJyZWFrOwogCWNhc2UgVkFM UFlfU1VCOgpAQCAtOTM1LDYgKzk0MSw3IEBAIHZhbHB5X2Jpbm9wIChlbnVt IHZhbHB5X29wY29kZSBvcGNvZGUsIFB5T2JqZWN0ICpzZWxmLCBQeU9iamVj dCAqb3RoZXIpCiAJICAgIENIRUNLX1RZUEVERUYgKHJ0eXBlKTsKIAkgICAg cnR5cGUgPSBTVFJJUF9SRUZFUkVOQ0UgKHJ0eXBlKTsKIAorCSAgICBoYW5k bGVkID0gMTsKIAkgICAgaWYgKFRZUEVfQ09ERSAobHR5cGUpID09IFRZUEVf Q09ERV9QVFIKIAkJJiYgVFlQRV9DT0RFIChydHlwZSkgPT0gVFlQRV9DT0RF X1BUUikKIAkgICAgICAvKiBBIHB0cmRpZmZfdCBmb3IgdGhlIHRhcmdldCB3 b3VsZCBiZSBwcmVmZXJhYmxlIGhlcmUuICAqLwpAQCAtOTQ0LDM4ICs5NTEs NDkgQEAgdmFscHlfYmlub3AgKGVudW0gdmFscHlfb3Bjb2RlIG9wY29kZSwg UHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpvdGhlcikKIAkJICAgICAmJiBp c19pbnRlZ3JhbF90eXBlIChydHlwZSkpCiAJICAgICAgcmVzX3ZhbCA9IHZh bHVlX3B0cmFkZCAoYXJnMSwgLSB2YWx1ZV9hc19sb25nIChhcmcyKSk7CiAJ ICAgIGVsc2UKLQkgICAgICByZXNfdmFsID0gdmFsdWVfYmlub3AgKGFyZzEs IGFyZzIsIEJJTk9QX1NVQik7CisJICAgICAgeworCQloYW5kbGVkID0gMDsK KwkJb3AgPSBCSU5PUF9TVUI7CisJICAgICAgfQogCSAgfQogCSAgYnJlYWs7 CiAJY2FzZSBWQUxQWV9NVUw6Ci0JICByZXNfdmFsID0gdmFsdWVfYmlub3Ag KGFyZzEsIGFyZzIsIEJJTk9QX01VTCk7CisJICBvcCA9IEJJTk9QX01VTDsK IAkgIGJyZWFrOwogCWNhc2UgVkFMUFlfRElWOgotCSAgcmVzX3ZhbCA9IHZh bHVlX2Jpbm9wIChhcmcxLCBhcmcyLCBCSU5PUF9ESVYpOworCSAgb3AgPSBC SU5PUF9ESVY7CiAJICBicmVhazsKIAljYXNlIFZBTFBZX1JFTToKLQkgIHJl c192YWwgPSB2YWx1ZV9iaW5vcCAoYXJnMSwgYXJnMiwgQklOT1BfUkVNKTsK KwkgIG9wID0gQklOT1BfUkVNOwogCSAgYnJlYWs7CiAJY2FzZSBWQUxQWV9Q T1c6Ci0JICByZXNfdmFsID0gdmFsdWVfYmlub3AgKGFyZzEsIGFyZzIsIEJJ Tk9QX0VYUCk7CisJICBvcCA9IEJJTk9QX0VYUDsKIAkgIGJyZWFrOwogCWNh c2UgVkFMUFlfTFNIOgotCSAgcmVzX3ZhbCA9IHZhbHVlX2Jpbm9wIChhcmcx LCBhcmcyLCBCSU5PUF9MU0gpOworCSAgb3AgPSBCSU5PUF9MU0g7CiAJICBi cmVhazsKIAljYXNlIFZBTFBZX1JTSDoKLQkgIHJlc192YWwgPSB2YWx1ZV9i aW5vcCAoYXJnMSwgYXJnMiwgQklOT1BfUlNIKTsKKwkgIG9wID0gQklOT1Bf UlNIOwogCSAgYnJlYWs7CiAJY2FzZSBWQUxQWV9CSVRBTkQ6Ci0JICByZXNf dmFsID0gdmFsdWVfYmlub3AgKGFyZzEsIGFyZzIsIEJJTk9QX0JJVFdJU0Vf QU5EKTsKKwkgIG9wID0gQklOT1BfQklUV0lTRV9BTkQ7CiAJICBicmVhazsK IAljYXNlIFZBTFBZX0JJVE9SOgotCSAgcmVzX3ZhbCA9IHZhbHVlX2Jpbm9w IChhcmcxLCBhcmcyLCBCSU5PUF9CSVRXSVNFX0lPUik7CisJICBvcCA9IEJJ Tk9QX0JJVFdJU0VfSU9SOwogCSAgYnJlYWs7CiAJY2FzZSBWQUxQWV9CSVRY T1I6Ci0JICByZXNfdmFsID0gdmFsdWVfYmlub3AgKGFyZzEsIGFyZzIsIEJJ Tk9QX0JJVFdJU0VfWE9SKTsKKwkgIG9wID0gQklOT1BfQklUV0lTRV9YT1I7 CiAJICBicmVhazsKIAl9CiAKKyAgICAgIGlmICghaGFuZGxlZCkKKwl7CisJ ICBpZiAoYmlub3BfdXNlcl9kZWZpbmVkX3AgKG9wLCBhcmcxLCBhcmcyKSkK KwkgICAgcmVzX3ZhbCA9IHZhbHVlX3hfYmlub3AgKGFyZzEsIGFyZzIsIG9w LCBPUF9OVUxMLCBFVkFMX05PUk1BTCk7CisJICBlbHNlCisJICAgIHJlc192 YWwgPSB2YWx1ZV9iaW5vcCAoYXJnMSwgYXJnMiwgb3ApOworCX0KKwogICAg ICAgaWYgKHJlc192YWwpCiAJcmVzdWx0ID0gdmFsdWVfdG9fdmFsdWVfb2Jq ZWN0IChyZXNfdmFsKTsKIApkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9n ZGIucHl0aG9uL3B5LXZhbHVlLWNjLmNjIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu cHl0aG9uL3B5LXZhbHVlLWNjLmNjCmluZGV4IDgwMDk0ZWMuLjYwYzIxODIg MTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS12YWx1 ZS1jYy5jYworKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktdmFs dWUtY2MuY2MKQEAgLTE3LDkgKzE3LDE4IEBACiAKIGNsYXNzIEEgewogIHB1 YmxpYzoKKyAgaW50IG9wZXJhdG9yKyAoY29uc3QgaW50IGExKTsKKworIHB1 YmxpYzoKICAgaW50IGE7CiB9OwogCitpbnQKK0E6Om9wZXJhdG9yKyAoY29u c3QgaW50IGExKQoreworICByZXR1cm4gYSArIGExOworfQorCiB1bmlvbiBV IHsKICAgaW50IGE7CiAgIGNoYXIgYzsKQEAgLTY1LDUgKzc0LDcgQEAgbWFp biAoKQogewogICBBIG9iajsKIAorICBvYmouYSA9IDU7CisKICAgcmV0dXJu IGZ1bmMgKG9iaik7CiB9CmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dk Yi5weXRob24vcHktdmFsdWUtY2MuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu cHl0aG9uL3B5LXZhbHVlLWNjLmV4cAppbmRleCBlYWNhZjJlLi5mYjExNzZk IDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktdmFs dWUtY2MuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS12 YWx1ZS1jYy5leHAKQEAgLTc5LDMgKzc5LDcgQEAgZ2RiX3Rlc3QgInB5dGhv biBwcmludChiX3RkXFtiX2ZpZWxkc1xbMFxdXF1cWydhJ1xdKSIgIjEwMCIg XAogCiBnZGJfdGVzdCAicHl0aG9uIHByaW50KHVcW3VfZmllbGRzXFswXF1c XSkiICI5OS4qIiAidSdzIGZpcnN0IGZpZWxkIHZpYSBmaWVsZCIKIGdkYl90 ZXN0ICJweXRob24gcHJpbnQodVxbdV9maWVsZHNcWzFcXVxdKSIgIjk5Lioi ICJ1J3Mgc2Vjb25kIGZpZWxkIHZpYSBmaWVsZCIKKworIyBUZXN0IG92ZXJs b2FkZWQgb3BlcmF0b3JzLgorZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJweXRob24g YSA9IGdkYi5wYXJzZV9hbmRfZXZhbCgnYScpIiAiaW5pdCBhIgorZ2RiX3Rl c3QgInB5dGhvbiBwcmludCBhICsgNSIgIjEwIiAiYSArIDUiCg== --047d7b34384484a79c04eec16da5--