This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
exp/2380: change right operand, reports on left one
- From: gin at mo dot msk dot ru
- To: gdb-gnats at sources dot redhat dot com
- Date: 7 Dec 2007 17:41:59 -0000
- Subject: exp/2380: change right operand, reports on left one
- Reply-to: gin at mo dot msk dot ru
>Number: 2380
>Category: exp
>Synopsis: change right operand, reports on left one
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Dec 07 17:48:01 UTC 2007
>Closed-Date:
>Last-Modified:
>Originator: gin@mo.msk.ru
>Release: 6.7.1
>Organization:
>Environment:
x86_64-unknown-linux-gnu. Both gdb and program being debugged are
built with gcc 4.0.4.
>Description:
`set va' command arbitrarily refuses to evaluate expressions of the
same form. The error message is at least misleading. Certainly does
not point to the part of expression gdb deems incorrect. What makes
command break is changing function in right operand of assignment.
gdb complains about left operand.
The database entry may appear related to 1799, but certainly does not
duplicate it. That entry talks of only particular program register
represented to gdb user as `$'- variable. This once manifests on
convenience variables as described in <(gdb) Convenience Vars>.
>How-To-Repeat:
For that particular value of user variable, `$matsp', both function
calls make perfect sense, return normally, do no non- local control
transfers.
(gdb) p Fcar
$ = {Lisp_Object (Lisp_Object)} 0x475900 <Fcar>
(gdb) p Feval
$ = {Lisp_Object (Lisp_Object)} 0x48e300 <Feval>
# completes normally
(gdb) set va $evms=Fcar($matsp)
(gdb) set va $evms=Feval($matsp)
Left operand of assignment is not a modifiable lvalue.
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted: