aboutsummaryrefslogtreecommitdiff
path: root/gdb/cp-support.h
AgeCommit message (Collapse)AuthorFilesLines
2005-03-11 * Makefile.in (SFILES): Add cp-names.y.Daniel Jacobowitz1-1/+12
(libiberty_h, safe_ctype_h): New. (YYFILES): Add cp-names.c. (YYOBJ): Add cp-names.o. (test-cp-names.o, test-cp-names$(EXEEXT), cp-names.o): New rules. (clean): Remove test-cp-names$(EXEEXT). (local-maintainer-clean): Remove cp-names.c. * cp-names.y: New file. * cp-support.c (find_last_component): Delete. (d_left, d_right): Define. (cp_canonicalize_string, mangled_name_to_comp): New functions. (cp_class_name_from_physname, method_name_from_physname): Rewrite to use mangled_name_to_comp. * cp-support.h (cp_canonicalize_string, cp_demangled_name_to_comp) (cp_comp_to_string): New prototypes. * config/djgpp/fnchange.lst: Add cp-names.c.
2005-02-092005-02-08 Andrew Cagney <cagney@gnu.org>Andrew Cagney1-0/+6
* value.h (METHOD_PTR_IS_VIRTUAL, METHOD_PTR_FROM_VOFFSET) (METHOD_PTR_TO_VOFFSET): Move from here ... * cp-support.h (METHOD_PTR_IS_VIRTUAL, METHOD_PTR_FROM_VOFFSET) (METHOD_PTR_TO_VOFFSET): ... to here. * cp-valprint.c, p-valprint.c, eval.c: Include "cp-support.h". * Makefile.in: Update dependencies.
2004-07-062004-07-06 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston1-1/+1
* language.h (struct_language_defn): Add new function pointer: la_class_name_from_physname. Also add new prototype for language_class_name_from_physname. * language.c (language_class_name_from_physname): New function. (unk_lang_class_name): Ditto. (unknown_language_defn, auto_language_defn): Change to add unk_lang_class_name function pointer for la_class_name_from_physname. (local_language_defn): Ditto. * dwarf2read.c (guess_structure_name): Change to call language_class_name_from_physname. (determine_class_name): Ditto. * cp-support.c (class_name_from_physname): Renamed. (cp_class_name_from_physname): New name of function. * cp-support.h: Ditto. * c-lang.c (c_language_defn): Change to add NULL for class_name_from_physname function pointer. (cplus_language_defn): Change to add cp_class_name_from_physname. * jv-lang.c (java_class_name_physname): New function. (java_find_last_component): New static routine. (java_language_defn): Add java_class_name_from_physname pointer. * ada-lang.c (ada_language_defn): Change to add NULL for class_name_from_physname function pointer. * f-lang.c (f_language_defn): Ditto. * m2-lang.c (m2_language_defn): Ditto. * objc-lang.c (objc_language_defn): Ditto. * p-lang.c (pascal_language_defn): Ditto. * scm-lang.c (scm_language_defn): Ditto.
2004-02-022004-02-02 David Carlton <carlton@kealia.com>David Carlton1-1/+4
* valops.c (enum oload_classification): New. (find_overload_match): Break implementation into separate functions; delete #if 0'd code; look for symbols within namespaces. (find_oload_champ_namespace,find_oload_champ_namespace_loop) (find_oload_champ,oload_method_static,classify_oload_match): New. * cp-support.h: Add declaration for cp_func_name; update declaration for make_symbol_overload_list. * cp-support.c (cp_func_name): New. (overload_list_add_symbol): Fix comment, use SYMBOL_LINKAGE_NAME and SYMBOL_NATURAL_NAME. (make_symbol_overload_list): Take a function name and a namespace instead of a symbol; change implementation. (make_symbol_overload_list_using): New. (make_symbol_overload_list_qualified, read_in_psymtabs): New. 2004-02-02 David Carlton <carlton@kealia.com> * gdb.cp/overload.exp: Add overloadNamespace tests. * gdb.cp/overload.cc (dummyClass, dummyInstance): New. (overloadNamespace, XXX): New. (main): Call XXX::marker2.
2004-01-232004-01-23 David Carlton <carlton@kealia.com>David Carlton1-0/+2
Partial workaround for PR c++/1511: * cp-namespace.c: Include frame.h. (cp_lookup_transparent_type): New (cp_lookup_transparent_type_loop): New. * cp-support.h: Declare cp_lookup_transparent_type. * symtab.c (basic_lookup_transparent_type): Renamed from lookup_transparent_type. (lookup_transparent_type): Replace old body by a call to current_language->la_lookup_transparent_type. * symtab.h: Update copyright. Declare basic_lookup_transparent_type. * language.h: Update copyright. (struct language_defn): Add la_lookup_transparent_type. * language.c: Update copyright. (unknown_language_defn): Add basic_lookup_transparent_type. (auto_language_defn): Add basic_lookup_transparent_type. (local_language_defn): Add basic_lookup_transparent_type. * ada-lang.c: Update copyright. (ada_language_defn): Add basic_lookup_transparent_type. * c-lang.c: Update copyright. (c_language_defn): Add basic_lookup_transparent_type. (cplus_language_defn): Add basic_lookup_transparent_type. (asm_language_defn): Add basic_lookup_transparent_type. (minimal_language_defn): Add basic_lookup_transparent_type. * f-lang.c: Update copyright. (f_language_defn): Add basic_lookup_transparent_type. * jv-lang.c: Update copyright. (java_language_defn): Add basic_lookup_transparent_type. * m2-lang.c: Update copyright. (m2_language_defn): Add basic_lookup_transparent_type. * objc-lang.c: Update copyright. (objc_language_defn): Add basic_lookup_transparent_type. * p-lang.c: Update copyright. (p_language_defn): Add basic_lookup_transparent_type. * scm-lang.c: Update copyright. (scm_language_defn): Add basic_lookup_transparent_type. * Makefile.in (cp-namespace.o): Depend on frame.h. 2004-01-23 David Carlton <carlton@kealia.com> * gdb.cp/rtti.exp: Don't include full path in ${srcfile}. Add test for cp_lookup_transparent_type. * gdb.cp/rtti1.cc: Update copyright. Add n2::func and refer_to; call them.
2004-01-092004-01-09 David Carlton <carlton@kealia.com>Elena Zannoni1-2/+2
Checked in by Elena Zannoni <ezannoni@redhat.com>. * dwarf2read.c (read_namespace): Pull out name-generating code into namespace_name. Rename previous_namespace to previous_prefix and processing_current_namespace to processing_current_prefix.. (namespace_name): New function. (add_partial_symbol): Substitute uses of pdi->name with actual_name. * cp-support.h: Rename processing_current_namespace to processing_current_prefix. Update copyright year. * cp-namespace.c: Rename processing_current_namespace to processing_current_prefix. Update copyright year.
2003-12-052003-12-04 Michael Chastain <mec.gnu@mindspring.com>Michael Chastain1-0/+4
Partial fix for PR c++/1465. Fix for PR c++/1377. * cp-support.h (cp_lookup_rtti_type): New function. * cp-support.c (cp_lookup_rtti_type): New function. * gnu-v2-abi.c: Update copyright years. (gnuv2_rtti_type): Call cp_lookup_rtti_type. * gnu-v3-abi.c: Update copyright years. (gnuv3_rtti_type): Call cp_lookup_rtti_type.
2003-09-252003-09-25 David Carlton <carlton@kealia.com>David Carlton1-0/+4
* c-exp.y: Include cp-support.h. Add qualified_type. (yylex): Delete nested type hack; add comments. * cp-namespace.c (cp_lookup_nested_type): New function. * cp-support.h: Declare cp_lookup_nested_type. * eval.c (evaluate_subexp_standard): Call value_aggregate_elt instead of value_struct_elt_for_reference. * valops.c: Include cp-support.h. (value_aggregate_elt): New function. (value_namespace_elt): Ditto. (value_struct_elt_for_reference): Make static. * value.h: Delete declaration of value_struct_elt_for_reference; add declaration for value_aggregate_elt. * Makefile.in (c-exp.tab.o): Depend on $(cp_support_h). (valops.o): Ditto. 2003-09-25 David Carlton <carlton@kealia.com> * gdb.cp/namespace.exp: Tweak comments. Add non-quoted versions of some print tests, where appropriate. Add tests for C::D::cd, E::ce, F::cXfX, G::XgX. * gdb.cp/namespace.cc: Add XgX, cXfX, ce.
2003-09-142003-09-13 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-0/+1
* config/pa/tm-hppa64.h (struct frame_info): Declare opaque. * ppc-tdep.h (struct regcache): Declare opaque. * objfiles.h (struct objfile_data): Declare opaque. * cp-support.h (struct objfile): Declare opaque. * linux-nat.h (target_waitstatus): Declare opaque.
2003-09-112003-09-11 David Carlton <carlton@kealia.com>David Carlton1-0/+7
* gdbtypes.h: Add TYPE_CODE_NAMESPACE. * gdbtypes.c (init_type): Handle TYPE_CODE_NAMESPACE. (recursive_dump_type): Ditto. * printcmd.c (print_formatted): Ditto. * typeprint.c (print_type_scalar): Ditto. * c-typeprint.c (c_type_print_varspec_prefix): Ditto. (c_type_print_varspec_suffix, c_type_print_base): Ditto. * cp-support.h: Declare cp_check_possible_namespace_symbols, maint_cplus_cmd_list. * cp-support.c: Make maint_cplus_cmd_list extern. * cp-namespace.c: Include objfiles.h, gdbtypes.h, dictionary.h, command.h. (lookup_symbol_file): Look in possible namespace blocks when appropriate. (initialize_namespace_symtab): New. (get_possible_namespace_block, free_namespace_block) (check_possible_namespace_symbols) (check_possible_namespace_symbols_loop) (check_one_possible_namespace_symbol) (lookup_possible_namespace_symbol, maintenance_cplus_namespace) (_initialize_cp_namespace): Ditto. * block.h: Declare allocate_block. * block.c (allocate_block): New. * jv-lang.c (get_java_class_symtab): Allocate blocks via allocate_block. * symfile.h: Update declaration of add_psymbol_to_list. * symfile.c (add_psymbol_to_list): Return the partial symbol in question. * dwarf2read.c (dwarf2_build_psymtabs_hard): Add argument to scan_partial_symbols_call. (scan_partial_symbols): Add NAMESPACE argument; update calls to helper functions. (add_partial_symbol): If necessary, scan mangled names for names of namespaces. (add_partial_namespace): Add NAMESPACE argument; generate partial symbols associated to namespaces. (add_partial_enumeration): Add NAMESPACE argument. (new_symbol): Allow namespace syms. (read_namespace): Generate namespace syms. * objfiles.h: Add opaque declaration of struct symtab. (struct objfile): Add cp_namespace_symtab member. * objfiles.c (allocate_objfile): Set objfile->cp_namespace_symtab. * Makefile.in (cp-namespace.o): Depend on objfiles_h, gdbtypes_h, dictionary_h, command_h. 2003-09-11 David Carlton <carlton@kealia.com> * gdb.c++/namespace.exp: Add tests for namespace types. * gdb.c++/maint.exp (test_help): Test 'help maint cp namespace'. (test_namespace): New.
2003-06-122003-06-12 David Carlton <carlton@bactrian.org>David Carlton1-0/+1
* symtab.h: Delete declaration of make_symbol_overload_list. Add declaration of lookup_partial_symbol. * symtab.c (remove_params): Move to cp-support.c. (overload_list_add_symbol, make_symbol_overload_list) (sym_return_val_size, sym_return_val_index): Ditto. (lookup_partial_symbol): Make extern. * cp-support.h: Add declaration of make_symbol_overload_list. * cp-support.c: Include dictionary.h, objfiles.h, frame.h, symtab.h, and block.h. (remove_params): Move here from symtab.c. (overload_list_add_symbol, make_symbol_overload_list) (sym_return_val_size, sym_return_val_index): Ditto. * valops.c: Include cp-support.h. * Makefile.in (cp-support.o): Depend on dictionary_h, objfiles_h, frame_h, and block_h. (valops.o): Depend on cp_support_h.
2003-06-082003-06-08 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-1/+1
* acinclude.m4 (gcc_AC_CHECK_DECL, (gcc_AC_CHECK_DECL): Stolen from GCC's acinclude.m4. * configure.in: Check for getopt's delcaration. * aclocal.m4, config.in, configure: Re-generate. * main.c (error_init): Delete declaration. * defs.h (error_init): Declare. * rs6000-tdep.c (rs6000_fetch_pointer_argument): Make static. (rs6000_convert_from_func_ptr_addr): Make static. (_initialize_rs6000_tdep): Add declaration. * cli/cli-cmds.c (dont_repeat): Delete declaration. (show_commands, set_verbose, show_history): Delete declaration. * top.h (set_verbose): Add declaration. (show_history, set_history, show_commands): Add declaration. (do_restore_instream_cleanup): Add declaration. * objc-lang.c (specialcmp): Make static. (print_object_command): Make static. (find_objc_msgsend): Make static. (find_objc_msgcall_submethod_helper): Make static. (find_objc_msgcall_submethod): Make static. (_initialize_objc_language): Add declaration. (find_implementation_from_class): Make static. (find_implementation): Make static. * objc-exp.y (yylex): Delete lookup_struct_typedef declaration. * objc-lang.h (lookup_struct_typedef): Add declaration. * cli/cli-interp.c (_initialize_cli_interp): Add declaration. * cli/cli-script.c (clear_hook_in_cleanup): Make static. (do_restore_user_call_depth): Make static. (do_restore_instream_cleanup): Delete declaration. (dont_repeat): Delete declaration. * cli/cli-decode.c (add_abbrev_cmd): Delete function. * cli/cli-dump.c (_initialize_cli_dump): Add declaration. * reggroups.c (_initialize_reggroup): Add declaration. * cp-support.c (_initialize_cp_support): Add declaration. * cp-abi.c (_initialize_cp_abi): Add declaration. * hpacc-abi.c (_initialize_hpacc_abi): Add declaration. * gnu-v3-abi.c (gnuv3_baseclass_offset): Make static. (_initialize_gnu_v3_abi): Add declaration. * gnu-v2-abi.c (gnuv2_value_rtti_type): Make static. (_initialize_gnu_v2_abi): Add declaration. * frame-base.c (_initialize_frame_base): Add declaration. * doublest.c (floatformat_from_length): Make static. * frame-unwind.c (_initialize_frame_unwind): Add declaration. * frame.c (create_sentinel_frame): Make static. (_initialize_frame): Add declaration. * top.c (do_catch_errors): Make static. (gdb_rl_operate_and_get_next_completion): Make static. * typeprint.c: Include "typeprint.h". * sentinel-frame.c (sentinel_frame_prev_register): Make static. (sentinel_frame_this_id): Make static. * p-valprint.c (_initialize_pascal_valprint): Add declaration. * ui-out.c (make_cleanup_ui_out_begin_end): Delete function. * dwarf2-frame.c (dwarf2_frame_cache): Make static. * p-exp.y (push_current_type, pop_current_type): ISO C declaration. * dwarf2expr.h (dwarf_expr_context): ISO C declaration. * maint.c (maintenance_print_architecture): Make static. * signals/signals.c (_initialize_signals): Add declaration. * std-regs.c (_initialize_frame_reg): Add declaration. * jv-exp.y (push_variable): ISO C definition. (push_qualified_expression_name): Ditto. * memattr.c (_initialize_mem): Add declaration. * remote.c (remote_check_watch_resources): Make static. (remote_stopped_by_watchpoint): Make static. (remote_stopped_data_address): Make static. * d10v-tdep.c (nr_dmap_regs): Make static. (a0_regnum): Make static. (d10v_frame_unwind_cache): Make static. (d10v_frame_p): Make static. * osabi.c (show_osabi): Make static. (_initialize_gdb_osabi): Add extern declaration. * gdbtypes.c (make_qualified_type): Make static. (safe_parse_type): Make static. * macrocmd.c (_initialize_macrocmd): Add extern declaration. * macrotab.c (macro_bcache_free): Make static. * interps.c (interp_set_quiet): Make static. (interpreter_exec_cmd): Make static. * stack.h (select_frame_command): New file. * stack.c: Include "stack.h". (select_frame_command_wrapper): Delete function. (select_frame_command): Make global. * infcall.c: Include "infcall.h". * linespec.c: Include "linespec.h". * symfile.c (sections_overlap): Make static. * cp-support.h (cp_initialize_namespace): ISO C declaration. * charset.c (_initialize_charset): Add missing prototype. * regcache.c (init_legacy_regcache_descr): Make static. (do_regcache_xfree): Make static. (regcache_xfer_part): Make static. (_initialize_regcache): Add missing prototype. * breakpoint.c (parse_breakpoint_sals): Make static. (breakpoint_sals_to_pc): Make static. * interps.h (clear_interpreter_hooks): ISO C declaration. * Makefile.in (stack_h): Define. (stack.o, typeprint.o, mi-main.o): Update dependencies. (mi-cmd-stack.o, infcall.o, linespec.o): Update dependencies. Index: mi/ChangeLog 2003-06-08 Andrew Cagney <cagney@redhat.com> * mi-parse.c (_initialize_mi_parse): Delete function. * mi-main.c: Include "mi-main.h". * mi-interp.c (_initialize_mi_interp): Add declaration. * mi-cmd-stack.c: Include "stack.h". (select_frame_command_wrapper): Delete extern declaration. (mi_cmd_stack_select_frame): Replace select_frame_command_wrapper with select_frame_command.
2003-06-022003-06-01 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-0/+1
* dwarfread.c: Eliminate "register" (decode_die_type): Eliminate assignment within "if". (struct_type, decode_array_element_type): Ditto. (dwarf_read_array_type, read_tag_pointer_type): Ditto. (read_subroutine_type, enum_type, add_enum_psymbol): Ditto. (decode_modified_type, completedieinfo): Ditto. * block.c: Eliminate "register". (blockvector_for_pc_sect): Eliminate assignment within "if". * cp-support.h (struct symbol): Opaque declaration. * breakpoint.c (handle_gnu_v3_exceptions): Use xfree, not free.
2003-05-202003-05-19 David Carlton <carlton@bactrian.org>David Carlton1-1/+17
Partial fix for PR c++/827. * cp-support.h: Include symtab.h. Declare cp_lookup_symbol_nonlocal, cp_lookup_symbol_namespace. * cp-namespace.c: Update contributors. (cp_lookup_symbol_nonlocal): New. (lookup_namespace_scope, cp_lookup_symbol_namespace) (lookup_symbol_file): Ditto. * c-lang.c (cplus_language_defn): Use cp_lookup_symbol_nonlocal. * block.h: Declare block_scope, block_using, block_global_block. * block.c (block_scope): New. (block_using, block_global_block): Ditto. * Makefile.in (cp_support_h): Depend on symtab_h. * config/djgpp/fnchange.lst: Add testsuite/gdb.c++/namespace1.cc. 2003-05-19 David Carlton <carlton@bactrian.org> * gdb.c++/namespace.exp: Add namespace scope and anonymous namespace tests. Bump copyright date. * gdb.c++/namespace.cc: Add anonymous namespace and namespace C. (main): Call C::D::marker2. * gdb.c++/namespace1.cc: New file.
2003-04-152003-04-15 David Carlton <carlton@math.stanford.edu>David Carlton1-1/+57
* Makefile.in (SFILES): Add cp-namespace.c. (COMMON_OBS): Add cp-namespace.o. (block.o): Depend on gdb_obstack_h and cp_support_h. (buildsym.o): Depend on cp_support_h. (cp-namespace.o): New. (cp-support.o): Depend on gdb_string_h, demangle_h, gdb_assert_h, gdb_obstack_h, symtab_h, symfile_h, and gdbcmd_h. (dwarf2read.o): Depend on cp_support_h. * jv-lang.c (get_java_class_symtab): Set BLOCK_NAMESPACE. * dwarf2read.c (process_die): Set processing_has_namespace_info, processing_current_namespace. (read_namespace): Update processing_current_namespace; check for anonymous namespaces. (dwarf2_name): New function. (dwarf2_extension): Ditto. * cp-support.h: Update copyright, contributors. Add inclusion guards. Add opaque declaration for structs obstack, block, symbol. (struct using_direct): New struct. Add declarations for cp_find_first_component, cp_entire_prefix_len, processing_has_namespace_info, processing_current_namespace, cp_is_anonymous, cp_add_using_directive, cp_initialize_namespace, cp_finalize_namespace, cp_set_block_scope, cp_scan_for_anonymous_namespaces. * cp-namespace.c: New file. * cp-support.c: Update copyright. Include ctype.h, gdb_assert.h, gdbcmd.h. New variable maint_cplus_cmd_list. (cp_find_first_component): New function. (cp_entire_prefix_len, maint_cplus_command) (first_component_command, _initialize_cp_support): Ditto. * buildsym.c: Include cp-support.h. New variable using_list. (add_symbol_to_list): Check for anonymous namespaces. (finish_block): Set block's scope. (start_symtab): Initialize C++ namespace support. (end_symtab): Finalize C++ namespace support. * block.h: Add opaque declarations for structs block_namespace_info, using_direct, and obstack. Add declarations for block_set_scope and block_set_using. (struct block): Add 'language_specific' member. (BLOCK_NAMESPACE): New macro. * block.c: Include gdb_obstack.h and cp-support.h. (struct block_namespace_info): New struct. (block_set_scope): New function. (block_set_using, block_initialize_namespace): Ditto. 2003-04-15 David Carlton <carlton@math.stanford.edu> * gdb.c++/maint.exp: New file.
2002-09-14 * gdbtypes.c (check_stub_method): Make static.Daniel Jacobowitz1-0/+25
(check_stub_method_group): New function. * gdbtypes.h: Update prototypes. * cp-support.c: New file. * cp-support.h: New file. * stabsread.c: Include "cp-abi.h" and "cp-support.h". (update_method_name_from_physname): New function. (read_member_functions): Correct method names for operators and v3 constructors/destructors. Separate v2 constructors and destructors. * Makefile.in (stabsread.o): Update dependencies. (SFILES): Add cp-support.c. (COMMON_OBS): Add cp-support.o. (cp_support_h, cp-support.o): Add. * cp-valprint.c (cp_print_class_method): Call check_stub_method_group instead of check_stub_method. Remove extraneous QUITs. * p-valprint.c (pascal_object_print_class_method): Likewise. * valops.c (search_struct_method): Likewise. (find_method_list, value_struct_elt_for_reference): Likewise.