Re: Support for "break *ADDRESS thread THREADNO"

Eli Zaretskii
2005-04-12T18:51:50Z

> Date: Tue, 12 Apr 2005 14:13:34 -0400
> From: Daniel Jacobowitz <drow@false.org>
> Cc: gdb-patches@sources.redhat.com
>
> > 2005-04-12 Maciej W. Rozycki <macro@mips.com>
> >
> > * ada-lex.l: Support the "thread THREADNO" clause with breakpoints
> > at an address.
> > * c-exp.y (yylex): Likewise.
> > * f-exp.y (yylex): Likewise.
> > * jv-exp.y (yylex): Likewise.
> > * m2-exp.y (yylex): Likewise.
> > * objc-exp.y (yylex): Likewise.
> > * p-exp.y (yylex): Likewise.
> >
> > This has been verified for the HEAD version with the test suite for the
> > i386-linux-gnu system natively with no regressions. Please consider.
>
> No, sorry. Consider:
>
> (gdb) p *thread
> No symbol table is loaded. Use the "file" command.
>
> After your patch:
>
> (gdb) b *thread
> A parse error in expression, near `thread'.
>
> We can get away with this for 'if', because 'if' is a keyword in just
> about every language GDB supports, and an unlikely name for a variable.
> That's not going to fly for 'thread', however.

In addition to the above, I don't like the idea of supporting a
general feature in language-specific files. That seems wrong.

Why was it done like this? because "*ADDRESS" is interpreted as an
expression in the current language, or is there some other reason?