This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: New scope checking patch


On 19/01/2008, Jim Blandy <jimb@codesourcery.com> wrote:
>
> "Rob Quill" <rob.quill at gmail.com> writes:
> > 2008-01-18   Rob Quill <rob.quill@gmail.com>
> >
> >          Add $in_scope as a type of expression.
> >          * c-exp.y (IN_SCOPE): New token.
> >          (exp): IN_SCOPE (name): evaluates to 1 if name is in scope, 0
> > otherwise.
> >          (yylex): Match "$in_scope" as IN_SCOPE token
>
> This looks good.
>
> I see you've got your copyright paperwork filed with the FSF.
>
> If you haven't already (and only if you haven't already), you'll need
> to visit:
>
> http://sourceware.org/cgi-bin/pdw/ps_form.cgi
>
> to get added to the gdb project; list me as your approver.
>
> Since this is a user-visible feature, it needs documentation.  Write
> up a patch to doc/gdb.texinfo, make sure it looks okay in .info and
> PDF form, and post the patch to the .texinfo file here.  I think this
> also needs an entry in gdb/NEWS.

Hi,

I have attached the docs patch below. I wasn't sure how much to put in
the docs, so I just put a small paragraph in the place which seemed
most appropriate. Any feedback is much appreciated.

Rob

2008-01-18   Rob Quill <rob.quill@gmail.com>

	* gdb.texinfo (Program Variables): Add a small paragraph about
	  the $in_scope operator.
	* NEWS: Mentions $in_scope.

Index: gdb/NEWS
===================================================================
RCS file: /cvs/src/src/gdb/NEWS,v
retrieving revision 1.254
diff -u -p -r1.254 NEWS
--- gdb/NEWS	30 Jan 2008 00:51:49 -0000	1.254
+++ gdb/NEWS	30 Jan 2008 11:56:12 -0000
@@ -3,6 +3,12 @@

 *** Changes since GDB 6.7

+* New expression type
+
+$in_scope(...)
+  The value of this expression is 1 if the variable within the
+  parentheses is within the current scope, 0 otherwise.
+
 * New native configurations

 NetBSD/hppa			hppa*-*netbsd*
Index: gdb/doc/gdb.texinfo
===================================================================
RCS file: /cvs/src/src/gdb/doc/gdb.texinfo,v
retrieving revision 1.463
diff -u -p -r1.463 gdb.texinfo
--- gdb/doc/gdb.texinfo	30 Jan 2008 04:27:11 -0000	1.463
+++ gdb/doc/gdb.texinfo	30 Jan 2008 11:56:35 -0000
@@ -5676,6 +5676,13 @@ scope resolution operator in @value{GDBN
 @c FIXME: Um, so what happens in one of those rare cases where it's in
 @c conflict??  --mew

+The @code{$in_scope} operator can be used to check if a variable is in scope,
+returning 1 if it is and 0 if it is not. This is most useful when scripting GDB
+as it means that the script will ot stop executing if a variable is
not in scope,
+provided that you check if it is in scope before you test it's value.
The operator
+only works on variables and will not work on structure members or
array elements
+for instance.
+
 @cindex wrong values
 @cindex variable values, wrong
 @cindex function entry/exit, wrong values of variables


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]