Skip to content
  • Andrew Burgess's avatar
    gdb: New API for tracking innermost block · aee1fcdf
    Andrew Burgess authored
    This commit is preparation for a later change, at this point there
    should be no user visible change.
    
    We currently maintain a global innermost_block which tracks the most
    inner block encountered when parsing an expression.
    
    This commit wraps the innermost_block into a new class, and switches all
    direct accesses to the variable to use the class API.
    
    gdb/ChangeLog:
    
    	* ada-exp.y (write_var_from_sym): Switch to innermost_block API.
    	* ada-lang.c (resolve_subexp): Likewise.
    	* breakpoint.c (set_breakpoint_condition) Likewise.
    	(watch_command_1) Likewise.
    	* c-exp.y (variable): Likewise.
    	* d-exp.y (PrimaryExpression): Likewise.
    	* f-exp.y (variable): Likewise.
    	* go-exp.y (variable): Likewise.
    	* m2-exp.y (variable): Likewise.
    	* objfiles.c (objfile::~objfile): Likewise.
    	* p-exp.y (variable): Likewise.
    	* parse.c (innermost_block): Change type.
    	* parser-defs.h (class innermost_block_tracker): New.
    	(innermost_block): Change to innermost_block_tracker.
    	* printcmd.c (display_command): Switch to innermost_block API.
    	(do_one_display): Likewise.
    	* rust-exp.y (do_one_display): Likewise.
    	* symfile.c (clear_symtab_users): Likewise.
    	* varobj.c (varobj_create): Switch to innermost_block API, replace
    	use of innermost_block with block stored on varobj object.
    aee1fcdf