Change symbols for C++ nested types to contain the fully qualified
name, if possible. (At least in the DWARF-2 case.) Partial fix
for PR's c++/57, c++/488, c++/539, c++/573, c++/609, c++/832,
c++/895.
* c-exp.y: Update copyright:
(qualified_type): Handle types nested within classes.
* cp-namespace.c: Update comments.
(cp_set_block_scope): Delete #if 0.
(cp_lookup_nested_type): Handle types nested within classes.
* dwarf2read.c: (scan_partial_symbols): Call add_partial_structure
when appropriate.
(add_partial_symbol): Add the name of the enclosing namespace to
types.
(pdi_needs_namespace): New.
(add_partial_namespace): Tweak comment.
(add_partial_structure): New.
(psymtab_to_symtab_1): Initialize processing_current_prefix
here...
(process_die): instead of here.
(read_structure_scope): Try to figure out the name of the class or
namespace that the structure might be defined within.
(read_enumeration): Generate fully-qualified names, if possible.
(read_namespace): Don't set name to NULL.
(die_specification): New.
(new_symbol): Generate fully-qualified names for types.
(read_type_die): Determine appropriate prefix.
(determine_prefix): New.
(typename_concat): New.
(class_name): New.
* valops.c: Update copyright.
(value_aggregate_elt): Pass NOSIDE to
value_struct_elt_for_reference.
(value_struct_elt_for_reference): Make static, add NOSIDE
parameter, call value_maybe_namespace_elt as a last resort.
(value_namespace_elt): Break out code into
value_maybe_namespace_elt.
(value_maybe_namespace_elt): New.
2004-01-14 David Carlton <carlton@kealia.com>
* gdb.cp/namespace.exp: Add tests involving classes defined within
namespaces.
* gdb.cp/namespace.cc (C::CClass): New.
* gdb.cp/namespace1.cc: Update copyright.
(C::OtherFileClass): New.
* mips-tdep.c (mips_convert_register_p): Handle both raw and
cooked floating-point registers.
(mips_gdbarch_init): Set convert_register_p, register_to_value,
and value_to_register.
sparc_extract_struct_value_address.
(sparc32_gdbarch_init): Set extract_struct_value_address.
* sparc64-tdep.c (sparc64_extract_struct_value_address): New
function.
(sparc64_init_abi): Set extract_struct_value_address. Don't set
return_value_on_stack.
(struct gdbarch_tdep): Add gregset, sizeof_gregset,
fpregset and sizeof_fpregset members.
* sparc-tdep.c (struct regset): Provide opaque declaration.
(sparc_regset_from_core_section): New function.
(sparc32_gdbarch_init): Initialize TDEP->gregset,
TDEP->sizeof_gregset, TDEP->fpregset and TDEP->sizeof_fpregset.
Set regset_from_core_section when appropriate.
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.
* config/pa/tm-hppa.h: Update extern declarations for
hppa32_hpux_frame_saved_pc_in_sigtramp,
hppa32_hpux_frame_base_before_sigtramp, and
hppa32_hpux_frame_find_saved_regs_in_sigtramp.
* mips-tdep.c (mips_gdbarch_init): Move code determining the MIPS
FPU to the start, check the MIPS FPU when looking for an old
architecture.
(set_mipsfpu_single_command): Update the architecture.
(set_mipsfpu_double_command, set_mipsfpu_none_command): Ditto.
* disasm.c: Update copyright to include 2004.
(do_mixed_source_and_assembly): For uiout asm list
and tuple cleanups, initialize to null_cleanup instead of
NULL and do so prior to loop. Only reset when we close off
the tuple/list. Move check for whether to close off the
asm tuple/list to after dump_insns call where it will be run
on each loop iteration.
* ser-unix.c (ser_unix_async): Fix tipo, "NOTHING_SECHEDULED"
should be a switch case and not a label.
* mips-tdep.c (mips32_next_pc): Delete unused labels
"greater_equal_branch" and "less_zero_branch".
* jv-valprint.c (java_print_value_fields): Delete unused label
"flush_it".
* libunwind-frame.h (struct frame_id): Add opaque declaration,
move to start of file.
* i386-tdep.h (struct regcache): Add opaque declaration.
* config/ia64/nm-linux.h (struct target_ops): Add opaque
declaration.
* ia64-tdep.c (ia64_find_proc_info_x): Do not use __FUNCTION__.
(ia64_gdbarch_init): Use "GNU/Linux" in comment.
* win32-nat.c (fake_create_process): Use ISO C style definition.
* stabsread.c (define_symbol): Delete #ifndef
DEPRECATED_USE_REGISTER_NOT_ARG wrapper around
stabs_argument_has_addr call, macro never defined.
(struct amd64_register_info): Rename from x86_64_register_info.
(amd64_register_info): Rename from x86_64_register_info.
(AMD64_NUM_REGS): Rename from X86_64_NUM_REGS.
(amd64_register_name): Rename from x86_64_register_name.
(amd64_register_type): Rename from x86_64_register_type.
(amd64_dwarf_regmap): Rename from x86_64_dwarf_regmap.
(amd64_dwarf_regmap_len): Rename from x86_64_dwarf_regmap_len.
(amd64_dwarf_reg_to_regnum): Rename from
x86_64_dwarf_reg_to_regnum.
(amd64_convert_register_p): Rename from x86_64_convert_register_p.
(amd64_push_dummy_call): Rename from x86_64_push_dummy_call.
(AMD64_NUM_SAVED_REGS): Rename from X86_64_NUM_SAVED_REGS.
(struct amd64_frame_cache): Renamed from x86_64_frame_cache.
(amd64_alloc_frame_cache): Renamed from x86_64_alloc_frame_cache.
(amd64_analyze_prologue): Rename from x86_64_analyze_prologue.
(amd64_skip_prologue): Rename from x86_64_skip_prologue.
(amd64_frame_cache): Rename from x86_64_frame_cache.
(amd64_frame_this_id): Rename from x86_64_frame_this_id.
(amd64_frame_prev_register): Rename from
x86_64_frame_prev_register.
(amd64_frame_unwind): Rename from x86_64_frame_unwind.
(amd64_frame_sniffer): Rename from x86_64_frame_sniffer.
(amd64_sigtramp_frame_cache): Rename from
x86_64_sigtramp_frame_cache.
(amd64_sigtramp_frame_prev_register): Rename from
x86_64_sigtramp_frame_prev_register.
(amd64_sigtramp_frame_unwind): Rename from
x86_64_sigtramp_frame_unwind.
(amd64_sigtramp_frame_sniffer): Rename from
x86_64_sigtramp_frame_sniffer.
(amd64_frame_base_address): Rename from x86_64_frame_base_address.
(amd64_frame_base): Rename from x86_64_frame_base.
(amd64_unwind_dummy_id): Rename from x86_64_unwind_dummy_id.
(amd64_frame_align): Rename from x86_64_frame_align.
(amd64_supply_fpregset): Rename from x86_64_supply_fpregset.
(amd64_regset_from_core_section): Rename from
x86_64_regset_from_core_section.
(x86_64_init_abi): Update comments.