Daniel Jacobowitz
fb4c6eba43
* Makefile.in (SFILES): Add cp-names.y.
...
(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-03-11 02:24:23 +00:00
Andrew Cagney
d3cbe7ef42
2005-02-08 Andrew Cagney <cagney@gnu.org>
...
* 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.
2005-02-09 00:04:29 +00:00
Jeff Johnston
31c27f7773
2004-07-06 Jeff Johnston <jjohnstn@redhat.com>
...
* 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-07-06 19:29:31 +00:00
David Carlton
8d577d328a
2004-02-02 David Carlton <carlton@kealia.com>
...
* 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-02-02 20:44:53 +00:00
David Carlton
b368761e45
2004-01-23 David Carlton <carlton@kealia.com>
...
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-23 23:03:31 +00:00
Elena Zannoni
38d518c93e
2004-01-09 David Carlton <carlton@kealia.com>
...
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.
2004-01-09 22:22:07 +00:00
Michael Chastain
362ff85603
2003-12-04 Michael Chastain <mec.gnu@mindspring.com>
...
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-12-05 04:25:09 +00:00
David Carlton
79c2c32df4
2003-09-25 David Carlton <carlton@kealia.com>
...
* 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-25 16:39:39 +00:00
Andrew Cagney
4a4b3fedfe
2003-09-13 Andrew Cagney <cagney@redhat.com>
...
* 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-14 02:04:44 +00:00
David Carlton
5c4e30cabe
2003-09-11 David Carlton <carlton@kealia.com>
...
* 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-09-11 19:49:20 +00:00
David Carlton
b64296285d
2003-06-12 David Carlton <carlton@bactrian.org>
...
* 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-12 15:33:45 +00:00
Andrew Cagney
b9362cc7a8
2003-06-08 Andrew Cagney <cagney@redhat.com>
...
* 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-08 18:27:14 +00:00
Andrew Cagney
b59661bd15
2003-06-01 Andrew Cagney <cagney@redhat.com>
...
* 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-06-02 04:16:24 +00:00
David Carlton
1fcb515536
2003-05-19 David Carlton <carlton@bactrian.org>
...
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-05-20 03:56:29 +00:00
David Carlton
9219021cb5
2003-04-15 David Carlton <carlton@math.stanford.edu>
...
* 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.
2003-04-15 23:07:11 +00:00
Daniel Jacobowitz
de17c821b3
* gdbtypes.c (check_stub_method): Make static.
...
(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.
2002-09-14 02:09:39 +00:00