Re: [PATCH] Objective-C language support.

Michael Snyder
2002-10-23T21:35:04Z

[-- Attachment #1: Type: text/plain, Size: 956 bytes --]

Andrew Cagney wrote:
>
> >>
> >
> >> > - error ("no args, no `this'");
> >
> >> >> + error ("no args, no %s", name);
> >
> >>
> >> Michael,
> >>
> >> This changes GDB's behavior. Instead of printing:
> >>
> >> no args, no `this'
> >> it will print
> >> no args, no this
> >>
> >> I don't think GDB's output should be changed in this way.
> >> (I'm suprized that running the testsuite didn't detect this).
> >
> >
> > Hi Andrew,
> >
> > I corrected this with the patch below. I did not add a new test,
> > because I cannot find a way to invoke this error message. ;-/
>
> Michael, my memory of the Apple patch is that it changed this
> everywhere, the above was just one example :-(

Oh. Why didn't you say so? OK, below are all the ones I could find.

> (btw `this' not 'this').

Pretty picky, for something that never showed up in a testsuite.
OK, I'll change it to using that quote that nobody ever uses...
See below.

[-- Attachment #2: this2.diff --]
[-- Type: text/plain, Size: 2824 bytes --]

2002-10-23 Michael Snyder <msnyder@redhat.com>

* printcmd.c (address_info): Restore quotes in output.
* valops.c (value_of_local): Restore quotes in error message.

Index: printcmd.c
===================================================================
RCS file: /cvs/src/src/gdb/printcmd.c,v
retrieving revision 1.46
diff -p -r1.46 printcmd.c
*** printcmd.c 21 Oct 2002 19:11:50 -0000 1.46
--- printcmd.c 23 Oct 2002 21:27:36 -0000
*************** address_info (char *exp, int from_tty)
*** 1106,1114 ****
current_language->la_language, DMGL_ANSI);
printf_filtered ("\" is a field of the local class variable ");
if (current_language->la_language == language_objc)
! printf_filtered ("'self'\n"); /* ObjC equivalent of "this" */
else
! printf_filtered ("'this'\n");
return;
}

--- 1106,1114 ----
current_language->la_language, DMGL_ANSI);
printf_filtered ("\" is a field of the local class variable ");
if (current_language->la_language == language_objc)
! printf_filtered ("`self'\n"); /* ObjC equivalent of "this" */
else
! printf_filtered ("`this'\n");
return;
}

Index: valops.c
===================================================================
RCS file: /cvs/src/src/gdb/valops.c,v
retrieving revision 1.77
diff -p -r1.77 valops.c
*** valops.c 23 Oct 2002 19:22:28 -0000 1.77
--- valops.c 23 Oct 2002 21:27:38 -0000
*************** value_of_local (const char *name, int co
*** 3330,3336 ****
if (!func)
{
if (complain)
! error ("no %s in nameless context", name);
else
return 0;
}
--- 3330,3336 ----
if (!func)
{
if (complain)
! error ("no `%s' in nameless context", name);
else
return 0;
}
*************** value_of_local (const char *name, int co
*** 3340,3346 ****
if (i <= 0)
{
if (complain)
! error ("no args, no '%s'", name);
else
return 0;
}
--- 3340,3346 ----
if (i <= 0)
{
if (complain)
! error ("no args, no `%s'", name);
else
return 0;
}
*************** value_of_local (const char *name, int co
*** 3351,3364 ****
if (sym == NULL)
{
if (complain)
! error ("current stack frame does not contain a variable named \"%s\"", name);
else
return NULL;
}

ret = read_var_value (sym, selected_frame);
if (ret == 0 && complain)
! error ("%s argument unreadable", name);
return ret;
}

--- 3351,3364 ----
if (sym == NULL)
{
if (complain)
! error ("current stack frame does not contain a variable named `%s'", name);
else
return NULL;
}

ret = read_var_value (sym, selected_frame);
if (ret == 0 && complain)
! error ("`%s' argument unreadable", name);
return ret;
}