This is the mail archive of the gdb@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: BUG: MI reporting wrong attributes for casted variables


 > unsigned int myValue;
 > 
 > It is possible to create a casted MI variable like
 > 
 > 1096-var-create - * (int)myValue
 > 1096^done,name="var4",numchild="0",value="0",type="int"
 > 
 > GDB reports this to be an editable variable:
 > 
 > 1097-var-show-attributes var4
 > 1097^done,attr="editable"
 > 
 > But in fact, it is not. GDB does not allow assiging values to casted
 > variables. So GDB should not report this to be editable.
 > 
 > 1100-var-assign var4 1
 > 1100^error,msg="mi_cmd_var_assign: Could not assign expression to varible
 > object"
 > 
 > This bug is causing trouble in Eclipse CDT because casted vars show up as
 > editable when they are not.
 > 
 > GDB Snapshot from around 26.5.2007.

Report it as a bug to the Eclipse CDT team.  They have misinterpreted the
meaning of the "editable" attribute.

This has been reported at leasted once before, possibly by you (or at least
another Sascha using Eclipse CDT) when I said:

  The fact that the var has the attribute "editable" is a bit of a red herring.
  A value can't be assigned because (int)myValue isn't an lvalue.  You get the
  same error if you do:

  -var-create - * 2*myValue
  ^done,name="var36",numchild="0",value="2",type="int"

  -var-assign var36 0x1234

  I think it only makes sense to watch such values.

Having said all that, I think we should add another field "lvalue" or
"unassignable", say, to the output of -var-show-attributes so that IDE's
like Eclipse can determine which variables can be assigned a value.

-- 
Nick                                           http://www.inet.net.nz/~nickrob


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