From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32407 invoked by alias); 20 Oct 2014 19:11:49 -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 32396 invoked by uid 89); 20 Oct 2014 19:11:49 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.5 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-ob0-f175.google.com Received: from mail-ob0-f175.google.com (HELO mail-ob0-f175.google.com) (209.85.214.175) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Mon, 20 Oct 2014 19:11:47 +0000 Received: by mail-ob0-f175.google.com with SMTP id wn1so4427308obc.34 for ; Mon, 20 Oct 2014 12:11:45 -0700 (PDT) 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=4LVTLCMzeuX7KqezVGMPnCVsOJ/X2Led+uBSJ8R2hTM=; b=imJOMPM/dS4BIj2fBXh0mIMzgA0zVGoHgej659lFU4wDfk5LAlrUHsRXXkFzfdxKHN 5Pi52X7+QBTXr2MGjLszCSW8FDgKLqj/6YzFdbsIYge3LiSJzqSk6ESyPFhJTMuvvcuo OX5WL9uqGd/pRDhoOmcYPtSxJHlRW4Lc6s1ND3fpixDEVFTMjEHzMh4dcOWnaUG9cq1t rR3Okbn+rk8LyX70FqhcOTRsjzuZCsD4SpRUL4ySi0pH3qz6HkBpsBSAOW61Oh3qvcVt vpqZUKZfbWTMyHlH5X5V2dEwyfjRkhwqkhFvlDv0ai32GtR1m2bYq/cDEaOc9O43vu60 kOgg== X-Gm-Message-State: ALoCoQlH/j9fmr63zeTGAIuvN6jbW4mJW2jOOoSFUH44IInMXtsO1wyGQztRjYQWZUMeQ+OBnPL9 MIME-Version: 1.0 X-Received: by 10.202.68.197 with SMTP id r188mr23703936oia.3.1413832305493; Mon, 20 Oct 2014 12:11:45 -0700 (PDT) Received: by 10.202.197.13 with HTTP; Mon, 20 Oct 2014 12:11:45 -0700 (PDT) Date: Mon, 20 Oct 2014 19:11:00 -0000 Message-ID: Subject: [PATCH] PR c++/17494 - Fix evaluation of method calls under EVAL_SKIP From: Siva Chandra To: gdb-patches Content-Type: multipart/mixed; boundary=001a113dd878580d970505df7c36 X-IsSubscribed: yes X-SW-Source: 2014-10/txt/msg00518.txt.bz2 --001a113dd878580d970505df7c36 Content-Type: text/plain; charset=UTF-8 Content-length: 661 When evaluating method calls under EVAL_SKIP, the "object" and the arguments to the method should also be evaluated under EVAL_SKIP, instead of skipping to evaluate them. Getting this right fixes PR c++/17494. gdb/ChangeLog: 2014-10-20 Siva Chandra Reddy PR c++/17494 * eval.c (evaluate_subexp_standard): Evaluate the "object" and the method args also under EVAL_SKIP when evaluating method calls under EVAL_SKIP. gdb/testsuite/ChangeLog: 2014-10-20 Siva Chandra Reddy PR c++/17494 * gdb.cp/pr17494.cc: New file. * gdb.cp/pr17494.exp: New file. --001a113dd878580d970505df7c36 Content-Type: text/plain; charset=US-ASCII; name="pr17494_v1.txt" Content-Disposition: attachment; filename="pr17494_v1.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i1i77eu20 Content-length: 7792 ZGlmZiAtLWdpdCBhL2dkYi9ldmFsLmMgYi9nZGIvZXZhbC5jCmluZGV4IDU5 MDY3NDQuLmFiNDMxYzYgMTAwNjQ0Ci0tLSBhL2dkYi9ldmFsLmMKKysrIGIv Z2RiL2V2YWwuYwpAQCAtMTMzMiw5ICsxMzMyLDYgQEAgZXZhbHVhdGVfc3Vi ZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3R5cGUsCiAJICAv KiBGaXJzdCwgZXZhbHVhdGUgdGhlIHN0cnVjdHVyZSBpbnRvIGFyZzIuICAq LwogCSAgcGMyID0gKCpwb3MpKys7CiAKLQkgIGlmIChub3NpZGUgPT0gRVZB TF9TS0lQKQotCSAgICBnb3RvIG5vc2lkZXJldDsKLQogCSAgaWYgKG9wID09 IFNUUlVDVE9QX01FTUJFUikKIAkgICAgewogCSAgICAgIGFyZzIgPSBldmFs dWF0ZV9zdWJleHBfZm9yX2FkZHJlc3MgKGV4cCwgcG9zLCBub3NpZGUpOwpA QCAtMTM1Myw3ICsxMzUwLDEwIEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFy ZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAogCSAgYXJnMSA9IGV2YWx1 YXRlX3N1YmV4cCAoTlVMTF9UWVBFLCBleHAsIHBvcywgbm9zaWRlKTsKIAog CSAgdHlwZSA9IGNoZWNrX3R5cGVkZWYgKHZhbHVlX3R5cGUgKGFyZzEpKTsK LQkgIGlmIChUWVBFX0NPREUgKHR5cGUpID09IFRZUEVfQ09ERV9NRVRIT0RQ VFIpCisJICBpZiAobm9zaWRlID09IEVWQUxfU0tJUCkKKwkgICAgdGVtID0g MTsgIC8qIFNldCBpdCB0byB0aGUgcmlnaHQgYXJnIGluZGV4IHNvIHRoYXQg YWxsIGFyZ3VtZW50cworCQkJIGNhbiBhbHNvIGJlIHNraXBwZWQuICAqLwor CSAgZWxzZSBpZiAoVFlQRV9DT0RFICh0eXBlKSA9PSBUWVBFX0NPREVfTUVU SE9EUFRSKQogCSAgICB7CiAJICAgICAgaWYgKG5vc2lkZSA9PSBFVkFMX0FW T0lEX1NJREVfRUZGRUNUUykKIAkJYXJnMSA9IHZhbHVlX3plcm8gKFRZUEVf VEFSR0VUX1RZUEUgKHR5cGUpLCBub3RfbHZhbCk7CkBAIC0xMzk2LDggKzEz OTYsNiBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0eXBl ICpleHBlY3RfdHlwZSwKIAkgIHBjMiA9ICgqcG9zKSsrOwogCSAgdGVtMiA9 IGxvbmdlc3RfdG9faW50IChleHAtPmVsdHNbcGMyICsgMV0ubG9uZ2NvbnN0 KTsKIAkgICpwb3MgKz0gMyArIEJZVEVTX1RPX0VYUF9FTEVNICh0ZW0yICsg MSk7Ci0JICBpZiAobm9zaWRlID09IEVWQUxfU0tJUCkKLQkgICAgZ290byBu b3NpZGVyZXQ7CiAKIAkgIGlmIChvcCA9PSBTVFJVQ1RPUF9TVFJVQ1QpCiAJ ICAgIHsKQEAgLTE1NDYsNiArMTU0NCw5IEBAIGV2YWx1YXRlX3N1YmV4cF9z dGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAogICAgICAgLyog U2lnbmFsIGVuZCBvZiBhcmdsaXN0LiAgKi8KICAgICAgIGFyZ3ZlY1t0ZW1d ID0gMDsKIAorICAgICAgaWYgKG5vc2lkZSA9PSBFVkFMX1NLSVApCisJZ290 byBub3NpZGVyZXQ7CisKICAgICAgIGlmIChvcCA9PSBPUF9BRExfRlVOQykK ICAgICAgICAgewogICAgICAgICAgIHN0cnVjdCBzeW1ib2wgKnN5bXA7CmRp ZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5jcC9wcjE3NDk0LmNjIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxNzQ5NC5jYwpuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi43NzY1M2UxCi0tLSAvZGV2L251bGwK KysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxNzQ5NC5jYwpAQCAtMCww ICsxLDYzIEBACisvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0 aGUgR05VIGRlYnVnZ2VyLgorCisgICBDb3B5cmlnaHQgMjAxNCBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKworICAgVGhpcyBwcm9ncmFtIGlz IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v ciBtb2RpZnkKKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgICB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9m IHRoZSBMaWNlbnNlLCBvcgorICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0 ZXIgdmVyc2lvbi4KKworICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICBidXQg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll ZCB3YXJyYW50eSBvZgorICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICAgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAg WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UKKyAgIGFsb25nIHdpdGggdGhpcyBwcm9n cmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNl cy8+LiAgKi8KKworCisvKiBPbmUgY291bGQgdXNlIHVuaXF1ZV9wdHIgaW5z dGVhZCwgYnV0IHRoYXQgcmVxdWlyZXMgYSBHQ0Mgd2hpY2ggY2FuCisgICBz dXBwb3J0ICItc3RkPWMrKzExIi4gICovCisKK2ludAorZnVuYyAoaW50IGks IGludCBqKQoreworICByZXR1cm4gaSArIGo7Cit9CisKK2NsYXNzIEEKK3sK K3B1YmxpYzoKKyAgQSAoKSB7IGEgPSAxMjM0NTsgZiA9ICZmdW5jOyB9Cisg IGludCBnZXRhICgpOworICBpbnQgYWRkYSAoaW50IGkpOworCisgIGludCBh OworICBpbnQgKCpmKSAoaW50LCBpbnQpOworfTsKKworaW50CitBOjpnZXRh ICgpCit7CisgIHJldHVybiBhOworfQorCitpbnQKK0E6OmFkZGEgKGludCBp KQoreworICByZXR1cm4gYSArIGk7Cit9CisKK2ludAorbWFpbiAoKQorewor ICBBIGE7CisgIEEgKmFfcHRyID0gJmE7CisgIGludCAoQTo6Km0xKSAoKTsK KyAgaW50IChBOjoqbTIpIChpbnQpOworCisgIG0xID0gJkE6OmdldGE7Cisg IG0yID0gJkE6OmFkZGE7CisKKyAgcmV0dXJuIChhLiptMSkgKCkgKyAoYS4q bTIpICgxMikgKyAoYS4qKCZBOjpmKSkgKDEsIDIpOyAgLyogQnJlYWsgaGVy ZSAgKi8KK30KZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3By MTc0OTQuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxNzQ5NC5leHAK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2YyZTBjZgot LS0gL2Rldi9udWxsCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTc0 OTQuZXhwCkBAIC0wLDAgKzEsNTcgQEAKKyMgQ29weXJpZ2h0IDIwMTQgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisKKyMgVGhpcyBwcm9ncmFt IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu ZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBv ZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0 ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBX SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKyMgWW91 IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UKKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0u ICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4u CisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIGdkYiB0ZXN0c3VpdGUK KworaWYge1tza2lwX2NwbHVzX3Rlc3RzXX0geyBjb250aW51ZSB9CisKK3N0 YW5kYXJkX3Rlc3RmaWxlIC5jYworCitpZiB7W3ByZXBhcmVfZm9yX3Rlc3Rp bmcgJHRlc3RmaWxlLmV4cCAkdGVzdGZpbGUgJHNyY2ZpbGUge2RlYnVnIGMr K31dfSB7CisgICAgcmV0dXJuIC0xCit9CisKK2lmIHshW3J1bnRvX21haW5d fSB7CisgICAgcmV0dXJuIC0xCit9CisKK2dkYl9icmVha3BvaW50IFtnZGJf Z2V0X2xpbmVfbnVtYmVyICJCcmVhayBoZXJlIl0KK2dkYl9jb250aW51ZV90 b19icmVha3BvaW50ICJCcmVhayBoZXJlIgorCitnZGJfdGVzdCAicCBhLmdl dGEoKSIgIi4qID0gMTIzNDUiICJhLmdldGEoKSIKK2dkYl90ZXN0ICJwIGFf cHRyLT5nZXRhKCkiICIuKiA9IDEyMzQ1IiAiYS5nZXRhKCkiCisKK2dkYl90 ZXN0ICJwIGZhbHNlID8gYS5nZXRhKCkgOiAxMjMiICIuKiA9IDEyMyIgInRl cm5vcCAxIgorZ2RiX3Rlc3QgInAgZmFsc2UgPyBhX3B0ci0+Z2V0YSgpIDog MTIzIiAiLiogPSAxMjMiICJ0ZXJub3AgMiIKK2dkYl90ZXN0ICJwICh0cnVl ID8gMTIzIDogYS5nZXRhKCkpICsgMTIzIiAiLiogPSAyNDYiICJ0ZXJub3Ag MyIKK2dkYl90ZXN0ICJwICh0cnVlID8gMTIzIDogYV9wdHItPmdldGEoKSkg KyAxMjMiICIuKiA9IDI0NiIgInRlcm5vcCA0IgorZ2RiX3Rlc3QgInAgZmFs c2UgPyAoYS4qbTEpKCkgOiAxMjMiICIuKiA9IDEyMyIgInRlcm5vcCA1Igor Z2RiX3Rlc3QgInAgZmFsc2UgPyAoYV9wdHItPiptMSkoKSA6IDEyMyIgIi4q ID0gMTIzIiAidGVybm9wIDYiCitnZGJfdGVzdCAicCAodHJ1ZSA/IDEyMyA6 IChhLiptMSkoKSkgKyAxMjMiICIuKiA9IDI0NiIgInRlcm5vcCA3IgorZ2Ri X3Rlc3QgInAgKHRydWUgPyAxMjMgOiAoYV9wdHItPiptMSkoKSkgKyAxMjMi ICIuKiA9IDI0NiIgInRlcm5vcCA4IgorCitnZGJfdGVzdCAicCBmYWxzZSA/ IGEuYWRkYSg0NTYpIDogMTIzIiAiLiogPSAxMjMiICJ0ZXJub3AgOSIKK2dk Yl90ZXN0ICJwIGZhbHNlID8gYV9wdHItPmFkZGEoNDU2KSA6IDEyMyIgIi4q ID0gMTIzIiAidGVybm9wIDEwIgorZ2RiX3Rlc3QgInAgKHRydWUgPyAxMjMg OiBhLmFkZGEoNDU2KSkgKyAxMjMiICIuKiA9IDI0NiIgInRlcm5vcCAxMSIK K2dkYl90ZXN0ICJwICh0cnVlID8gMTIzIDogYV9wdHItPmFkZGEoNDU2KSkg KyAxMjMiICIuKiA9IDI0NiIgInRlcm5vcCAxMiIKK2dkYl90ZXN0ICJwIGZh bHNlID8gKGEuKm0yKSgxMjMpIDogMTIzIiAiLiogPSAxMjMiICJ0ZXJub3Ag MTMiCitnZGJfdGVzdCAicCBmYWxzZSA/IChhX3B0ci0+Km0yKSgxMjMpIDog MTIzIiAiLiogPSAxMjMiICJ0ZXJub3AgMTQiCitnZGJfdGVzdCAicCAodHJ1 ZSA/IDEyMyA6IChhLiptMikoMTIzKSkgKyAxMjMiICIuKiA9IDI0NiIgInRl cm5vcCAxNSIKK2dkYl90ZXN0ICJwICh0cnVlID8gMTIzIDogKGFfcHRyLT4q bTIpKDEyMykpICsgMTIzIiAiLiogPSAyNDYiICJ0ZXJub3AgMTYiCisKK2dk Yl90ZXN0ICJwIGZhbHNlID8gKGEuKigmQTo6ZikpKDEsIDIpIDogMTIzIiAi LiogPSAxMjMiICJ0ZXJub3AgMTciCitnZGJfdGVzdCAicCBmYWxzZSA/IChh X3B0ci0+KigmQTo6ZikpKDEsIDIpIDogMTIzIiAiLiogPSAxMjMiICJ0ZXJu b3AgMTgiCitnZGJfdGVzdCAicCAodHJ1ZSA/IDEyMyA6IChhLiooJkE6OmYp KSgxLCAyKSkgKyAxMjMiICIuKiA9IDI0NiIgInRlcm5vcCAxOSIKK2dkYl90 ZXN0ICJwICh0cnVlID8gMTIzIDogKGFfcHRyLT4qKCZBOjpmKSkoMSwgMikp ICsgMTIzIiAiLiogPSAyNDYiICJ0ZXJub3AgMjAiCg== --001a113dd878580d970505df7c36--