Rename regcache_cooked_read_ftype and make a function_view
authorSimon Marchi <simon.marchi@polymtl.ca>
Wed, 20 Jun 2018 16:49:03 +0000 (12:49 -0400)
committerSimon Marchi <simon.marchi@ericsson.com>
Wed, 20 Jun 2018 16:49:03 +0000 (12:49 -0400)
commit302abd6e9facdfec3473e19ff65a5479f850ad62
treeb646934ec16de81d5b50fb474b3253e822b8bf63
parentf00674fe074f6ea778503a50132c3214a9c6aec8
Rename regcache_cooked_read_ftype and make a function_view

regcache_cooked_read_ftype can be converted to a function_view, which
allows us to use lambda functions and therefore avoid having to pass an
opaque pointer parameter.

Adjusting the fallouts showed that the "const regcache &" passed to the
readonly_detached_regcache constructor is cast to non-const in
do_cooked_read.  I changed the constructor parameter to be non-const.

Finally, I renamed the typedef from regcache_cooked_read_ftype to
register_read_ftype, since there is nothing that forces us to use it
only for regcaches nor cooked registers.

gdb/ChangeLog:

* regcache.h (regcache_cooked_read_ftype): Rename to...
(register_read_ftype): ...this, change type to function_view.
(class reg_buffer) <save>: Remove src parameter.
(readonly_detached_regcache) <readonly_detached_regcache>: Make
parameter non-const in first overload.  Remove src parameter in
second overload.
* regcache.c (do_cooked_read): Remove.
(readonly_detached_regcache::readonly_detached_regcache): Make
parameter non-const, adjust call to other constructor.
(reg_buffer::save): Remove src parameter.
* frame.c (do_frame_register_read): Remove.
(frame_save_as_regcache): Use lambda function.
* ppc-linux-tdep.c (ppu2spu_unwind_register): Change type of src
parameter to ppu2spu_data *.
(ppu2spu_sniffer): Use lambda function.
gdb/ChangeLog
gdb/frame.c
gdb/ppc-linux-tdep.c
gdb/regcache.c
gdb/regcache.h