From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18369 invoked by alias); 10 Jun 2007 20:55:52 -0000 Received: (qmail 18119 invoked by uid 22791); 10 Jun 2007 20:55:50 -0000 X-Spam-Check-By: sourceware.org Received: from py-out-1112.google.com (HELO py-out-1112.google.com) (64.233.166.183) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sun, 10 Jun 2007 20:55:44 +0000 Received: by py-out-1112.google.com with SMTP id a25so163922pyi for ; Sun, 10 Jun 2007 13:55:43 -0700 (PDT) Received: by 10.114.53.1 with SMTP id b1mr4781480waa.1181508942644; Sun, 10 Jun 2007 13:55:42 -0700 (PDT) Received: by 10.114.79.6 with HTTP; Sun, 10 Jun 2007 13:55:42 -0700 (PDT) Message-ID: Date: Sun, 10 Jun 2007 20:55:00 -0000 From: "Rob Quill" To: gdb@sourceware.org, gdb-patches@sourceware.org Subject: Re: Scope Checking Patch In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_93027_26110673.1181508942611" References: X-IsSubscribed: yes 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 X-SW-Source: 2007-06/txt/msg00143.txt.bz2 ------=_Part_93027_26110673.1181508942611 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Content-length: 973 On 10/06/07, Rob Quill wrote: > Hi all, > > This is the first patch I have ever submitted to an open source > project, so I'm a little bit unsure of the process. The patch adds the > ability to check if a variable is in scope, as descibed here: > > http://sourceware.org/ml/gdb/2006-11/msg00149.html > > I have attached the diffs for the two files I've changed. However, I > am seeing some regressions against the current cvs, which I can't > understand, so I was wondering if a) the regressions happen for anyone > esle? (which presumably it does), b) if anyone could offer any > suggestions as to the cause, and c) give thier opinions on the patch. > > The patch allows the scope of constants, variables and variables in > classes/structures, by using $in_scope(variable_name) as an > expression, with value 1 if variable_name is in scope and 0 if it is > not. > > Any help and thoughts you can offer is much appreciated. ...Diffs attached, sorry. ------=_Part_93027_26110673.1181508942611 Content-Type: text/x-patch; name="c-exp.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="c-exp.patch" X-Attachment-Id: f_f2rzwev9 Content-length: 3559 MTAzYTEwNCwxMDYKPiAvKiBHbG9iYWwgdmFyaWFibGUgZGVub3Rpbmcgd2hl dGhlciB3ZSBhcmUgb25seSBpbnRlcmVzdGVkIGluIHNjb3BlLCBub3QgdmFs dWUgKi8KPiBpbnQgY2hlY2tfc2NvcGUgPSAwOwo+IAoyMDNhMjA3LDIwOAo+ IC8qICRpbl9zY29wZSBvcHBlcmF0b3IgKi8KPiAlbGVmdCBJTl9TQ09QRQoy NDZhMjUyLDI1Ngo+IGV4cAk6CUlOX1NDT1BFCj4gCQkJeyBjaGVja19zY29w ZSA9IDE7IH0KPiAJCScoJyBleHAgJyknCj4gCTsKPiAKNTg2YzU5Niw2MDIK PCAJCQkgICAgZXJyb3IgKCJObyBzeW1ib2wgXCIlc1wiIGluIHNwZWNpZmll ZCBjb250ZXh0LiIsCi0tLQo+IAkJCSAgewo+IAkJCSAgICAvKiBDYXNlIGZv ciBzY29wZSBjaGVja2luZy4gSWYgc2NvcGUgaXMgYmVpbmcgY2hlY2tlZCBh bmQKPiAJCQkJICAgdGhlIHN5bWJvbCBpcyBub3QgaW4gc2NvcGUsIHJldHVy biBhbiBleHByZXNpc29uIG9mCj4gCQkJCSAgIHZhbHVlIDAuICovCj4gCQkJ ICAgIGlmKGNoZWNrX3Njb3BlID09IDApCj4gCQkJICAgIHsKPiAJCQkgICAg ICAgZXJyb3IgKCJObyBzeW1ib2wgXCIlc1wiIGluIHNwZWNpZmllZCBjb250 ZXh0LiIsCjU4N2E2MDQsNjE0Cj4gCQkJICAgIH0KPiAJCQkgICAgZWxzZQo+ IAkJCSAgICB7Cj4gCQkJCSAgIFlZU1RZUEUgdmFsOwo+IAkJCSAJICAgcGFy c2VfbnVtYmVyICgiMCIsIDEsIDAsICZ2YWwpOwo+IAkJCSAgCSAgIHdyaXRl X2V4cF9lbHRfb3Bjb2RlIChPUF9MT05HKTsKPiAJCQkgIAkgICB3cml0ZV9l eHBfZWx0X3R5cGUgKHZhbC50eXBlZF92YWxfaW50LnR5cGUpOwo+IAkJCSAg CSAgIHdyaXRlX2V4cF9lbHRfbG9uZ2NzdCAoKExPTkdFU1QpdmFsLnR5cGVk X3ZhbF9pbnQudmFsKTsKPiAJCQkgIAkgICB3cml0ZV9leHBfZWx0X29wY29k ZSAoT1BfTE9ORyk7Cj4gCQkJICAgIH0KPiAJCQkgIH0KNjY2LDY2N2M2OTMs NzA4CjwgCQkJICAgICAgZXJyb3IgKCJObyBzeW1ib2wgXCIlc1wiIGluIGN1 cnJlbnQgY29udGV4dC4iLCBuYW1lKTsKPCAJCQl9Ci0tLQo+IAkJCSAgICB7 Cj4gCQkJICAgICAgaWYoY2hlY2tfc2NvcGUgPT0gMCkKPiAJCQkgICAgICB7 Cj4gCQkJICAgIAllcnJvciAoIk5vIHN5bWJvbCBcIiVzXCIgaW4gY3VycmVu dCBjb250ZXh0LiIsIG5hbWUpOwo+IAkJCSAgICAgIH0KPiAJCQkgICAgICBl bHNlCj4gCQkJICAgICAgewo+ICAgICAgICAgICAgICAgICAgICAgIFlZU1RZ UEUgdmFsOwo+ICAgICAgICAgICAgICAgICAgICAgIHBhcnNlX251bWJlciAo IjAiLCAxLCAwLCAmdmFsKTsKPiAgICAgICAgICAgICAgICAgICAgICB3cml0 ZV9leHBfZWx0X29wY29kZSAoT1BfTE9ORyk7Cj4gICAgICAgICAgICAgICAg ICAgICAgd3JpdGVfZXhwX2VsdF90eXBlICh2YWwudHlwZWRfdmFsX2ludC50 eXBlKTsKPiAgICAgICAgICAgICAgICAgICAgICB3cml0ZV9leHBfZWx0X2xv bmdjc3QgKChMT05HRVNUKXZhbC50eXBlZF92YWxfaW50LnZhbCk7Cj4gICAg ICAgICAgICAgICAgICAgICAgd3JpdGVfZXhwX2VsdF9vcGNvZGUgKE9QX0xP TkcpOwo+IAkJCSAgICAgIH0KPiAJCQkgICAgfQo+IH0KNzIxLDcyMmM3NjIs Nzc0CjwgCQkJCWVycm9yICgiTm8gc3ltYm9sIFwiJXNcIiBpbiBjdXJyZW50 IGNvbnRleHQuIiwKPCAJCQkJICAgICAgIGNvcHlfbmFtZSAoJDEuc3Rva2Vu KSk7Ci0tLQo+IAkJCSAgICAgIHsKPiAJCQkgICAgICAgIGlmKGNoZWNrX3Nj b3BlID09IDApCj4gCQkJCSAgICAgICBlcnJvciAoIk5vIHN5bWJvbCBcIiVz XCIgaW4gY3VycmVudCBjb250ZXh0LiIsIGNvcHlfbmFtZSAoJDEuc3Rva2Vu KSk7Cj4gCQkJICAgICAgICBlbHNlCj4gCQkJICAgICAgICB7Cj4gCQkJCSAg ICAgICBZWVNUWVBFIHZhbDsKPiAJCQkgCSAgICAgICBwYXJzZV9udW1iZXIg KCIwIiwgMSwgMCwgJnZhbCk7Cj4gCQkJICAJICAgICAgIHdyaXRlX2V4cF9l bHRfb3Bjb2RlIChPUF9MT05HKTsKPiAJCQkgIAkgICAgICAgd3JpdGVfZXhw X2VsdF90eXBlICh2YWwudHlwZWRfdmFsX2ludC50eXBlKTsKPiAJCQkgIAkg ICAgICAgd3JpdGVfZXhwX2VsdF9sb25nY3N0ICgoTE9OR0VTVCl2YWwudHlw ZWRfdmFsX2ludC52YWwpOwo+IAkJCSAgCSAgICAgICB3cml0ZV9leHBfZWx0 X29wY29kZSAoT1BfTE9ORyk7Cj4gCQkJCSAgICB9Cj4gCQkJICAgICAgfQox MjYwYTEzMTMsMTMxNwo+IHN0YXRpYyBjb25zdCBzdHJ1Y3QgdG9rZW4gdG9r ZW50YWI5W10gPQo+ICAgewo+ICAgICB7IiRpbl9zY29wZSIsIElOX1NDT1BF LCBCSU5PUF9FTkR9Cj4gICB9Owo+IAoxMzIyYTEzODAsMTM4OAo+ICAgLyog Q29kZSBmb3IgcmVjb2duaXNpbmcgdGhlICRpbl9zY29wZSB0b2tlbi4gKi8K PiAgIC8qIFNlZSBpZiBpdCBpcyBhIHNwZWNpYWwgdG9rZW4gb2YgbGVuZ3Ro IDkuICAqLwo+ICAgZm9yIChpID0gMDsgaSA8IHNpemVvZiB0b2tlbnRhYjkg LyBzaXplb2YgdG9rZW50YWI5WzBdOyBpKyspCj4gICAgIGlmIChzdHJuY21w ICh0b2tzdGFydCwgdG9rZW50YWI5W2ldLm9wZXJhdG9yLCA5KSA9PSAwKQo+ ICAgICAgIHsKPiAJbGV4cHRyICs9IDk7Cj4gCXl5bHZhbC5vcGNvZGUgPSB0 b2tlbnRhYjlbaV0ub3Bjb2RlOwo+IAlyZXR1cm4gdG9rZW50YWI5W2ldLnRv a2VuOwo+ICAgICAgIH0K ------=_Part_93027_26110673.1181508942611 Content-Type: text/x-patch; name="eval.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="eval.patch" X-Attachment-Id: f_f2rzwpvo Content-length: 1757 NDhhNDksNTEKPiAvKiBWYXJpYWJsZSBkZW5vdGluZyBpcyBzY29wZSBpcyBi ZWluZyBjaGVja2VkICovCj4gZXh0ZXJuIGludCBjaGVja19zY29wZTsKPiAK MTY3YzE3MCwxNzkKPCAgIHJldHVybiBldmFsdWF0ZV9zdWJleHAgKE5VTExf VFlQRSwgZXhwLCAmcGMsIEVWQUxfTk9STUFMKTsKLS0tCj4gCj4gICAvKiBN b2RpZmljYXRpb25zIHNvIHRoYXQgaWYgd2UgYXJlIGNoZWNraW5nIHNjb3Bl IHdlIGNhbiAKPiAgICAgIHJlc2V0IHRoZSB2YWx1ZSBvZiB0aGUgdmFyaWFi bGUgdG8gMCwgc28gd2UgZG9uJ3QgY2hlY2sgCj4gICAgICBzY29wZSB3aGVu IHdlIGRvbid0IHdhbnQgdG8gKi8KPiAgIHN0cnVjdCB2YWx1ZSAqdmFsID0g ZXZhbHVhdGVfc3ViZXhwIChOVUxMX1RZUEUsIGV4cCwgJnBjLCBFVkFMX05P Uk1BTCk7Cj4gICAKPiAgIGlmKGNoZWNrX3Njb3BlID09IDEpCj4gICAgIGNo ZWNrX3Njb3BlID0gMDsKPiAKPiAgIHJldHVybiB2YWw7CjQ3NGE0ODcsNDk0 Cj4gCS8qIFNwZWNpYWwgY2FzZSwgaWYgd2UgYXJlIGNoZWNraW5nIHNjb3Bl IGFuZCBhIHZhcmlhYmxlIGlzIAo+ICAgICAgICBpbiBzY29wZSwgcmV0dXJu IGEgZXhwcmVzc2lvbiBvZiB2YWx1ZSAxLiAqLwo+IAlpZihjaGVja19zY29w ZSA9PSAwKQo+IAkgIHJldHVybiB2YWx1ZV9vZl92YXJpYWJsZSAoZXhwLT5l bHRzW3BjICsgMl0uc3ltYm9sLAo+IAkJCQkgICAgZXhwLT5lbHRzW3BjICsg MV0uYmxvY2spOwo+IAllbHNlCj4gCSAgcmV0dXJuIHZhbHVlX2Zyb21fbG9u Z2VzdCAoYnVpbHRpbl90eXBlX2ludCwgKExPTkdFU1QpIDEpOwo+IAoxMzM2 YzEzNTYsMTM2OAo8ICAgICAgIGFyZzEgPSBldmFsdWF0ZV9zdWJleHAgKE5V TExfVFlQRSwgZXhwLCBwb3MsIG5vc2lkZSk7Ci0tLQo+IAo+ICAgICAgIC8q IFRlbXBvcmFsaWx5IGRpc2FibGUgc2NvcGUgY2hlY2tpbmcgd2hpbGUgd2Ug ZXZhbHVhdGUKPiAgICAgICAgICB0aGUgc3ViZXhwcmVzc2lvbiwgc28gdGhh dCB0aGUgY29ycmVjdCB0eXBlIG9mIHZhbHVlCj4gICAgICAgICAgaXMgcmV0 dXJuZWQgKi8KPiAgICAgICBpZihjaGVja19zY29wZSA9PSAxKQo+ICAgICAg ICB7Cj4gCSAgICAgY2hlY2tfc2NvcGUgPSAwOwo+ICAgICAgICAgIGFyZzEg PSBldmFsdWF0ZV9zdWJleHAgKE5VTExfVFlQRSwgZXhwLCBwb3MsIG5vc2lk ZSk7Cj4gICAgICAgICAgY2hlY2tfc2NvcGUgPSAxOwo+ICAgICAgICB9Cj4g ICAgICAgZWxzZQo+ICAgICAgICAgIGFyZzEgPSBldmFsdWF0ZV9zdWJleHAg KE5VTExfVFlQRSwgZXhwLCBwb3MsIG5vc2lkZSk7Cj4gCg== ------=_Part_93027_26110673.1181508942611--