From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 97546 invoked by alias); 5 Apr 2016 12:42:47 -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 97536 invoked by uid 89); 5 Apr 2016 12:42:46 -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*RU:HELO, Hx-spam-relays-external:HELO X-HELO: mga01.intel.com Received: from mga01.intel.com (HELO mga01.intel.com) (192.55.52.88) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 05 Apr 2016 12:42:31 +0000 Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga101.fm.intel.com with ESMTP; 05 Apr 2016 05:42:31 -0700 X-ExtLoop1: 1 Received: from heckel-mobl3.ger.corp.intel.com (HELO [172.28.205.63]) ([172.28.205.63]) by fmsmga002.fm.intel.com with ESMTP; 05 Apr 2016 05:42:29 -0700 Subject: Re: [PATCH 1/3] fort_dyn_array: Enable dynamic member types inside a structure. To: Yao Qi References: <1458204189-13267-1-git-send-email-bernhard.heckel@intel.com> <1458204189-13267-2-git-send-email-bernhard.heckel@intel.com> <86h9fhpkkz.fsf@gmail.com> <570369BC.60407@intel.com> <86inzwnxik.fsf@gmail.com> Cc: "brobecker@adacore.com" , "gdb-patches@sourceware.org" From: "Heckel, Bernhard" Message-ID: <5703B2B4.4090209@intel.com> Date: Tue, 05 Apr 2016 12:42: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: <86inzwnxik.fsf@gmail.com> Content-Type: text/plain; charset="utf-8"; format="flowed" Content-Transfer-Encoding: base64 X-IsSubscribed: yes X-SW-Source: 2016-04/txt/msg00074.txt.bz2 T24gMDUvMDQvMjAxNiAxMjo0NiwgWWFvIFFpIHdyb3RlOgo+ICJIZWNrZWws IEJlcm5oYXJkIiA8YmVybmhhcmQuaGVja2VsQGludGVsLmNvbT4gd3JpdGVz Ogo+Cj4+IEFjdHVhbGx5LCB3aGVuIHJlc29sdmluZyBkeW5hbWljIHR5cGVz IEkgZG9uJ3QgdXNlIHRoZSB2YWxhZGRyLiBGcm9tCj4+IHdoYXQgSSB1bmRl cnN0b29kCj4+IEkgY291bGQgZXZlbiByZXR1cm4gaWYgdmFsYWRkciBpcyBu b3QgTnVsbCBhcyB0aGUgVFlQRSBzaG91bGQgYWxyZWFkeQo+PiBiZSByZXNv bHZlZCBhdCB0aGF0IHRpbWUuCj4+IEJ1dCBJIHdhcyB1bnN1cmUgYWJvdXQg aXQgYW5kIGtlcHQgdGhlIGNvZGUuCj4gT0ssIHRoYXQgaXMgYSBzZXBhcmF0 ZSBpc3N1ZS4KPgo+Pj4+ICAgICAgICAgIHBpbmZvLm5leHQgPSBhZGRyX3N0 YWNrOwo+Pj4+ICAgICAgICAgICAgVFlQRV9GSUVMRF9UWVBFIChyZXNvbHZl ZF90eXBlLCBpKQo+Pj4+IEBAIC0yMDkwLDggKzIwOTEsMTMgQEAgcmVzb2x2 ZV9keW5hbWljX3N0cnVjdCAoc3RydWN0IHR5cGUgKnR5cGUsCj4+Pj4gICAg CXJlc29sdmVkX3R5cGVfYml0X2xlbmd0aCA9IG5ld19iaXRfbGVuZ3RoOwo+ Pj4+ICAgICAgICB9Cj4+Pj4gICAgLSAgVFlQRV9MRU5HVEggKHJlc29sdmVk X3R5cGUpCj4+Pj4gLSAgICA9IChyZXNvbHZlZF90eXBlX2JpdF9sZW5ndGgg KyBUQVJHRVRfQ0hBUl9CSVQgLSAxKSAvIFRBUkdFVF9DSEFSX0JJVDsKPj4+ PiArICAvKiBUeXBlIGxlbmd0aCB3b24ndCBjaGFuZ2UgZm9yIGZvcnRyYW4u IEtlZXAgd2hhdCB3ZSBnb3QgZnJvbSBEV0FSRi4KPj4+IFR3byBzcGFjZXMg YWZ0ZXIgIi4iLiAgTXVsdGlwbGUgaW5zdGFuY2VzIG9mIHRoaXMgcHJvYmxl bS4KPj4+Cj4+Pj4gKyAgICAgRHluYW1pYyBmaWVsZHMgbWlnaHQgY2hhbmdl IG92ZXIgdGltZSBidXQgbm90IHRoZSBzdHJ1Y3QgZGVmaW5pdGlvbi4KPj4+ PiArICAgICBJZiB3ZSB3b3VsZCBhZGFwdCBpdCB3ZSBydW4gaW50byBwcm9i bGVtcyB3aGVuCj4+Pj4gKyAgICAgY2FsY3VsYXRpbmcgdGhlIGVsZW1lbnQg b2Zmc2V0IGZvciBhcnJheXMgb2Ygc3RydWN0cy4gICovCj4+PiBXaGF0IGlz IHRoZSBwcm9ibGVtIHdlIHJ1biBpbnRvPwo+PiBJbWFnaW5lIHdlIGhhdmUg YSBkeW5hbWljIGFsbG9jYXRhYmxlIGFycmF5IGFzIGEgbWVtYmVyIG9mIGEK Pj4gc3RydWN0dXJlLiBUaGUgc2l6ZSBvZiB0aGUgZHluYW1pYyBhcnJheSBj YW4gdmFyeSBvdmVyIHRpbWUuCj4+IFdoZW4gd2UgaGF2ZSByZXNvbHZlZCB0 aGlzIGFsbG9jYXRhYmxlIGFycmF5IHdlIGRvbid0IHdhbnQgdG8gYWRkIGl0 J3MKPj4gbGVuZ3RoIHRvIHRoZSBzdHJ1Y3R1cmUgbGVuZ3RoIGl0IGJlbG9u Z3MgdG8uCj4+IER5bmFtaWMgbWVtYmVycyBhcmUgbm90IGVtYmVkZGVkIGlu IHRoZSBzdHJ1Y3R1cmUgaXRzZWxmLiBPbmx5IHRoZQo+PiBkZXNjcmlwdGlv biBvZiB0aGUgZHluYW1pYyB0eXBlIGlzIGVtYmVkZGVkCj4+IGFuZCB0aGUg c2l6ZSBvZiB0aGUgZGVzY3JpcHRpb24gKGFkZHJlc3MsIGJvdW5kcywuLi4p IHdvbid0IGNoYW5nZS4KPiBUaGF0IGlzIGEgRk9SVFJBTiBzcGVjaWZpYyBm ZWF0dXJlLiAgVGhlIHN0cnVjdHVyZSdzIHNpemUgY2hhbmdlcyB3aGVuIHRo ZQo+IGR5bmFtaWMgYXJyYXkncyBzaXplIGNoYW5nZXMgaW4gQy4gIEkgYW0g bm90IDEwMCUgc3VyZSBhYm91dCBBZGEsIGJ1dCBJCj4gc3VzcGVjdCBpdCBp cyB0aGUgc2FtZSBhcyBDIGluIHRoaXMgYXNwZWN0IGFmdGVyIEkgcmVhZAo+ IGh0dHBzOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxNC0w NS9tc2cwMDUyMi5odG1sCj4KPiBDb3VsZCB5b3UgcmV3cml0ZSB0aGUgY29t bWVudHMgdG8gc2F5IHRoZSBsZW5ndGggb2YgdHlwZSB3b24ndCBjaGFuZ2UK PiBmb3IgRk9SVFJBTiwgYnV0IHRoZSBsZW5ndGggY2hhbmdlcyBmb3IgQyAo YW5kIEFkYT8pLgpTdXJlLCBJIHdpbGwgYWRkIHRoaXMgdG8gdGhlIG5leHQg cGF0Y2ggc2VyaWVzLgo+Cj4+Pj4gICAgLQwKPj4+PiAgICAvKiBBY2Nlc3Mg dG8gdGhlIHZhbHVlIGhpc3RvcnkuICAqLwo+Pj4+ICAgICAgLyogUmVjb3Jk IGEgbmV3IHZhbHVlIGluIHRoZSB2YWx1ZSBoaXN0b3J5Lgo+Pj4+IEBAIC0y NDE2LDYgKzI0MjgsMTIgQEAgc2V0X2ludGVybmFsdmFyIChzdHJ1Y3QgaW50 ZXJuYWx2YXIgKnZhciwgc3RydWN0IHZhbHVlICp2YWwpCj4+Pj4gICAgCSBj YWxsIGVycm9yICgpIHVudGlsIG5ld19kYXRhIGlzIGluc3RhbGxlZCBpbnRv IHRoZSB2YXItPnUgdG8gYXZvaWQKPj4+PiAgICAJIGxlYWtpbmcgbWVtb3J5 LiAgKi8KPj4+PiAgICAgICAgICByZWxlYXNlX3ZhbHVlIChuZXdfZGF0YS52 YWx1ZSk7Cj4+Pj4gKwo+Pj4+ICsgICAgICAvKiBJbnRlcm5hbCB2YXJpYWJs ZXMgd2hpY2ggYXJlIGNyZWF0ZWQgZnJvbSB2YWx1ZXMgd2l0aCBhIGR5bmFt aWMgbG9jYXRpb24KPj4+PiArICAgICAgICAgZG9uJ3QgbmVlZCB0aGUgbG9j YXRpb24gcHJvcGVydHkgb2YgdGhlIG9yaWdpbiBhbnltb3JlLgo+Pj4+ICsg ICAgICAgICBSZW1vdmUgdGhlIGxvY2F0aW9uIHByb3BlcnR5IGluIGNhc2Ug aXQgZXhpc3QuICAqLwo+Pj4+ICsgICAgICByZW1vdmVfZHluX3Byb3AoRFlO X1BST1BfREFUQV9MT0NBVElPTiwgdmFsdWVfdHlwZShuZXdfZGF0YS52YWx1 ZSkpOwo+Pj4gU3BhY2UgaXMgbmVlZGVkIGJlZm9yZSAiKCIuICBXaGF0IGlz IHdyb25nIGlmIHdlIGRvbid0IGRvIHNvPyAgRG8geW91Cj4+PiBoYXZlIGEg dGVzdCBjYXNlIGZvciB0aGlzPwo+PiBBbiBpbnRlcm5hbCB2YXJpYWJsZSBo YXMgaXQncyBvd24gdmFsYWRkciB0byB3aGVyZSB0aGUgY29weSBpcyBsb2Nh dGVkLgo+PiBJZiB3ZSBrZWVwIHRoZSBkeW5hbWljIGxvY2F0aW9uIGZyb20g dGhlIG9yaWdpbiB0aGVuIHRoaXMKPj4gZHluLiBsb2NhdGlvbiB3aWxsIGJl IHVzZWQgdG8gc2V0Cj4+IHRoZSB2YWx1ZSBjb21wb25lbnQgbG9jYXRpb24u Cj4+IEFzIHRoZSBpbnRlcm5hbCB2YXJpYWJsZSBpcyBhIGNvcHkgb2YgYW4g dmFsdWUgYXQgYSBjZXJ0YWluIHBvaW50IGluCj4+IHRpbWUgSSBwcmVmZXIg dG8gZ2V0IHJpZCBvZmYgdGhlCj4+IGR5bmFtaWMgbG9jYXRpb24gYXR0cmli dXRlIHRoZW4gdG8gZG8gc29tZSAiaWYgZWxzZSBpZiBlbHNlIgo+PiBjb25z dHJ1Y3RzIHdoZW4gc2V0dGluZyB0aGUgY29tcG9uZW50IGxvY2F0aW9uLgo+ IFdlIHJlbW92ZSB0aGUgZHluYW1pYyBwcm9wZXJ0aWVzIGZyb20gdHlwZSBB IGZvciBpbnRlcm5hbCB2YXJpYWJsZSwgYnV0Cj4gdGhlcmUgaXMgYW5vdGhl ciB2YXJpYWJsZSBpcyBzdGlsbCB1c2luZyB0eXBlIEEuICBUaGVzZSBkeW5h bWljCj4gcHJvcGVydGllcyBjYW4ndCBiZSBmb3VuZCBhbnkgbW9yZS4gIElz IGl0IGEgcHJvYmxlbT8KVGhpcyBzaG91bGQgbm90IGJlIGEgIHByb2JsZW0g YXMgZm9yIGFsbCBkeW5hbWljIHR5cGVzIHdlIGRvIGZpcnN0IGEgCmNvcHkg b2YgdGhlIHR5cGUgYmVmb3JlIHdlIHN0YXJ0IHRvIHJlc29sdmUgaXQuClRo ZXJlZm9yZSwgbmV4dCB0aW1lIHdoZW4gd2UgcHJpbnQgdmFyaWFibGVzIGZy b20gdGhlIHRhcmdldCB3ZSBoYXZlIHRvIApyZXNvbHZlIGl0J3MgdHlwZSBh Z2FpbiAoYXMgd2UgcmVzb2x2ZWQgb25seSB0aGUgY29weSBiZWZvcmUpLgo+ PiBUaGVyZSBhcmUgdGVzdHM6Cj4+IGdkYi5mb3J0cmFuL3ZsYS12YWx1ZS5l eHA6IHByaW50ICRteXZhciBzZXQgdG8gdmxhMQo+PiBnZGIuZm9ydHJhbi92 bGEtdmFsdWUuZXhwOiBwcmludCAkbXl2YXIoMyw2LDkpCj4gYnV0IHRoZXkg YXJlIFBBU1MgaW4gbWFpbmxpbmUuCj4KSSBoYW5kbGUgd2l0aCB0aGlzIHBh dGNoIHRoZSBkeW5hbWljIGxvY2F0aW9uIHByb3BlcnR5IGluIHRoZSAKc2V0 X3ZhbHVlX2NvbXBvbmVudF9sb2NhdGlvbiBhbmQgc2V0X3ZhbHVlX2FkZHJl c3MgZG9lc24ndCBhbGxvdyAKaW50ZXJuYWwgdmFyaWFibGVzLgpJbiBvcmRl ciB0byBsZXQgdGhlIHRlc3QgY29udGludWUgdG8gcGFzcyBJIGhhdmUgdG8g cmVtb3ZlIHRoZSBsb2NhdGlvbiAKcHJvcGVydHkgb3IgYWRkIGFuIGlmIC0g ZWxzZSBjb25zdHJ1Y3QgdG8gc2V0X3ZhbHVlX2NvbXBvbmVudF9sb2NhdGlv bi4KCkludGVsIERldXRzY2hsYW5kIEdtYkgKUmVnaXN0ZXJlZCBBZGRyZXNz OiBBbSBDYW1wZW9uIDEwLTEyLCA4NTU3OSBOZXViaWJlcmcsIEdlcm1hbnkK VGVsOiArNDkgODkgOTkgODg1My0wLCB3d3cuaW50ZWwuZGUKTWFuYWdpbmcg RGlyZWN0b3JzOiBDaHJpc3RpbiBFaXNlbnNjaG1pZCwgQ2hyaXN0aWFuIExh bXByZWNodGVyCkNoYWlycGVyc29uIG9mIHRoZSBTdXBlcnZpc29yeSBCb2Fy ZDogTmljb2xlIExhdQpSZWdpc3RlcmVkIE9mZmljZTogTXVuaWNoCkNvbW1l cmNpYWwgUmVnaXN0ZXI6IEFtdHNnZXJpY2h0IE11ZW5jaGVuIEhSQiAxODY5 MjgK >From gdb-patches-return-130703-listarch-gdb-patches=sources.redhat.com@sourceware.org Tue Apr 05 12:53:16 2016 Return-Path: Delivered-To: listarch-gdb-patches@sources.redhat.com Received: (qmail 42129 invoked by alias); 5 Apr 2016 12:53: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 Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 42107 invoked by uid 89); 5 Apr 2016 12:53:15 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: mail-pa0-f52.google.com Received: from mail-pa0-f52.google.com (HELO mail-pa0-f52.google.com) (209.85.220.52) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Tue, 05 Apr 2016 12:53:05 +0000 Received: by mail-pa0-f52.google.com with SMTP id td3so10292239pab.2 for ; Tue, 05 Apr 2016 05:53:05 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-transfer-encoding; bh=dAakLHzTDhOfbiBlA79gYWEcVmiwDDyAk1OKYbyfhcQ=; b=L9r+UiJj2F48A7tjH7/ZSQiALq9tdRns2N6L1JZ6P2tZ835icxFS+UEVNMukHNWa0c 3+pWaDYE31LsygbbN8Cl1eDd8GFR5mvEl+HYwIR2KjeUG0/ZQ4DwM8b6DD301uHdZ5Tz xoWW2zRRcPoTIcFZJhhNmiEUqLCG0D+5qKJLJGGVDoCERs/pTNvSWL2o4lXftX9/R/FJ pHeUw1fp8MwxE7ZcYhDLHy7MAjyjHzozJjtus0W7a8+vyuJU6Y7PuwoRmttRx44xeKBR I+ZNkD3yIkWkSf1/uBTcXWl64JJqsY5Fa7huFVNBoo70lckECR/GBz4AwgVgr3dkg7QH +mTg== X-Gm-Message-State: AD7BkJJSd6Z702slTaM8NaMVaqGLYTG4Wt5XGXhyYMYRwTLpTg4t58g91Cxjjcg2dCVBFA== X-Received: by 10.66.66.234 with SMTP id i10mr62791890pat.114.1459860783967; Tue, 05 Apr 2016 05:53:03 -0700 (PDT) Received: from E107787-LIN (gcc1-power7.osuosl.org. [140.211.15.137]) by smtp.gmail.com with ESMTPSA id dg1sm7808290pad.18.2016.04.05.05.53.01 (version=TLS1_2 cipher=AES128-SHA bits=128/128); Tue, 05 Apr 2016 05:53:03 -0700 (PDT) From: Yao Qi To: Don Breazeal Cc: , Subject: Re: [PATCH] Eliminate -var-create error for optzd ptr to struct References: <1459805313-6418-1-git-send-email-donb@codesourcery.com> Date: Tue, 05 Apr 2016 12:53:00 -0000 In-Reply-To: <1459805313-6418-1-git-send-email-donb@codesourcery.com> (Don Breazeal's message of "Mon, 4 Apr 2016 14:28:33 -0700") Message-ID: <861t6knro9.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes X-SW-Source: 2016-04/txt/msg00075.txt.bz2 Content-length: 1382 Don Breazeal writes: Hi Don, > @@ -1433,7 +1434,18 @@ value_optimized_out (struct value *value) > /* We can only know if a value is optimized out once we have tried to > fetch it. */ > if (VEC_empty (range_s, value->optimized_out) && value->lazy) > - value_fetch_lazy (value); > + { > + TRY > + { > + value_fetch_lazy (value); > + } > + CATCH (ex, RETURN_MASK_ERROR) > + { > + /* If we get an error, assume the value is not optimized out. */ > + return 0; Why don't we fall back to checking value->optimized_out below? Some bits/pieces of value are optimized out, but reading the rest of bits/piece may trigger the memory error. In this case, the value is optimized out too. We can do this... TRY { value_fetch_lazy (value); } CATCH (ex, RETURN_MASK_ERROR) { /* Fall back to checking value->optimized_out. */ } END_CATCH What do you think? > + } > + END_CATCH > + } >=20=20 > return !VEC_empty (range_s, value->optimized_out); Note that, after this patch, value_optimized_out will no longer throw exceptions, some TRY/CATCH in value_optimized_out's callers can be removed, such as gdbscm_value_optimized_out_p and valpy_get_is_optimized_out. This can be done in a follow-up patch. --=20 Yao (=E9=BD=90=E5=B0=A7)