From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13868 invoked by alias); 21 Jun 2016 08:51:38 -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 13848 invoked by uid 89); 21 Jun 2016 08:51:38 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00,MIME_BASE64_BLANKS,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 spammy=H*r:169.254.1, commercial, Tel, tel X-HELO: mga03.intel.com Received: from mga03.intel.com (HELO mga03.intel.com) (134.134.136.65) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 21 Jun 2016 08:51:27 +0000 Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga103.jf.intel.com with ESMTP; 21 Jun 2016 01:51:22 -0700 X-ExtLoop1: 1 Received: from irsmsx101.ger.corp.intel.com ([163.33.3.153]) by fmsmga002.fm.intel.com with ESMTP; 21 Jun 2016 01:51:22 -0700 Received: from irsmsx104.ger.corp.intel.com ([169.254.5.117]) by IRSMSX101.ger.corp.intel.com ([169.254.1.155]) with mapi id 14.03.0248.002; Tue, 21 Jun 2016 09:51:21 +0100 From: "Tedeschi, Walfred" To: Yao Qi CC: "palves@redhat.com" , "gdb-patches@sourceware.org" Subject: RE: [PATCH V1] Fix of default lookup for "this" symbol. Date: Tue, 21 Jun 2016 08:51:00 -0000 Message-ID: References: <1466432259-22916-1-git-send-email-walfred.tedeschi@intel.com> <86vb13q69s.fsf@gmail.com> In-Reply-To: <86vb13q69s.fsf@gmail.com> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 X-IsSubscribed: yes X-SW-Source: 2016-06/txt/msg00353.txt.bz2 SGkgWWFvLA0KDQpTb3JyeSBJIGhhZCBpbiBtaW5kIHRoYXQgSSBoYXZlbid0 IGhhZCBzdWJtaXR0ZWQgdGhpcyBvbmUuDQoNCkkgd2lsbCBhZGRyZXNzIGFs bCB5b3VyIGNvbW1lbnRzLiBUaGV5IGxvb2sgdGhlIHJpZ2h0IHdheSB0byBn by4NCg0KVGhhbmtzIGFnYWluLA0KRnJlZA0KDQotLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQ0KRnJvbTogWWFvIFFpIFttYWlsdG86cWl5YW9sdGNAZ21h aWwuY29tXSANClNlbnQ6IFR1ZXNkYXksIEp1bmUgMjEsIDIwMTYgOTo0NiBB TQ0KVG86IFRlZGVzY2hpLCBXYWxmcmVkIDx3YWxmcmVkLnRlZGVzY2hpQGlu dGVsLmNvbT4NCkNjOiBwYWx2ZXNAcmVkaGF0LmNvbTsgcWl5YW9sdGNAZ21h aWwuY29tOyBnZGItcGF0Y2hlc0Bzb3VyY2V3YXJlLm9yZw0KU3ViamVjdDog UmU6IFtQQVRDSCBWMV0gRml4IG9mIGRlZmF1bHQgbG9va3VwIGZvciAidGhp cyIgc3ltYm9sLg0KDQpXYWxmcmVkIFRlZGVzY2hpIDx3YWxmcmVkLnRlZGVz Y2hpQGludGVsLmNvbT4gd3JpdGVzOg0KDQpIaSwNCkxvb2tzIHlvdSBwb3N0 IHRoZSBzYW1lIHBhdGNoIGFzIHlvdSBwb3N0ZWQgaW4gTWFyY2guDQpodHRw czovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTYtMDMvbXNn MDAxMjguaHRtbCBhbmQgSSByZXZpZXdlZCBpdCBodHRwczovL3NvdXJjZXdh cmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTYtMDQvbXNnMDAwNjguaHRtbA0K DQpJIGRvbid0IHNlZSBteSBjb21tZW50cyBhcmUgYWRkcmVzc2VkIGluIHRo aXMgdmVyc2lvbi4NCg0KLS0NCllhbyAo6b2Q5bCnKQ0KSW50ZWwgRGV1dHNj aGxhbmQgR21iSApSZWdpc3RlcmVkIEFkZHJlc3M6IEFtIENhbXBlb24gMTAt MTIsIDg1NTc5IE5ldWJpYmVyZywgR2VybWFueQpUZWw6ICs0OSA4OSA5OSA4 ODUzLTAsIHd3dy5pbnRlbC5kZQpNYW5hZ2luZyBEaXJlY3RvcnM6IENocmlz dGluIEVpc2Vuc2NobWlkLCBDaHJpc3RpYW4gTGFtcHJlY2h0ZXIKQ2hhaXJw ZXJzb24gb2YgdGhlIFN1cGVydmlzb3J5IEJvYXJkOiBOaWNvbGUgTGF1ClJl Z2lzdGVyZWQgT2ZmaWNlOiBNdW5pY2gKQ29tbWVyY2lhbCBSZWdpc3Rlcjog QW10c2dlcmljaHQgTXVlbmNoZW4gSFJCIDE4NjkyOAo= >From gdb-patches-return-132210-listarch-gdb-patches=sources.redhat.com@sourceware.org Tue Jun 21 09:17:58 2016 Return-Path: Delivered-To: listarch-gdb-patches@sources.redhat.com Received: (qmail 100637 invoked by alias); 21 Jun 2016 09:17:58 -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 Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 100621 invoked by uid 89); 21 Jun 2016 09:17:57 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.3 required=5.0 tests=BAYES_00,MIME_BASE64_BLANKS,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 spammy=H*r:sk:orsmga1, comp, H*RU:HELO, Hx-spam-relays-external:HELO X-HELO: mga09.intel.com Received: from mga09.intel.com (HELO mga09.intel.com) (134.134.136.24) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 21 Jun 2016 09:17:47 +0000 Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga102.jf.intel.com with ESMTP; 21 Jun 2016 02:17:44 -0700 X-ExtLoop1: 1 Received: from heckel-mobl3.ger.corp.intel.com (HELO [172.28.205.46]) ([172.28.205.46]) by orsmga001.jf.intel.com with ESMTP; 21 Jun 2016 02:17:42 -0700 Subject: Re: [PATCH 1/3] Fortran: Handle associated property of pointer types. To: Yao Qi References: <1465220233-32286-1-git-send-email-bernhard.heckel@intel.com> <1465220233-32286-2-git-send-email-bernhard.heckel@intel.com> <86wplorr4w.fsf@gmail.com> Cc: eliz@gnu.org, gdb-patches@sourceware.org From: Bernhard Heckel Message-ID: <57690636.3040807@intel.com> Date: Tue, 21 Jun 2016 09:17:00 -0000 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <86wplorr4w.fsf@gmail.com> Content-Type: text/plain; charset="utf-8"; format="flowed" Content-Transfer-Encoding: base64 X-IsSubscribed: yes X-SW-Source: 2016-06/txt/msg00354.txt.bz2 Content-length: 7308 T24gMTcvMDYvMjAxNiAxMzoyOCwgWWFvIFFpIHdyb3RlOgo+IEJlcm5oYXJk IEhlY2tlbCA8YmVybmhhcmQuaGVja2VsQGludGVsLmNvbT4gd3JpdGVzOgo+ Cj4+IFNvbWUgZm9ydHJhbiBjb21waWxlciBkb24ndCBjcmVhdGUgdGhlIGFz c29jaWF0ZWQgcHJvcGVydHkgYnV0Cj4+IHNldCB0aGUgcG9pbnRlcnMgY29u dGVudCB0byB6ZXJvLiBJbiBvcmRlciB0byBoYXZlIGEgY29tbW9uCj4gRG8g eW91IG1lYW4gZGlmZmVyZW50IGNvbXBpbGVycyBiZWhhdmUgZGlmZmVyZW50 bHk/ICBJbiB0aGUgdGVzdCBjYXNlLAo+Cj4gICAgbG9naWNhbCwgcG9pbnRl ciA6OiBsb2dwCj4gICAgbnVsbGlmeSAobG9ncCkKPiAgICBsb2dwID0+IGxv Z3YgICAgISBCZWZvcmUgcG9pbnRlciBhc3NpZ25tZW50Cj4KPiB3aGF0IGFy ZSB0aGVzZSBkaWZmZXJlbnQgYmVoYXZpb3JzIHdpdGggZGlmZmVyZW50IGNv bXBpbGVycz8gIElzbid0Cj4gY29ycmVjdCB0aGF0IGNvbXBpbGVyIGRvZXNu J3QgY3JlYXRlIHRoZSBhc3NvY2lhdGVkIHByb3BlcnR5IHdoZW4KPiBwcm9n cmFtIHN0b3BzIG9uIGxpbmUgIkJlZm9yZSBwb2ludGVyIGFzc29jaWF0ZWQi PyBiZWNhdXNlIGxvZ3AgaXMgbm90Cj4gYXNzb2NpYXRlZCB0byBhbnkgdGFy Z2V0LgpTb21lIGNvbXBpbGVycyBjcmVhdGUgdGhlIGFzc29jaWF0ZWQgcHJv cGVydHkgc29tZSBub3QuIElmIG5vdCwgd2UgaGF2ZSAKYWx3YXlzIHRvIGNo ZWNrCnRoZSBjb250ZW50IG9mIHRoZSBwb2ludGVyIGlmIGl0IGlzIG51bGwu IFRoZSBhc3NvY2lhdGVkIHByb3BlcnR5IGlzIG5vdCAKY3JlYXRlZCBkeW5h bWljYWxseSwKdGhlcmVmb3JlIGl0IGRvZXNuJ3QgbWF0dGVyIHdoZXJlIHdl IHN0b3AuIE9ubHkgdGhlIHByb3BlcnR5IHZhbHVlIGlzIApkaWZmZXJlbnQs IGRlcGVuZGluZwp3aGVyZSB3ZSBzdG9wLgo+PiB3YXkgdG8gaGFuZGxlIG5v dCBhc3NvY2lhdGVkIHBvaW50ZXJzLCB0aGUgbWlzc2luZyBhc3NvY2lhdGVk Cj4+IHByb3BlcnR5IGlzIGFkZGVkLgo+Pgo+PiBCZWZvcmU6Cj4+IChnZGIp IHByaW50ICppbnRwCj4+IENhbm5vdCBhY2Nlc3MgbWVtb3J5IGFkZHJlc3Mg MHgwCj4+Cj4+IEFmdGVyOgo+PiAoZ2RiKSBwcmludCAqaW50cAo+PiAkMSA9 IDxub3QgYXNzb2NpYXRlZD4KPj4KPiBEbyB5b3UgbWVhbiAicHJpbnQgaW50 cCIgb3IgInByaW50ICppbnRwIj8gIGluIHlvdXIgcGF0Y2ggYmVsb3csIEkg c2VlCj4gdGhpcywKU2FtZSBmb3IgcHR5cGUuIEN1cnJlbnQgJiBwcmV2LiBp bXBsZW1lbnRhdGlvbiBzaG9ydGN1dCdzIGZ1cnRoZXIgCnByaW50aW5nIGlu IGNhc2UKdGhlIHBvaW50ZXIgaXMgbm90IGFzc29jaWF0ZWQuCgo+Cj4+ICtn ZGJfdGVzdCAicHJpbnQgaW50cCIgIj0gPG5vdCBhc3NvY2lhdGVkPiIgInBy aW50IGludHAsIG5vdCBhc3NvY2lhdGVkIgo+PiArCj4+ICtnZGJfYnJlYWtw b2ludCBbZ2RiX2dldF9saW5lX251bWJlciAiQmVmb3JlIHBvaW50ZXIgYXNz aWdubWVudCJdCj4+ICtnZGJfY29udGludWVfdG9fYnJlYWtwb2ludCAiQmVm b3JlIHBvaW50ZXIgYXNzaWdubWVudCIKPj4gK2dkYl90ZXN0ICJwcmludCBs b2dwIiAiPSA8bm90IGFzc29jaWF0ZWQ+IiAicHJpbnQgbG9ncCwgbm90IGFz c29jaWF0ZWQiCj4+ICtnZGJfdGVzdCAicHJpbnQgY29tcCIgIj0gPG5vdCBh c3NvY2lhdGVkPiIgInByaW50IGNvbXAsIG5vdCBhc3NvY2lhdGVkIgo+PiAr Z2RiX3Rlc3QgInByaW50IGNoYXJwIiAiPSA8bm90IGFzc29jaWF0ZWQ+IiAi cHJpbnQgY2hhcnAsIG5vdCBhc3NvY2lhdGVkIgo+PiArZ2RiX3Rlc3QgInBy aW50IGNoYXJhcCIgIj0gPG5vdCBhc3NvY2lhdGVkPiIgInByaW50IGNoYXJh cCwgbm90IGFzc29jaWF0ZWQiCj4+ICtnZGJfdGVzdCAicHJpbnQgaW50cCIg Ij0gPG5vdCBhc3NvY2lhdGVkPiIgInByaW50IGludHAsIG5vdCBhc3NvY2lh dGVkIgo+PiArZ2RiX3Rlc3QgInByaW50IGludGFwIiAiPSA8bm90IGFzc29j aWF0ZWQ+IiAicHJpbnQgaW50YXAsIG5vdCBhc3NvY2lhdGVkIgo+PiArZ2Ri X3Rlc3QgInByaW50IHJlYWxwIiAiPSA8bm90IGFzc29jaWF0ZWQ+IiAicHJp bnQgcmVhbHAsIG5vdCBhc3NvY2lhdGVkIgo+PiArZ2RiX3Rlc3QgInByaW50 IFwkbXlfdmFyID0gaW50cCIgIj0gPG5vdCBhc3NvY2lhdGVkPiIKPiBXaGF0 IGlzIHRoZSBvdXRwdXQgd2l0aG91dCB5b3VyIGZpeD8gIElNTywgInByaW50 IFBPSU5URVIiIHByaW50cyB0aGUKPiB2YWx1ZSBvZiB0aGUgcG9pbnRlci4g IEl0IGRvZXNuJ3QgbWF0dGVyIHdoZXRoZXIgdGhlIHBvaW50ZXIgaXMKPiBh c3NvY2lhdGVkIHdpdGggYSB0YXJnZXQgb3Igbm90LgpGb3IgY29tcGlsZXJz IGNyZWF0aW5nIHRoZSBwcm9wZXJ0eSwgdGhlIG91dHB1dCBpcyBsaWtlIGFi b3ZlLgpGb3IgbWlzc2luZyBwcm9wZXJ0eSwgaXQgaXM6CgpnZGJfdGVzdCAi cHJpbnQgbG9ncCIgIj0gKFBUUiBUTyAtPiAoICRsb2dpY2FsICkpIDB4MCIK CkJhc2VkIG9uIHlvdXIgaW5wdXQgSSB3b3VsZCBsaWtlIHRvIHByb3Bvc2U6 CmdkYl90ZXN0ICJwcmludCBsb2dwIiAiPSAoUFRSIFRPIC0+ICggJGxvZ2lj YWwgKSkgPG5vdCBhc3NvY2lhdGVkPiIKCj4KPj4gKwo+PiArZ2RiX2JyZWFr cG9pbnQgW2dkYl9nZXRfbGluZV9udW1iZXIgIkFmdGVyIHZhbHVlIGFzc2ln bm1lbnQiXQo+PiArZ2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9pbnQgIkFmdGVy IHZhbHVlIGFzc2lnbm1lbnQiCj4+ICtnZGJfdGVzdCAicHJpbnQgbG9ncCIg Ij0gXFwoUFRSIFRPIC0+IFxcKCAkbG9naWNhbCBcXClcXCkgJGhleFwoIDwu Kj5cKT8iICAicHJpbnQgbG9ncCwgYXNzb2NpYXRlZCIKPj4gK2dkYl90ZXN0 ICJwcmludCBjb21wIiAiPSBcXChQVFIgVE8gLT4gXFwoICRjb21wbGV4IFxc KVxcKSAkaGV4XCggPC4qPlwpPyIgICJwcmludCBjb21wLCBhc3NvY2lhdGVk Igo+PiArZ2RiX3Rlc3QgInByaW50IGNoYXJwIiAiPSBcXChQVFIgVE8gLT4g XFwoIGNoYXJhY3RlclxcKjEgXFwpXFwpICRoZXhcKCA8Lio+XCk/IiAicHJp bnQgY2hhcnAsIGFzc29jaWF0ZWQiCj4+ICtnZGJfdGVzdCAicHJpbnQgY2hh cmFwIiAiPSBcXChQVFIgVE8gLT4gXFwoIGNoYXJhY3RlclxcKjMgXFwpXFwp ICRoZXhcKCA8Lio+XCk/IiAicHJpbnQgY2hhcmFwLCBhc3NvY2lhdGVkIgo+ PiArZ2RiX3Rlc3QgInByaW50IGludHAiICI9IFxcKFBUUiBUTyAtPiBcXCgg JGludCBcXClcXCkgJGhleFwoIDwuKj5cKT8iICAicHJpbnQgaW50cCwgYXNz b2NpYXRlZCIKPj4gK2dkYl90ZXN0ICJwcmludCByZWFscCIgIj0gXFwoUFRS IFRPIC0+IFxcKCAkcmVhbCBcXClcXCkgJGhleFwoIDwuKj5cKT8iICAicHJp bnQgcmVhbHAsIGFzc29jaWF0ZWQiCj4+ICtnZGJfdGVzdCAicHJpbnQgKigo aW50ZWdlciopICZpbnRhICsgMikiICI9IDMiICJwcmludCB0ZW1wb3Jhcnkg cG9pbnRlciwgYXJyYXkiCj4KPj4gKwo+PiArZ2RiX2JyZWFrcG9pbnQgW2dk Yl9nZXRfbGluZV9udW1iZXIgIkJlZm9yZSBwb2ludGVyIGFzc2lnbm1lbnQi XQo+PiArZ2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9pbnQgIkJlZm9yZSBwb2lu dGVyIGFzc2lnbm1lbnQiCj4+ICtnZGJfdGVzdCAicHR5cGUgbG9ncCIgIj0g PG5vdCBhc3NvY2lhdGVkPiIgInB0eXBlIGxvZ3AsIG5vdCBhc3NvY2lhdGVk Igo+PiArZ2RiX3Rlc3QgInB0eXBlIGNvbXAiICI9IDxub3QgYXNzb2NpYXRl ZD4iICJwdHlwZSBjb21wLCBub3QgYXNzb2NpYXRlZCIKPj4gK2dkYl90ZXN0 ICJwdHlwZSBjaGFycCIgIj0gPG5vdCBhc3NvY2lhdGVkPiIgInB0eXBlIGNo YXJwLCBub3QgYXNzb2NpYXRlZCIKPj4gK2dkYl90ZXN0ICJwdHlwZSBjaGFy YXAiICI9IDxub3QgYXNzb2NpYXRlZD4iICJwdHlwZSBjaGFyYXAsIG5vdCBh c3NvY2lhdGVkIgo+PiArZ2RiX3Rlc3QgInB0eXBlIGludHAiICI9IDxub3Qg YXNzb2NpYXRlZD4iICJwdHlwZSBpbnRwLCBub3QgYXNzb2NpYXRlZCIKPj4g K2dkYl90ZXN0ICJwdHlwZSBpbnRhcCIgIj0gPG5vdCBhc3NvY2lhdGVkPiIg InB0eXBlIGludGFwLCBub3QgYXNzb2NpYXRlZCIKPj4gK2dkYl90ZXN0ICJw dHlwZSByZWFscCIgIj0gPG5vdCBhc3NvY2lhdGVkPiIgInB0eXBlIHJlYWxw LCBub3QgYXNzb2NpYXRlZCIKPj4gKwo+IFRoZSB0eXBlIG9mIHRoZSBwb2lu dGVyIHNob3VsZCBiZSBrbm93biByZWdhcmRsZXNzIGl0IGlzIGFzc29jaWF0 ZWQgd2l0aAo+IHRhcmdldCBvciBub3QsIGJlY2F1c2UgaW4gdGhlIHNvdXJj ZSB3ZSBoYXZlLAo+Cj4gKyAgbG9naWNhbCwgcG9pbnRlciA6OiBsb2dwCj4g KyAgY29tcGxleCwgcG9pbnRlciA6OiBjb21wCj4gKyAgY2hhcmFjdGVyLCBw b2ludGVyOjogY2hhcnAKPiArICBjaGFyYWN0ZXIgKGxlbj0zKSwgcG9pbnRl cjo6IGNoYXJhcAo+ICsgIGludGVnZXIsIHBvaW50ZXIgOjogaW50cAo+ICsg IGludGVnZXIsIHBvaW50ZXIgOjogaW50YXAgKDopCj4gKyAgcmVhbCwgcG9p bnRlciA6OiByZWFscAo+Cj4gd2UgY2FuIHRlbGwgdGhlIHR5cGUgb2YgbG9n cCBpcyAibG9naWNhbCwgcG9pbnRlciIsIHJpZ2h0PwpDb3JyZWN0LCB0aGlz IHNob3VsZCBiZSBkb2FibGUuIFRoZSBwcmV2LiAmIGN1cnJlbnQgaW1wbGVt ZW50YXRpb24gc3RvcHMgCmZ1cnRoZXIgcHJpbnRpbmcKb2YgcG9pbnRlcnMg aW4gY2FzZSB0aGV5IGFyZSBub3QgYXNzb2NpYXRlZC4gSSB3aWxsIGNoYW5n ZSB0aGlzLgo+Cj4+ICsKPj4gK2dkYl90ZXN0ICJwdHlwZSBsb2dwIiAidHlw ZSA9IFBUUiBUTyAtPiBcXCggJGxvZ2ljYWwgXFwpIgo+PiArZ2RiX3Rlc3Qg InB0eXBlIGNvbXAiICJ0eXBlID0gUFRSIFRPIC0+IFxcKCAkY29tcGxleCBc XCkiCj4+ICtnZGJfdGVzdCAicHR5cGUgY2hhcnAiICJ0eXBlID0gUFRSIFRP IC0+IFxcKCBjaGFyYWN0ZXJcXCoxIFxcKSIKPj4gK2dkYl90ZXN0ICJwdHlw ZSBjaGFyYXAiICJ0eXBlID0gUFRSIFRPIC0+IFxcKCBjaGFyYWN0ZXJcXCoz IFxcKSIKPj4gK2dkYl90ZXN0ICJwdHlwZSBpbnRwIiAidHlwZSA9IFBUUiBU TyAtPiBcXCggJGludCBcXCkiCj4+ICtnZGJfdGVzdCAicHR5cGUgcmVhbHAi ICJ0eXBlID0gUFRSIFRPIC0+IFxcKCAkcmVhbCBcXCkiCgpJbnRlbCBEZXV0 c2NobGFuZCBHbWJIClJlZ2lzdGVyZWQgQWRkcmVzczogQW0gQ2FtcGVvbiAx MC0xMiwgODU1NzkgTmV1YmliZXJnLCBHZXJtYW55ClRlbDogKzQ5IDg5IDk5 IDg4NTMtMCwgd3d3LmludGVsLmRlCk1hbmFnaW5nIERpcmVjdG9yczogQ2hy aXN0aW4gRWlzZW5zY2htaWQsIENocmlzdGlhbiBMYW1wcmVjaHRlcgpDaGFp cnBlcnNvbiBvZiB0aGUgU3VwZXJ2aXNvcnkgQm9hcmQ6IE5pY29sZSBMYXUK UmVnaXN0ZXJlZCBPZmZpY2U6IE11bmljaApDb21tZXJjaWFsIFJlZ2lzdGVy OiBBbXRzZ2VyaWNodCBNdWVuY2hlbiBIUkIgMTg2OTI4Cg== >From gdb-patches-return-132211-listarch-gdb-patches=sources.redhat.com@sourceware.org Tue Jun 21 09:40:43 2016 Return-Path: Delivered-To: listarch-gdb-patches@sources.redhat.com Received: (qmail 93314 invoked by alias); 21 Jun 2016 09:40:43 -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 Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 93297 invoked by uid 89); 21 Jun 2016 09:40:42 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.1 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy=discriminant, interpret, H*Ad:U*tom, Optimized X-HELO: mail-lf0-f52.google.com Received: from mail-lf0-f52.google.com (HELO mail-lf0-f52.google.com) (209.85.215.52) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Tue, 21 Jun 2016 09:40:32 +0000 Received: by mail-lf0-f52.google.com with SMTP id q132so14743082lfe.3 for ; Tue, 21 Jun 2016 02:40:31 -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:cc; bh=yklrMcFFXNoS1h8Cq/3VHIlCkqT09vuBAHJHeAetv3M=; b=ZDJZXlAWxBopzNq5y66LY4UwoGnFIe+hKYOJjbVe60ErnQnBkdvb0zYH9TSiOewaz8 H7rnC1Vwt/ikGvairXbIJCqMHNj0KuooV0t4UXMWzgK1+ienp9AZlP335ZjA7jORK2GX ueWnG1WgBcXDj2Tl+VfeCZ21OdKjFbb+Rs2NSj4oezPkzDhyH2ApdxzpQkswwsexXpb/ P/Sf8rUEKOgWvpIYmLY3IY2awyLan5Q9DcCaGJy+yW7GW3yPKmYX4BQDug6OeGuF6+zL IOaSGON8PubrVW2Z7e/UnbA3AYUPzbrsZ+EJmFfJmKfnhlMcyZXoMx08/JU/fGbCX6+U ednQ== X-Gm-Message-State: ALyK8tLXulx1/YRaBYiMb2Lwh5saxGkVviG5LCS/M7aLbeLOZEGpPgNkTAEXCcHI/Ff+FL2wDSi7Q3/tFp1U1VhJ MIME-Version: 1.0 X-Received: by 10.28.197.132 with SMTP id v126mr2289841wmf.8.1466502028859; Tue, 21 Jun 2016 02:40:28 -0700 (PDT) Received: by 10.28.36.215 with HTTP; Tue, 21 Jun 2016 02:40:28 -0700 (PDT) Date: Tue, 21 Jun 2016 09:40:00 -0000 Message-ID: Subject: [PATCH 1/2][PR gdb/20239] Make evaluation and type-printing of all NonZero-optimized enums work From: Manish Goregaokar To: gdb-patches@sourceware.org Cc: Tom Tromey Content-Type: text/plain; charset=UTF-8 X-SW-Source: 2016-06/txt/msg00355.txt.bz2 Content-length: 5481 Moved over from https://sourceware.org/bugzilla/show_bug.cgi?id=20239. Regarding the xstrdup, this is done because strsep edits the string itself. Built and tested on OS X El Capitan. Methods tests fail, but they are a preexisting failure due to Rust's debuginfo changing. gdb/ChangeLog: 2016-06-21 Manish Goregaokar PR gdb/20239 * rust-lang.c (rust_get_disr_info): Correctly interpret NonZero-optimized enums of arbitrary depth. (rust_print_type): Correctly print NonZero-optimized enums. --- gdb/rust-lang.c | 72 +++++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 55 insertions(+), 17 deletions(-) diff --git a/gdb/rust-lang.c b/gdb/rust-lang.c index 5df99ce..baabf76 100644 --- a/gdb/rust-lang.c +++ b/gdb/rust-lang.c @@ -120,42 +120,69 @@ rust_get_disr_info (struct type *type, const gdb_byte *valaddr, if (strncmp (TYPE_FIELD_NAME (type, 0), RUST_ENUM_PREFIX, strlen (RUST_ENUM_PREFIX)) == 0) { - char *tail; + char *name, *tail, *token; unsigned long fieldno; struct type *member_type; LONGEST value; + char *type_name; + ret.is_encoded = 1; if (TYPE_NFIELDS (type) != 1) error (_("Only expected one field in %s type"), RUST_ENUM_PREFIX); - fieldno = strtoul (TYPE_FIELD_NAME (type, 0) + strlen (RUST_ENUM_PREFIX), - &tail, 10); - if (*tail != '$') + /* Optimized enums have only one field */ + member_type = TYPE_FIELD_TYPE (type, 0); + + name = xstrdup (TYPE_FIELD_NAME (type, 0)); + cleanup = make_cleanup (xfree, name); + tail = name + strlen (RUST_ENUM_PREFIX); + + /* The location of the value that doubles as a discriminant is + stored in the name of the field, as + RUST$ENCODED$ENUM$$$...$ + where the fieldnos are the indices of the fields that should be + traversed in order to find the field (which may be several fields deep) + and the variantname is the name of the variant of the case when the + field is zero */ + while ((token = strsep (&tail, "$")) != NULL) + { + if (sscanf (token, "%lu", &fieldno) != 1) + { + /* We have reached the enum name, which cannot start with a digit */ + break; + } + if (fieldno >= TYPE_NFIELDS (member_type)) + error (_("%s refers to field after end of member type"), + RUST_ENUM_PREFIX); + + embedded_offset += TYPE_FIELD_BITPOS (member_type, fieldno) / 8; + member_type = TYPE_FIELD_TYPE (member_type, fieldno); + type_name = TYPE_NAME (member_type); + }; + + if (token >= name + strlen (TYPE_FIELD_NAME (type, 0))) error (_("Invalid form for %s"), RUST_ENUM_PREFIX); + value = unpack_long (member_type, + valaddr + embedded_offset); + - member_type = TYPE_FIELD_TYPE (type, 0); - if (fieldno >= TYPE_NFIELDS (member_type)) - error (_("%s refers to field after end of member type"), - RUST_ENUM_PREFIX); - embedded_offset += TYPE_FIELD_BITPOS (member_type, fieldno) / 8; - value = unpack_long (TYPE_FIELD_TYPE (member_type, fieldno), - valaddr + embedded_offset); if (value == 0) { ret.field_no = RUST_ENCODED_ENUM_HIDDEN; - ret.name = concat (TYPE_NAME (type), "::", tail + 1, (char *) NULL); + ret.name = concat (TYPE_NAME (type), "::", token, (char *) NULL); } else { ret.field_no = RUST_ENCODED_ENUM_REAL; ret.name = concat (TYPE_NAME (type), "::", - rust_last_path_segment (TYPE_NAME (member_type)), + rust_last_path_segment (TYPE_NAME (TYPE_FIELD_TYPE (type, 0))), (char *) NULL); } + do_cleanups (cleanup); return ret; } @@ -841,6 +868,7 @@ rust_print_type (struct type *type, const char *varstring, { /* ADT enums */ int i, len = 0; + int skip_to = 1; /* Skip the discriminant field */ fputs_filtered ("enum ", stream); if (TYPE_TAG_NAME (type) != NULL) @@ -849,7 +877,17 @@ rust_print_type (struct type *type, const char *varstring, fputs_filtered (" ", stream); len = strlen (TYPE_TAG_NAME (type)); } - fputs_filtered ("{\n", stream); + fputs_filtered ("{\n", stream); + + if (strncmp (TYPE_FIELD_NAME (type, 0), RUST_ENUM_PREFIX, + strlen (RUST_ENUM_PREFIX)) == 0) { + char *zero_field = strrchr (TYPE_FIELD_NAME (type, 0), '$'); + if (zero_field != NULL && strlen (zero_field) > 1) { + fprintfi_filtered (level+2, stream, "%s,\n", zero_field+1); + /* there is no explicit discriminant field, skip nothing */ + skip_to = 0; + } + } for (i = 0; i < TYPE_NFIELDS (type); ++i) { @@ -859,14 +897,14 @@ rust_print_type (struct type *type, const char *varstring, fprintfi_filtered (level + 2, stream, "%s", name); - if (TYPE_NFIELDS (variant_type) > 1) + if (TYPE_NFIELDS (variant_type) > skip_to) { - int first = 1; + int first = 1; int is_tuple = rust_tuple_variant_type_p (variant_type); int j; fputs_filtered (is_tuple ? "(" : "{", stream); - for (j = 1; j < TYPE_NFIELDS (variant_type); j++) + for (j = skip_to; j < TYPE_NFIELDS (variant_type); j++) { if (first) first = 0; -- 2.8.3