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: [Patch] Fix for -var-update to use natural format to compare


> I think there are actually two different problems:
> 
> 1. Given single varobj that is displayed in one format, how does one
> one if the value is "really changed". The answer here is that you don't
> get to find that -- -var-update reports only changes in displayed
> value, and since changing format is fast, nothing else is needed here.

Ok.

> 2. If UI wishes to show varobj in several formats, how does it
> figure out of *any* of formats has changed. There are two possible
> solutions:
> 
>    (a) Always keep varobj (from frontnend) in natural format, and assume 
>      that if natural format changes, all values possibly change. In this
>      case, getting a value in different format will involve switching
>      to that format and then switching back.

That is what I will do.
If it is the best thing for GDB to make this a requirement for a frontend that
wants to show mutliple formats, may I suggest that it be added to the
documentation of var-update?  A short mention that "if a frontend
wants to be notified of a change in any format, it should keep the variable
object in the natural format".

Also, if GDB requires this of frontends showing mutliple formats, it would
be nice to have -var-evaluate-expression take a format as an optional
parameter.  Then, the frontend would not need to use -var-set-format
to get a different formatted value, and could keep the variable object
in the natural format at all times.

I can provide a patch if this is a supported idea.

>    (b) Allow a varobj to have a *list* formats to show. Make
>      -var-update check all formats, make -var-evaluate-expression
>      return all formats.
> 

This seems cumbersome to me and will provide superfluous information
for case 1 above.


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