From 987012b89bce7f6385ed88585547f852a8005a3f Mon Sep 17 00:00:00 2001 From: Christian Biesinger Date: Fri, 22 Nov 2019 12:05:14 -0600 Subject: Replace SYMBOL_*_NAME accessors with member functions Similar to the MSYMBOL version of this patch, improves readability and will eventually allow making name private. gdb/ChangeLog: 2019-11-22 Christian Biesinger * ada-exp.y: Update. * ada-lang.c (sort_choices): Update. (ada_print_symbol_signature): Update. (resolve_subexp): Update. (ada_parse_renaming): Update. (ada_read_renaming_var_value): Update. (lesseq_defined_than): Update. (remove_extra_symbols): Update. (remove_irrelevant_renamings): Update. (ada_add_block_symbols): Update. (ada_collect_symbol_completion_matches): Update. (ada_is_renaming_symbol): Update. (aggregate_assign_from_choices): Update. (ada_evaluate_subexp): Update. (ada_has_this_exception_support): Update. (ada_is_non_standard_exception_sym): Update. (ada_add_exceptions_from_frame): Update. (ada_add_global_exceptions): Update. (ada_print_subexp): Update. * ax-gdb.c (gen_var_ref): Update. (gen_maybe_namespace_elt): Update. (gen_expr_for_cast): Update. (gen_expr): Update. * block.h: Update. * blockframe.c (find_pc_partial_function): Update. * breakpoint.c (print_breakpoint_location): Update. (update_static_tracepoint): Update. * btrace.c (ftrace_print_function_name): Update. (ftrace_function_switched): Update. * buildsym.c (find_symbol_in_list): Update. * c-exp.y: Update. * c-typeprint.c (c_print_typedef): Update. (c_type_print_template_args): Update. * cli/cli-cmds.c (edit_command): Update. (list_command): Update. (print_sal_location): Update. * coffread.c (patch_opaque_types): Update. (process_coff_symbol): Update. (coff_read_enum_type): Update. * compile/compile-c-symbols.c (c_symbol_substitution_name): Update. (convert_one_symbol): Update. (hash_symname): Update. (eq_symname): Update. * compile/compile-cplus-symbols.c (convert_one_symbol): Update. * compile/compile-cplus-types.c (debug_print_scope): Update. * compile/compile-loc2c.c (do_compile_dwarf_expr_to_c): Update. * compile/compile-object-load.c (get_out_value_type): Update. * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update. (search_symbol_list): Update. (cp_lookup_symbol_imports_or_template): Update. * cp-support.c (overload_list_add_symbol): Update. * ctfread.c (psymtab_to_symtab): Update. * dbxread.c (cp_set_block_scope): Update. * dictionary.c (iter_match_first_hashed): Update. (iter_match_next_hashed): Update. (insert_symbol_hashed): Update. (iter_match_next_linear): Update. * dictionary.h: Update. * dwarf2loc.c (func_get_frame_base_dwarf_block): Update. (locexpr_describe_location_piece): Update. (locexpr_describe_location_1): Update. (locexpr_generate_c_location): Update. (loclist_describe_location): Update. (loclist_generate_c_location): Update. * dwarf2read.c (dw2_debug_names_lookup_symbol): Update. (read_func_scope): Update. (process_enumeration_scope): Update. (new_symbol): Update. (dwarf2_const_value): Update. (dwarf2_symbol_mark_computed): Update. * eval.c (evaluate_funcall): Update. (evaluate_subexp_standard): Update. * expprint.c (print_subexp_standard): Update. (dump_subexp_body_standard): Update. * f-valprint.c (info_common_command_for_block): Update. * findvar.c (get_hosting_frame): Update. (default_read_var_value): Update. * go-lang.c (go_symbol_package_name): Update. * guile/scm-block.c (bkscm_print_block_smob): Update. * guile/scm-symbol.c (syscm_print_symbol_smob): Update. (gdbscm_symbol_name): Update. (gdbscm_symbol_linkage_name): Update. (gdbscm_symbol_print_name): Update. * infcall.c (get_function_name): Update. * infcmd.c (jump_command): Update. (finish_command): Update. * infrun.c (insert_exception_resume_breakpoint): Update. * linespec.c (canonicalize_linespec): Update. (create_sals_line_offset): Update. (convert_linespec_to_sals): Update. (complete_label): Update. (find_label_symbols_in_block): Update. * m2-typeprint.c (m2_print_typedef): Update. * mdebugread.c (mdebug_reg_to_regnum): Update. (parse_symbol): Update. (mylookup_symbol): Update. * mi/mi-cmd-stack.c (list_arg_or_local): Update. (list_args_or_locals): Update. * objc-lang.c (compare_selectors): Update. (info_selectors_command): Update. (compare_classes): Update. (info_classes_command): Update. (find_imps): Update. * p-typeprint.c (pascal_print_typedef): Update. * printcmd.c (build_address_symbolic): Update. (info_address_command): Update. (print_variable_and_value): Update. * python/py-framefilter.c (extract_sym): Update. (py_print_single_arg): Update. * python/py-symbol.c (sympy_str): Update. (sympy_get_name): Update. (sympy_get_linkage_name): Update. * python/python.c (gdbpy_rbreak): Update. * record-btrace.c (btrace_get_bfun_name): Update. (btrace_call_history): Update. * rust-lang.c (rust_print_typedef): Update. * solib-frv.c (frv_fdpic_find_canonical_descriptor): Update. * stabsread.c (stab_reg_to_regnum): Update. (define_symbol): Update. (read_enum_type): Update. (common_block_end): Update. (cleanup_undefined_types_1): Update. (scan_file_globals): Update. * stack.c (print_frame_arg): Update. (print_frame_args): Update. (find_frame_funname): Update. (info_frame_command_core): Update. (iterate_over_block_locals): Update. (print_block_frame_labels): Update. (do_print_variable_and_value): Update. (iterate_over_block_arg_vars): Update. (return_command): Update. * symmisc.c (dump_symtab_1): Update. (print_symbol): Update. * symtab.c (eq_symbol_entry): Update. (symbol_cache_dump): Update. (lookup_language_this): Update. (find_pc_sect_line): Update. (skip_prologue_sal): Update. (symbol_search::compare_search_syms): Update. (treg_matches_sym_type_name): Update. (search_symbols): Update. (print_symbol_info): Update. (rbreak_command): Update. (completion_list_add_symbol): Update. (find_gnu_ifunc): Update. (get_symbol_address): Update. (search_module_symbols): Update. (info_module_subcommand): Update. * symtab.h (SYMBOL_NATURAL_NAME): Remove. (SYMBOL_LINKAGE_NAME): Remove. (SYMBOL_DEMANGLED_NAME): Remove. (SYMBOL_PRINT_NAME): Remove. (SYMBOL_SEARCH_NAME): Remove. * tracepoint.c (set_traceframe_context): Update. (validate_actionline): Update. (collection_list::collect_symbol): Update. (encode_actions_1): Update. (info_scope_command): Update. (print_one_static_tracepoint_marker): Update. * typeprint.c (typedef_hash_table::add_template_parameters): Update. * valops.c (address_of_variable): Update. (find_overload_match): Update. (find_oload_champ): Update. Change-Id: I76bdc8b44eea6876bf03af9d351f8e90cc0154b2 --- gdb/compile/compile-c-symbols.c | 26 +++++++++++++------------- gdb/compile/compile-cplus-symbols.c | 22 +++++++++++----------- gdb/compile/compile-cplus-types.c | 2 +- gdb/compile/compile-loc2c.c | 6 +++--- gdb/compile/compile-object-load.c | 2 +- 5 files changed, 29 insertions(+), 29 deletions(-) (limited to 'gdb/compile') diff --git a/gdb/compile/compile-c-symbols.c b/gdb/compile/compile-c-symbols.c index abd0aea..5143088 100644 --- a/gdb/compile/compile-c-symbols.c +++ b/gdb/compile/compile-c-symbols.c @@ -40,7 +40,7 @@ gdb::unique_xmalloc_ptr c_symbol_substitution_name (struct symbol *sym) { return gdb::unique_xmalloc_ptr - (concat ("__", SYMBOL_NATURAL_NAME (sym), "_ptr", (char *) NULL)); + (concat ("__", sym->natural_name (), "_ptr", (char *) NULL)); } /* Convert a given symbol, SYM, to the compiler's representation. @@ -70,7 +70,7 @@ convert_one_symbol (compile_c_instance *context, if (SYMBOL_DOMAIN (sym.symbol) == STRUCT_DOMAIN) { /* Binding a tag, so we don't need to build a decl. */ - context->plugin ().tagbind (SYMBOL_NATURAL_NAME (sym.symbol), + context->plugin ().tagbind (sym.symbol->natural_name (), sym_type, filename, line); } else @@ -105,28 +105,28 @@ convert_one_symbol (compile_c_instance *context, return; } context->plugin ().build_constant - (sym_type, SYMBOL_NATURAL_NAME (sym.symbol), + (sym_type, sym.symbol->natural_name (), SYMBOL_VALUE (sym.symbol), filename, line); return; case LOC_CONST_BYTES: error (_("Unsupported LOC_CONST_BYTES for symbol \"%s\"."), - SYMBOL_PRINT_NAME (sym.symbol)); + sym.symbol->print_name ()); case LOC_UNDEF: internal_error (__FILE__, __LINE__, _("LOC_UNDEF found for \"%s\"."), - SYMBOL_PRINT_NAME (sym.symbol)); + sym.symbol->print_name ()); case LOC_COMMON_BLOCK: error (_("Fortran common block is unsupported for compilation " "evaluaton of symbol \"%s\"."), - SYMBOL_PRINT_NAME (sym.symbol)); + sym.symbol->print_name ()); case LOC_OPTIMIZED_OUT: error (_("Symbol \"%s\" cannot be used for compilation evaluation " "as it is optimized out."), - SYMBOL_PRINT_NAME (sym.symbol)); + sym.symbol->print_name ()); case LOC_COMPUTED: if (is_local) @@ -135,7 +135,7 @@ convert_one_symbol (compile_c_instance *context, warning (_("Symbol \"%s\" is thread-local and currently can only " "be referenced from the current thread in " "compiled code."), - SYMBOL_PRINT_NAME (sym.symbol)); + sym.symbol->print_name ()); /* FALLTHROUGH */ case LOC_UNRESOLVED: /* 'symbol_name' cannot be used here as that one is used only for @@ -152,14 +152,14 @@ convert_one_symbol (compile_c_instance *context, if (frame == NULL) error (_("Symbol \"%s\" cannot be used because " "there is no selected frame"), - SYMBOL_PRINT_NAME (sym.symbol)); + sym.symbol->print_name ()); } val = read_var_value (sym.symbol, sym.block, frame); if (VALUE_LVAL (val) != lval_memory) error (_("Symbol \"%s\" cannot be used for compilation " "evaluation as its address has not been found."), - SYMBOL_PRINT_NAME (sym.symbol)); + sym.symbol->print_name ()); kind = GCC_C_SYMBOL_VARIABLE; addr = value_address (val); @@ -193,7 +193,7 @@ convert_one_symbol (compile_c_instance *context, || symbol_name == NULL) { decl = context->plugin ().build_decl - (SYMBOL_NATURAL_NAME (sym.symbol), + (sym.symbol->natural_name (), kind, sym_type, symbol_name.get (), addr, @@ -450,7 +450,7 @@ hash_symname (const void *a) { const struct symbol *sym = (const struct symbol *) a; - return htab_hash_string (SYMBOL_NATURAL_NAME (sym)); + return htab_hash_string (sym->natural_name ()); } /* A comparison function for hash tables that just looks at symbol @@ -462,7 +462,7 @@ eq_symname (const void *a, const void *b) const struct symbol *syma = (const struct symbol *) a; const struct symbol *symb = (const struct symbol *) b; - return strcmp (SYMBOL_NATURAL_NAME (syma), SYMBOL_NATURAL_NAME (symb)) == 0; + return strcmp (syma->natural_name (), symb->natural_name ()) == 0; } /* If a symbol with the same name as SYM is already in HASHTAB, return diff --git a/gdb/compile/compile-cplus-symbols.c b/gdb/compile/compile-cplus-symbols.c index 1acd07d..65b27f8 100644 --- a/gdb/compile/compile-cplus-symbols.c +++ b/gdb/compile/compile-cplus-symbols.c @@ -100,27 +100,27 @@ convert_one_symbol (compile_cplus_instance *instance, return; } instance->plugin ().build_constant - (sym_type, SYMBOL_NATURAL_NAME (sym.symbol), + (sym_type, sym.symbol->natural_name (), SYMBOL_VALUE (sym.symbol), filename, line); return; case LOC_CONST_BYTES: error (_("Unsupported LOC_CONST_BYTES for symbol \"%s\"."), - SYMBOL_PRINT_NAME (sym.symbol)); + sym.symbol->print_name ()); case LOC_UNDEF: internal_error (__FILE__, __LINE__, _("LOC_UNDEF found for \"%s\"."), - SYMBOL_PRINT_NAME (sym.symbol)); + sym.symbol->print_name ()); case LOC_COMMON_BLOCK: error (_("Fortran common block is unsupported for compilation " "evaluaton of symbol \"%s\"."), - SYMBOL_PRINT_NAME (sym.symbol)); + sym.symbol->print_name ()); case LOC_OPTIMIZED_OUT: error (_("Symbol \"%s\" cannot be used for compilation evaluation " "as it is optimized out."), - SYMBOL_PRINT_NAME (sym.symbol)); + sym.symbol->print_name ()); case LOC_COMPUTED: if (is_local) @@ -129,7 +129,7 @@ convert_one_symbol (compile_cplus_instance *instance, warning (_("Symbol \"%s\" is thread-local and currently can only " "be referenced from the current thread in " "compiled code."), - SYMBOL_PRINT_NAME (sym.symbol)); + sym.symbol->print_name ()); /* FALLTHROUGH */ case LOC_UNRESOLVED: /* 'symbol_name' cannot be used here as that one is used only for @@ -146,14 +146,14 @@ convert_one_symbol (compile_cplus_instance *instance, if (frame == nullptr) error (_("Symbol \"%s\" cannot be used because " "there is no selected frame"), - SYMBOL_PRINT_NAME (sym.symbol)); + sym.symbol->print_name ()); } val = read_var_value (sym.symbol, sym.block, frame); if (VALUE_LVAL (val) != lval_memory) error (_("Symbol \"%s\" cannot be used for compilation " "evaluation as its address has not been found."), - SYMBOL_PRINT_NAME (sym.symbol)); + sym.symbol->print_name ()); kind = GCC_CP_SYMBOL_VARIABLE; addr = value_address (val); @@ -189,7 +189,7 @@ convert_one_symbol (compile_cplus_instance *instance, if (!is_local) { compile_scope scope - = instance->new_scope (SYMBOL_NATURAL_NAME (sym.symbol), + = instance->new_scope (sym.symbol->natural_name (), SYMBOL_TYPE (sym.symbol)); if (scope.nested_type () != GCC_TYPE_NONE) { @@ -202,9 +202,9 @@ convert_one_symbol (compile_cplus_instance *instance, } /* Get the `raw' name of the symbol. */ - if (name.empty () && SYMBOL_NATURAL_NAME (sym.symbol) != nullptr) + if (name.empty () && sym.symbol->natural_name () != nullptr) name = compile_cplus_instance::decl_name - (SYMBOL_NATURAL_NAME (sym.symbol)).get (); + (sym.symbol->natural_name ()).get (); /* Define the decl. */ instance->plugin ().build_decl diff --git a/gdb/compile/compile-cplus-types.c b/gdb/compile/compile-cplus-types.c index 042c2af..c6d2b29 100644 --- a/gdb/compile/compile-cplus-types.c +++ b/gdb/compile/compile-cplus-types.c @@ -112,7 +112,7 @@ debug_print_scope (const compile_scope &scope) for (const auto &comp: scope) { const char *symbol = (comp.bsymbol.symbol != nullptr - ? SYMBOL_NATURAL_NAME (comp.bsymbol.symbol) + ? comp.bsymbol.symbol->natural_name () : ""); printf_unfiltered ("\tname = %s, symbol = %s\n", comp.name.c_str (), diff --git a/gdb/compile/compile-loc2c.c b/gdb/compile/compile-loc2c.c index 22253c4..2580f9d 100644 --- a/gdb/compile/compile-loc2c.c +++ b/gdb/compile/compile-loc2c.c @@ -622,18 +622,18 @@ do_compile_dwarf_expr_to_c (int indent, string_file *stream, if (frame == NULL) error (_("Symbol \"%s\" cannot be used because " "there is no selected frame"), - SYMBOL_PRINT_NAME (sym)); + sym->print_name ()); val = read_var_value (sym, NULL, frame); if (VALUE_LVAL (val) != lval_memory) error (_("Symbol \"%s\" cannot be used for compilation evaluation " "as its address has not been found."), - SYMBOL_PRINT_NAME (sym)); + sym->print_name ()); warning (_("Symbol \"%s\" is thread-local and currently can only " "be referenced from the current thread in " "compiled code."), - SYMBOL_PRINT_NAME (sym)); + sym->print_name ()); fprintfi_filtered (indent, stream, "%s = %s;\n", result_name, diff --git a/gdb/compile/compile-object-load.c b/gdb/compile/compile-object-load.c index a30c557..c9bf151 100644 --- a/gdb/compile/compile-object-load.c +++ b/gdb/compile/compile-object-load.c @@ -433,7 +433,7 @@ get_out_value_type (struct symbol *func_sym, struct objfile *objfile, if (function != NULL && (BLOCK_SUPERBLOCK (function_block) == BLOCKVECTOR_BLOCK (bv, STATIC_BLOCK)) - && (strcmp_iw (SYMBOL_LINKAGE_NAME (function), + && (strcmp_iw (function->linkage_name (), GCC_FE_WRAPPER_FUNCTION) == 0)) break; -- cgit v1.1