Change varobj.c:rootlist to a std::list
authorTom Tromey <tom@tromey.com>
Fri, 11 Dec 2020 16:33:36 +0000 (09:33 -0700)
committerTom Tromey <tom@tromey.com>
Fri, 11 Dec 2020 16:33:37 +0000 (09:33 -0700)
commit76deb5d9181416cb7ea68764db13e7059d48a46c
tree63eee44cdb7a5fc5202f657b6c5b8b06dc2e113c
parent2c1413a98c897be397366d16f58bf54859863090
Change varobj.c:rootlist to a std::list

This changes varobj.c:rootlist to be a std::list.  This lets us remove
some code.  std::list is chosen because its iterator invalidation
approach suits the all_root_varobjs API.

I considered replacing all_root_varobjs with "external iteration", but
haven't gotten around to doing so.

gdb/ChangeLog
2020-12-11  Tom Tromey  <tom@tromey.com>

* varobj.c (struct varobj_root) <next>: Remove.
(struct vlist): Remove.
(rootlist): Now a std::list.
(install_variable, uninstall_variable, all_root_varobjs): Update.
gdb/ChangeLog
gdb/varobj.c