It took me a while to understand why that would even compile: it looks
like we pass a type name as a pointer, that makes no sense. By looking
at the DWARF, I understood that the compiler actually interprets it as a
function declaration. So the statement was doing nothing, no
dwarf2_queue_guard was instantiated. Fix it by passing the right
variable name.
gdb/ChangeLog:
* dwarf2/read.c (dw2_do_instantiate_symtab): Fix call to
dwarf2_queue_guard.
Change-Id: I3a7bdead9e8c39f8342a471f10181b85b8f0d801
+2020-11-12 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * dwarf2/read.c (dw2_do_instantiate_symtab): Fix call to
+ dwarf2_queue_guard.
+
2020-11-12 Simon Marchi <simon.marchi@polymtl.ca>
* dwarf2/read.c (dw2_do_instantiate_symtab): Fix typo in
/* The destructor of dwarf2_queue_guard frees any entries left on
the queue. After this point we're guaranteed to leave this function
with the dwarf queue empty. */
- dwarf2_queue_guard q_guard (dwarf2_per_objfile);
+ dwarf2_queue_guard q_guard (per_objfile);
if (!per_objfile->symtab_set_p (per_cu))
{