Michael Snyder
f47fb26507
2011-02-28 Michael Snyder <msnyder@vmware.com>
...
* dwarf2read.c (add_partial_symbol): Discard unused values.
(read_base_type): Delete unused variable.
2011-03-01 00:07:20 +00:00
Michael Snyder
e8e80198e9
2011-02-28 Michael Snyder <msnyder@vmware.com>
...
* dwarf2read.c (dw2_get_file_names): Discard unused value.
(dwarf2_add_typedef): Delete unused variable.
(read_namespace): Ditto.
(dwarf_decode_macros): Ditto.
2011-02-28 23:12:56 +00:00
Michael Snyder
b021a22166
2011-02-25 Michael Snyder <msnyder@vmware.com>
...
* arm-tdep.c: Fix typos in comments.
* bsd-uthread.c: Ditto.
* completer.c: Ditto.
* corelow.c: Ditto.
* cp-namespace.c: Ditto.
* cp-support.c: Ditto.
* cris-tdep.c: Ditto.
* dbxread.c: Ditto.
* dwarf2read.c: Ditto.
* frame.h: Ditto.
* gdbtypes.h: Ditto.
* inferior.h: Ditto.
* mdebugread.c: Ditto.
* mips-tdep.c: Ditto.
* ppc-linux-nat.c: Ditto.
* ppc-linux-tdep.c: Ditto.
* printcmd.c: Ditto.
* sol-thread.c: Ditto.
* solib-frv.c: Ditto.
* solist.h: Ditto.
* sparc64-tdep.c: Ditto.
* spu-tdep.c: Ditto.
* stabsread.c: Ditto.
* symfile.c: Ditto.
* valops.c: Ditto.
* varobj.c: Ditto.
* vax-nat.c: Ditto.
* python/py-block.c: Ditto.
* python/py-symbol.c: Ditto.
* python/py-symtab.c: Ditto.
* python/py-value.c: Ditto.
* tui/tui-win.c: Ditto.
2011-02-26 02:07:10 +00:00
Tom Tromey
b1bfef6533
* dwarf2loc.c (unimplemented): Handle unnamed opcodes.
...
(compile_dwarf_to_ax) <default>: Use unimplemented.
<DW_OP_deref>: Update.
(disassemble_dwarf_expression): Update.
* dwarf2read.c (dwarf_stack_op_name): Remove 'def' argument.
(decode_locdesc): Update.
* dwarf2expr.h (dwarf_stack_op_name): Update.
2011-02-16 21:32:05 +00:00
Ulrich Weigand
54fcddd0ac
include/ChangeLog:
...
* dwarf2.h (enum dwarf_calling_convention): Add DW_CC_GDB_IBM_OpenCL.
gdb/ChangeLog:
* dwarf2read.c (read_subroutine_type): Set special calling
convention flag for functions compiled by IBM XL C for OpenCL.
* ppc-sysv-tdep.c: Include "dwarf2.h"
(ppc_sysv_abi_push_dummy_call): Implement IBM OpenCL vector types
calling convention.
(do_ppc_sysv_return_value): Add FUNC_TYPE argument. Implement
IBM OpenCL vector types calling convention.
(ppc_sysv_abi_return_value): Pass through FUNC_TYPE.
(ppc_sysv_abi_broken_return_value): Likewise.
(ppc64_sysv_abi_push_dummy_call): Implement IBM OpenCL vector
types calling convention.
(ppc64_sysv_abi_return_value): Likewise.
* spu-tdep.c: Include "dwarf2.h"
(spu_return_value): Implement IBM OpenCL vector types calling
convention.
gdb/testsuite/ChangeLog:
* gdb.opencl/callfuncs.cl: New file.
* gdb.opencl/callfuncs.exp: New test.
* gdb.opencl/Makefile.in (EXECUTABLES): Add callfuncs.
2011-02-08 13:30:10 +00:00
Tom Tromey
9e0ac56407
* dwarf2read.c (dwarf2_section_empty_p): New function.
...
(dwarf2_read_section): Use dwarf2_section_empty_p.
(dwarf2_section_size): New function.
(dwarf2_get_section_info): Unconditionally read section.
(dwarf2_read_index): Use dwarf2_section_empty_p.
(partial_read_comp_unit_head): Use dwarf2_section_size.
(dwarf2_symbol_mark_computed): Likewise.
2011-02-04 20:33:09 +00:00
Ulrich Weigand
9277c30c29
* dwarf2read.c (dwarf2_ranges_read): Skip empty range entries.
...
Complain about inverted range entries.
(dwarf2_record_block_ranges): Likewise.
2011-02-04 18:13:25 +00:00
Jan Kratochvil
831adc1f7d
gdb/
...
* dwarf2read.c (dwarf2_read_index, write_psymtabs_to_index)
(save_gdb_index_command): Switch to .gdb_index version 4.
2011-01-25 17:25:12 +00:00
Jan Kratochvil
c2ff108bbd
gdb/
...
PR fortran/11104 and DWARF unbound arrays detection.
* dwarf2read.c (read_subrange_type): Set zero length on unspecified
upper bound. Set TYPE_HIGH_BOUND_UNDEFINED if not language_ada on
unspecified upper bound.
* eval.c (evaluate_subexp_standard) <multi_f77_subscript>: Remove
variables array_size_array, tmp_type and offset_item. New variable
array. Remove call to f77_get_upperbound. New variables array_type
and index. Call value_subscripted_rvalue for each dimenasion. Remove
the final call to deprecated_set_value_type.
gdb/testsuite/
PR fortran/11104 and DWARF unbound arrays detection.
* gdb.fortran/multi-dim.exp: New file.
* gdb.fortran/multi-dim.f90: New file.
2011-01-12 16:16:24 +00:00
Michael Snyder
a73c6dcdd4
2011-01-10 Michael Snyder <msnyder@vmware.com>
...
* charset.c (validate): Internationalization.
* coffread.c (read_one_sym): Ditto.
* dwarf2read.c (dwarf2_attach_fields_to_type): Ditto.
* h8300-tdep.c (H8300_extract_return_value): Ditto.
* inflow.c (new_tty): Ditto.
* iq2000-tdep.c (iq2000_breakpoint_from_pc): Ditto.
* m32c-tdep.c (m32c_return_value): Ditto.
* mep-tdep.c (mep_store_return_value): Ditto.
* score-tdep.c (score7_fetch_insn): Ditto.
* ser-mingw.c (pipe_windows_open): Ditto.
* sh64-tdep.c (sh64_extract_return_value): Ditto.
* spu-tdep.c (spu_register_type): Ditto.
* tracepoint.c (trace_find_command): Ditto.
* valarith.c (value_pos): Ditto.
2011-01-10 17:14:13 +00:00
Michael Snyder
0963b4bd45
2011-01-07 Michael Snyder <msnyder@vmware.com>
...
* ada-lang.c: Comment cleanup, mostly periods and spaces.
* ada-lang.h: Ditto.
* ada-tasks.c: Ditto.
* ada-valprint.c: Ditto.
* aix-threads.c: Ditto.
* alpha-linux-nat.c: Ditto.
* alpha-linux-tdep.c: Ditto.
* alpha-mdebug-tdep.c: Ditto.
* alpha-nat.c: Ditto.
* alpha-osf1-tdep.c: Ditto.
* alpha-tdep.c: Ditto.
* alphabsd-nat.c: Ditto.
* alphabsd-tdep.c: Ditto.
* amd64-darwin-tdep.c: Ditto.
* amd64-linux-nat.c: Ditto.
* amd64-linux-tdep.c: Ditto.
* amd64-sol2-tdep.c: Ditto.
* amd64-tdep.c: Ditto.
* amd64-fbsd-tdep.c: Ditto.
* amd64-nbsd-tdep.c: Ditto.
* amd64-obsd-tdep.c: Ditto.
* amd64-linux-nat.c: Ditto.
* amd64-linux-tdep.c: Ditto.
* arm-tdep.c: Ditto.
* arm-tdep.h: Ditto.
* armnbsd-nat.c: Ditto.
* avr-tdep.c: Ditto.
* bfin-tdep.c: Ditto.
* bsd-kvm.c: Ditto.
* c-typeprintc: Ditto.
* c-valprint.c: Ditto.
* coff-pe-read.h: Ditto.
* coffreead.c: Ditto.
* cris-tdep.c: Ditto.
* d-lang.c: Ditto.
* darwin-nat-info.c: Ditto.
* darwin-nat.c: Ditto.
* dbug-rom.c: Ditto.
* dbxread.c: Ditto.
* dcache.c: Ditto.
* dcache.h: Ditto.
* dec-thread.c: Ditto.
* defs.h: Ditto.
* demangle.c: Ditto.
* dicos-tdep.c: Ditto.
* dictionary.c: Ditto.
* dictionary.h: Ditto.
* dink32-rom.c: Ditto.
* disasm.c: Ditto.
* doublest.c: Ditto.
* dsrec.c: Ditto.
* dummy-frame.c: Ditto.
* dwarf2-frame.c: Ditto.
* dwarf2expr.c: Ditto.
* dwarf2loc.c: Ditto.
* dwarf2read.c: Ditto.
* elfread.c: Ditto.
* environ.c: Ditto.
* eval.c: Ditto.
* event-top.h: Ditto.
* exceptions.c: Ditto.
* exceptions.h: Ditto.
* exec.c: Ditto.
* expprint.c: Ditto.
* expression.h: Ditto.
* f-exp.y: Ditto.
* f-lang.c: Ditto.
* f-lang.h: Ditto.
* f-typeprint.c: Ditto.
* f-valprint.c: Ditto.
* fbsd-nat.c: Ditto.
* findvar.c: Ditto.
* fork-child.c: Ditto.
* frame.c: Ditto.
* frame.h: Ditto.
* frv-linux-tdep.c: Ditto.
* frv-tdep.c: Ditto.
* gcore.c: Ditto.
* gdb-stabs.h: Ditto.
* gdb_assert.h: Ditto.
* gdb_string.h: Ditto.
* gdb_thread_db.h: Ditto.
* gdb_wait.h: Ditto.
* gdbarch.sh: Ditto.
* gdbcore.h: Ditto.
* gdbthread.h: Ditto.
* gdbtypes.c: Ditto.
* gdbtypes.h: Ditto.
* gnu-nat.c: Ditto.
* gnu-nat.h: Ditto.
* gnu-v2-abi.c: Ditto.
* gnu-v3-abi.c: Ditto.
* go32-nat.c: Ditto.
* gdbarch.c: Regenerate.
* gdbarch.h: Regenerate.
2011-01-07 19:36:19 +00:00
Michael Snyder
3e43a32aaa
2011-01-05 Michael Snyder <msnyder@vmware.com>
...
* addrmap.c: Shorten lines of >= 80 columns.
* arch-utils.c: Ditto.
* arch-utils.h: Ditto.
* ax-gdb.c: Ditto.
* ax-general.c: Ditto.
* bcache.c: Ditto.
* blockframe.c: Ditto.
* breakpoint.c: Ditto.
* buildsym.c: Ditto.
* c-lang.c: Ditto.
* c-typeprint.c: Ditto.
* charset.c: Ditto.
* coffread.c: Ditto.
* command.h: Ditto.
* corelow.c: Ditto.
* cp-abi.c: Ditto.
* cp-namespace.c: Ditto.
* cp-support.c: Ditto.
* dbug-rom.c: Ditto.
* dbxread.c: Ditto.
* defs.h: Ditto.
* dfp.c: Ditto.
* dfp.h: Ditto.
* dictionary.c: Ditto.
* disasm.c: Ditto.
* doublest.c: Ditto.
* dwarf2-frame.c: Ditto.
* dwarf2expr.c: Ditto.
* dwarf2loc.c: Ditto.
* dwarf2read.c: Ditto.
* elfread.c: Ditto.
* eval.c: Ditto.
* event-loop.c: Ditto.
* event-loop.h: Ditto.
* exceptions.h: Ditto.
* exec.c: Ditto.
* expprint.c: Ditto.
* expression.h: Ditto.
* f-lang.c: Ditto.
* f-valprint.c: Ditto.
* findcmd.c: Ditto.
* frame-base.c: Ditto.
* frame-unwind.c: Ditto.
* frame-unwind.h: Ditto.
* frame.c: Ditto.
* frame.h: Ditto.
* gcore.c: Ditto.
* gdb-stabs.h: Ditto.
* gdb_assert.h: Ditto.
* gdb_dirent.h: Ditto.
* gdb_obstack.h: Ditto.
* gdbcore.h: Ditto.
* gdbtypes.c: Ditto.
* gdbtypes.h: Ditto.
* inf-ttrace.c: Ditto.
* infcall.c: Ditto.
* infcmd.c: Ditto.
* inflow.c: Ditto.
* infrun.c: Ditto.
* inline-frame.h: Ditto.
* language.c: Ditto.
* language.h: Ditto.
* libunwind-frame.c: Ditto.
* libunwind-frame.h: Ditto.
* linespec.c: Ditto.
* linux-nat.c: Ditto.
* linux-nat.h: Ditto.
* linux-thread-db.c: Ditto.
* machoread.c: Ditto.
* macroexp.c: Ditto.
* macrotab.c: Ditto.
* main.c: Ditto.
* maint.c: Ditto.
* mdebugread.c: Ditto.
* memattr.c: Ditto.
* minsyms.c: Ditto.
* monitor.c: Ditto.
* monitor.h: Ditto.
* objfiles.c: Ditto.
* objfiles.h: Ditto.
* osabi.c: Ditto.
* p-typeprint.c: Ditto.
* p-valprint.c: Ditto.
* parse.c: Ditto.
* printcmd.c: Ditto.
* proc-events.c: Ditto.
* procfs.c: Ditto.
* progspace.c: Ditto.
* progspace.h: Ditto.
* psympriv.h: Ditto.
* psymtab.c: Ditto.
* record.c: Ditto.
* regcache.c: Ditto.
* regcache.h: Ditto.
* remote-fileio.c: Ditto.
* remote.c: Ditto.
* ser-mingw.c: Ditto.
* ser-tcp.c: Ditto.
* ser-unix.c: Ditto.
* serial.c: Ditto.
* serial.h: Ditto.
* solib-frv.c: Ditto.
* solib-irix.c: Ditto.
* solib-osf.c: Ditto.
* solib-pa64.c: Ditto.
* solib-som.c: Ditto.
* solib-sunos.c: Ditto.
* solib-svr4.c: Ditto.
* solib-target.c: Ditto.
* solib.c: Ditto.
* somread.c: Ditto.
* source.c: Ditto.
* stabsread.c: Ditto.
* stabsread.c: Ditto.
* stack.c: Ditto.
* stack.h: Ditto.
* symfile-mem.c: Ditto.
* symfile.c: Ditto.
* symfile.h: Ditto.
* symmisc.c: Ditto.
* symtab.c: Ditto.
* symtab.h: Ditto.
* target-descriptions.c: Ditto.
* target-memory.c: Ditto.
* target.c: Ditto.
* target.h: Ditto.
* terminal.h: Ditto.
* thread.c: Ditto.
* top.c: Ditto.
* tracepoint.c: Ditto.
* tracepoint.h: Ditto.
* ui-file.c: Ditto.
* ui-file.h: Ditto.
* ui-out.h: Ditto.
* user-regs.c: Ditto.
* user-regs.h: Ditto.
* utils.c: Ditto.
* valarith.c: Ditto.
* valops.c: Ditto.
* valprint.c: Ditto.
* valprint.h: Ditto.
* value.c: Ditto.
* varobj.c: Ditto.
* varobj.h: Ditto.
* vec.h: Ditto.
* xcoffread.c: Ditto.
* xcoffsolib.c: Ditto.
* xcoffsolib.h: Ditto.
* xml-syscall.c: Ditto.
* xml-tdesc.c: Ditto.
2011-01-05 22:22:53 +00:00
Joel Brobecker
7b6bb8daac
run copyright.sh for 2011.
2011-01-01 15:34:07 +00:00
Doug Evans
fc1a9d6e90
* dwarf2read.c (_initialize_dwarf2_read): Fix help text of
...
"save gdb-index" command.
2010-12-16 01:43:01 +00:00
Doug Evans
7b9f3c509c
* dwarf2read.c (dwarf2_per_objfile): New member quick_file_names_table.
...
(dwarf2_per_cu_quick_data): Move definition down to "quick functions"
section. Delete members lines full_names. Rename read_lines to
no_file_data.
(quick_file_names): New struct.
(hash_file_name_entry, eq_file_name_entry): New functions.
(delete_file_name_entry, create_quick_file_names_table): New functions.
(dwarf2_read_index): Initialize quick_file_names_table.
(dw2_get_file_names): Renamed from dw2_require_line_header.
Return pointer to quick_file_names entry. All callers updated.
(dw2_get_real_path): Renamed from dw2_require_full_path.
Replace per_cu arg with pointer to quick_file_names entry.
All callers updated.
(dw2_free_cached_file_names): New function.
(dw2_forget_cached_source_info): Call it (via htab_traverse_noresize).
(dwarf2_initialize_objfile): Initialize quick_file_names_table in
the OBJF_READNOW case.
(dwarf2_free_objfile): Rewrite freeing of quick file names tables.
2010-12-12 19:19:27 +00:00
Doug Evans
ae2de4f869
* dwarf2read.c: Whitespace cleanup, plus comment additions.
...
No code changes.
2010-12-10 22:00:00 +00:00
Doug Evans
0a5429f697
PR symtab/12302
...
* dwarf2read.c (struct psymtab_cu_index_map): New struct.
(hash_psymtab_cu_index, eq_psymtab_cu_index): New functions.
(struct addrmap_index_data): New struct.
(add_address_entry): Remove arg `pst', new args `start', `end'.
(add_address_entry_worker, write_address_map): New functions.
(write_psymtabs_to_index): Address table generation moved to
write_address_map. Build a table mapping psymtab to CU index
to pass to it.
2010-12-08 19:03:35 +00:00
Doug Evans
7e17e08811
* dwarf2read.c (write_psymtabs_to_index): When stat fails, pass file
...
name to perror.
2010-12-08 18:26:40 +00:00
Doug Evans
d4637a0471
* symfile.h (quick_symbol_functions): Clarify usage of
...
expand_symtabs_with_filename.
* dwarf2read.c (dw2_expand_symtabs_with_filename): Only iterate over
comp units, ignore type units.
2010-12-08 18:04:08 +00:00
Doug Evans
1ef75ecca6
* dwarf2read.c (dw2_expand_symtabs_with_filename): Use FILENAME_CMP.
2010-12-08 17:31:52 +00:00
Doug Evans
74dd2ca6a7
* dwarf2read.c (dw2_lookup_symtab): Remove duplicate call to
...
gdb_realpath.
2010-12-07 17:30:52 +00:00
Doug Evans
148c11bf2e
* dwarf2read.c (save_gdb_index_command): Add comment.
2010-12-01 19:37:36 +00:00
Tom Tromey
8cf6f0b103
gdb
...
* opencl-lang.c (lval_func_check_synthetic_pointer): New
function.
* value.h (struct lval_funcs) <indirect, check_synthetic_pointer>:
New fields.
(value_bits_synthetic_pointer): Declare.
* value.c (value_bits_synthetic_pointer): New function.
* valprint.c (valprint_check_validity): Handle synthetic
pointers.
* valops.c (value_ind): Use new 'indirect' lval_funcs method.
* valarith.c (value_ptradd): Use set_value_component_location.
* p-valprint.c (pascal_object_print_value_fields): Handle
synthetic pointers.
* jv-valprint.c (java_print_value_fields): Handle synthetic
pointers.
* dwarf2read.c (dwarf_stack_op_name): Add
DW_OP_GNU_implicit_pointer.
(dwarf2_fetch_die_location_block): Add get_frame_pc, baton
arguments. Handle location lists.
(fill_in_loclist_baton): New function.
(dwarf2_symbol_mark_computed): Use it.
* dwarf2loc.h (dwarf2_find_location_expression): Declare.
(dwarf2_fetch_die_location_block): Add get_frame_pc, baton
arguments.
* dwarf2loc.c (dwarf2_find_location_expression): Rename from
find_location_expression. No longer static. Update all callers.
(dwarf_expr_frame_pc): New function.
(per_cu_dwarf_call): Add get_frame_pc, baton arguments. Update
all callers.
(struct piece_closure) <per_cu>: New field.
(allocate_piece_closure): Add per_cu argument.
(read_pieced_value): Handle DWARF_VALUE_IMPLICIT_POINTER.
(check_pieced_value_bits): Remove validity argument, add check_for
argument. Handle DWARF_VALUE_IMPLICIT_POINTER.
(check_pieced_value_validity, check_pieced_value_invalid):
Update.
(check_pieced_synthetic_pointer): New function.
(get_frame_address_in_block_wrapper): New function.
(indirect_pieced_value): New function.
(pieced_value_funcs): Update.
(invalid_synthetic_pointer): New function.
(dwarf2_evaluate_loc_desc_full): Rename from
dwarf2_evaluate_loc_desc. Add byte_offset argument.
(dwarf2_evaluate_loc_desc): Rewrite.
(dwarf2_loc_desc_needs_frame): Set new field on context.
(get_ax_pc): New function.
(disassemble_dwarf_expression): Handle
DW_OP_GNU_implicit_pointer.
* dwarf2expr.h (enum dwarf_value_location)
<DWARF_VALUE_IMPLICIT_POINTER>: New constant.
(struct dwarf_expr_context) <get_frame_pc>: New field.
(struct dwarf_expr_piece) <v.ptr>: New field.
* dwarf2expr.c (add_piece): Handle DWARF_VALUE_IMPLICIT_POINTER.
(execute_stack_op): Handle DW_OP_GNU_implicit_pointer.
* dwarf2-frame.c (no_get_frame_pc): New function.
(execute_stack_op): Set new field on context.
* cp-valprint.c (cp_print_value_fields): Handle synthetic
pointers.
gdb/testsuite
* gdb.dwarf2/implptr.exp: New file.
* gdb.dwarf2/implptr.c: New file.
* gdb.dwarf2/implptr.S: New file.
2010-11-29 21:18:16 +00:00
Jan Kratochvil
2edb89d30e
gdb/
...
Code cleanup.
* dictionary.c
(struct dict_vector) <iter_match_first, iter_match_next>
(iter_match_first_hashed, iter_match_next_hashed)
(iter_match_first_linear, iter_match_next_linear)
(dict_iter_match_first, dict_iter_match_next, iter_match_first_hashed)
(iter_match_next_hashed, iter_match_first_linear)
(iter_match_next_linear): Use symbol_compare_ftype.
* dictionary.h: Include symfile.h.
(dict_iter_match_first, dict_iter_match_next): Use
symbol_compare_ftype.
* dwarf2read.c (dw2_map_matching_symbols): Likewise.
* psymtab.c (match_partial_symbol, match_partial_symbol, map_block)
(map_matching_symbols_psymtab): Likewise.
* symfile.h (symbol_compare_ftype): New typedef.
(struct quick_symbol_functions) <map_matching_symbols): Use
symbol_compare_ftype.
2010-11-24 19:01:51 +00:00
Jan Kratochvil
594e8718e7
gdb/
...
* dwarf2read.c (dwarf2_read_index): Ignore higher .gdb_index versions.
2010-11-22 20:35:02 +00:00
Tom Tromey
d53d4ac5aa
2010-11-19 Will Drewry <wad@google.com>
...
Tavis Ormandy <taviso@google.com>
Jan Kratochvil <jan.kratochvil@redhat.com>
* dwarf2read.c (decode_locdesc): Enforce location description stack
boundaries.
2010-11-19 16:35:13 +00:00
Jan Kratochvil
87df528e2a
gdb/
...
* dwarf2read.c (dw2_forget_cached_source_info): Clear the FULL_NAMES
elements after xfree.
2010-11-16 22:04:52 +00:00
Jan Kratochvil
9816fde3d4
gdb/
...
Code cleanup.
* dwarf2read.c (alloc_one_comp_unit): Rename prototype to ...
(init_one_comp_unit): ... this one.
(prepare_one_comp_unit): New prototype.
(dw2_require_line_header, process_psymtab_comp_unit): Use
init_one_comp_unit.
(process_psymtab_comp_unit): Use prepare_one_comp_unit.
(load_partial_comp_unit): Remove variable attr. Use
init_one_comp_unit with xmalloc. Use prepare_one_comp_unit.
(load_full_comp_unit): Use init_one_comp_unit with xmalloc. Use
prepare_one_comp_unit.
(read_signatured_type): Remove variable attr. Use init_one_comp_unit.
Use prepare_one_comp_unit.
(alloc_one_comp_unit): Rename to ...
(init_one_comp_unit): ... here and remove there calloc, new parameter
cu.
(prepare_one_comp_unit): New function.
2010-11-16 04:36:26 +00:00
Ken Werner
f4b8a18de7
gdb:
...
* NEWS: Mention OpenCL C language support.
* Makefile.in (SFILES): Add opencl-lang.c.
(COMMON_OBS): Add opencl-lang.o.
* opencl-lang.c: New File
* defs.h (enum language): Add language_opencl.
* dwarf2read.c (read_file_scope): Handle DW_AT_producer for the
IBM XL C OpenCL compiler.
* c-lang.h: Include "parser-defs.h".
(evaluate_subexp_c): Declare.
* c-lang.c (evaluate_subexp_c): Remove the static qualifier.
(c_op_print_tab): Add declaration.
* eval.c (binop_promote): Handle language_opencl.
* c-exp.y: Lookup the primitive types instead of referring to the
builtins.
gdb/testsuite:
* Makefile.in (ALL_SUBDIRS): Add gdb.opencl.
* configure.ac (AC_OUTPUT): Add gdb.opencl/Makefile.
* configure: Regenerate.
* gdb.opencl/Makefile.in: New File.
* gdb.opencl/datatypes.exp: Likewise.
* gdb.opencl/datatypes.cl: Likewise.
* gdb.opencl/operators.exp: Likewise.
* gdb.opencl/operators.cl: Likewise.
* gdb.opencl/vec_comps.exp: Likewise.
* gdb.opencl/vec_comps.cl: Likewise.
* gdb.opencl/convs_casts.exp: Likewise.
* gdb.opencl/convs_casts.cl: Likewise.
* lib/opencl.exp: Likewise.
* lib/opencl_hostapp.c: Likewise.
* lib/opencl_kernel.cl: Likewise.
* lib/cl_util.c: Likewise.
* lib/cl_util.c: Likewise.
* gdb.base/default.exp (set language): Add "opencl" to the list of
languages.
gdb/doc:
* gdb.texinfo: (Summary) Add mention about OpenCL C language support.
(OpenCL C): New node.
2010-11-05 14:31:30 +00:00
Ken Werner
dbc98a8b6e
gdb:
...
* dwarf2read.c (read_array_type): Read the DW_AT_byte_size from the
DIE and set the length of the type.
* gdbtypes.h (get_array_bounds): Move here from valprint.h.
* gdbtypes.c (get_array_bounds): Move here from valprint.c and
return 0 if the corresponding bounds of the type are undefined.
* valprint.h (get_array_bounds): Move declaration to gdbtypes.h.
* valprint.c (get_array_bounds): Move implementation to gdbtypes.c.
(val_print_array_elements): Use get_array_bounds to compute the number
of array elements instead of dividing the length of the array by the
length of the element types.
* valarith.c (vector_binop): Likewise.
* valops.c (value_cast): Likewise.
* c-valprint.c (c_val_print): Likewise.
* c-typeprint.c (c_type_print_varspec_suffix): Likewise.
gdb/testsuite:
* gdb.base/gnu_vector.exp: Adjust expect messages.
2010-11-03 14:21:58 +00:00
Joel Brobecker
1e3fad37be
replace strcmp by FILENAME_CMP for filename comparison
...
gdb/ChangeLog:
* dwarf2read.c (psymtab_include_file_name): Replace call to strcmp
by call to FILENAME_CMP.
2010-10-26 17:59:50 +00:00
Jan Kratochvil
01f8c46dda
gdb/
...
Fix the `stopped language detection' testcase for gcc-4.5.
* dwarf2read.c (read_partial_die): Set also LANGUAGE_OF_MAIN.
* symfile.c (set_initial_language): Move variable filename to a more
inner block. Prefer LANGUAGE_OF_MAIN.
* symtab.c (language_of_main): New variable.
(set_main_name): Always reset LANGUAGE_OF_MAIN.
* symtab.h (language_of_main): New declaration.
2010-10-17 18:49:47 +00:00
Doug Evans
3876f04ec9
* dwarf2read.c (mapped_index): Rename member index_table to
...
symbol_table and index_table_slots to symbol_table_slots.
All uses updated.
(create_symbol_hash_table): Renamed from create_index_table.
All callers updated.
(add_indices_to_cpool): Rename arg index_table to symbol_hash_table.
(write_hash_table): Rename local index_table to symbol_hash_table.
2010-10-07 17:23:30 +00:00
Paul N. Hilfinger
40658b9446
Rework symbol searches to move Ada-specific stuff to ada-lang.c.
...
This is a clean-up of some of our symbol-lookup machinery to pull some
kludgy Ada-specific definitions out of psymtab.c. In place of
map_ada_symtabs and ada_lookup_partial_symbol, we have a method
map_matching_symbols, which searches through all symbol tables and
partial symbol tables looking for a symbol that matches according to
a matching function that is passed as a parameter. This requires some
care, because partial symbol tables speed up searches by binary search,
while full symbol tables use hashing. To call map_matching_symbols, therefore,
you may need to supply both a matching function that is compatible with the
dictionary hash function and an ordering relation that is compatible with
strcmp_iw, which is used to order partial symbol tables.
Having added this general routine to psymtab.c, we use it in ada-lang.c
to rework add_non_local_symbols (now renamed add_nonlocal_symbols).
Changelog:
gdb/
* ada-lang.c (full_match): Declare.
(ada_match_name): Rename to match_name (we should avoid prefixing static
symbols with "ada_").
(match_name): New name for ada_match_name.
(struct ada_psym_data): Remove and replace with...
(struct match_data): User data for map_matching_symbols.
(ada_add_psyms): Remove.
(aux_add_nonlocal_symbols): New function, used as callback for
map_matching_symbols.
(compare_names): Ordering function adopted from strcmp_iw for Ada-encoded
symbols.
(ada_add_non_local_symbols): Rename to add_nonlocal_symbols.
(add_nonlocal_symbols): Renamed from ada_add_non_local_symbols.
Rework to use map_matching_symbols instead of map_ada_symtabs.
(ada_lookup_symbol_list): Use add_nonlocal_symbols.
* psymtab.c: Include dependency on dictionary.h.
(match_partial_symbol): New function.
(ada_lookup_partial_symbol): Remove.
(map_block): New function, auxiliary to map_matching_symbols_psymtab.
(map_matching_symbols_psymtab): New function.
(psym_functions): Replace map_ada_symtabs with map_matching_symbols_psymtab.
* symfile.h: Replace map_ada_symtabs definition with map_matching_symbols.
2010-10-07 07:13:51 +00:00
Ken Werner
2f608a3a97
gdb:
...
* dwarf2read.c (read_tag_const_type): Handle const arrays.
gdb/testsuite:
* gdb.base/constvars.c (logical, lugged, luck, lunar, lumen, lurk,
lush, lynx) New constant.
* gdb.base/constvars.exp: Test const array types.
* gdb.dwarf2/dw2-strp.exp: Add const qualifier for ptype tests.
2010-10-06 16:13:35 +00:00
Doug Evans
b89be57b99
* dwarf2read.c (hash_strtab_entry): Insert blank line after
...
function comment.
(eq_strtab_entry, create_strtab, add_string): Ditto.
(hash_symtab_entry, eq_symtab_entry, delete_symtab_entry): Ditto.
(create_index_table, create_mapped_symtab, find_slot): Ditto.
(hash_expand, add_index_entry, add_indices_to_cpool): Ditto.
(write_hash_table, add_address_entry, write_psymbols): Ditto.
(write_obstack, unlink_if_set, write_one_signatured_type): Ditto.
(write_psymtabs_to_index): Ditto.
2010-10-05 03:10:28 +00:00
Doug Evans
2fdf6df643
* dwarf2read.c (dw2_do_instantiate_symtab): Insert blank line after
...
function comment.
(dw2_instantiate_symtab, dw2_get_cu, extract_cu_value): Ditto.
(create_cus_from_index, create_addrmap_from_index): Ditto.
(mapped_index_string_hash, find_slot_in_mapped_hash): Ditto.
(dw2_setup, dw2_require_line_header, dw2_require_full_path): Ditto.
(dw2_do_expand_symtabs_matching): Ditto.
2010-10-05 02:56:36 +00:00
Paul N. Hilfinger
7358912389
Replace wild_match with faster version and modify its interface.
...
This new version of wild_match is comparable in speed to strcmp_iw, and has
the same signature and same return value for equal names.
gdb/ChangeLog:
* ada-lang.c (wild_match): Reimplement.
Change API to eliminate unused length argument, reverse arguments and
make 0 the 'true' return value.
(advance_wild_match): New auxiliary function for wild_match to improve
readability.
(ada_match_name, ada_add_block_symbols): Use new API for wild_match.
* psymtab.c (ada_lookup_partial_symbol, map_ada_symtabs): Use new
API for wild_match.
* symfile.h (map_ada_symtabs): Modify declaration to use new API for
wild_match.
* dwarf2read.c (dw2_map_ada_symtabs): Ditto.
2010-10-04 06:34:40 +00:00
Doug Evans
11570e7189
* dwarf2read.c (_initialize_dwarf2_read): Add usage info to help text
...
for `save gdb-index' command.
2010-10-01 20:47:45 +00:00
Tom Tromey
72b9f47f1e
* symfile.h (allocate_symtab): Update.
...
* symfile.c (allocate_symtab): Make 'filename' const.
* psymtab.c (add_psymbol_to_bcache): Make 'name' const.
(add_psymbol_to_list): Likewise.
* psympriv.h (struct partial_symtab) <filename, dirname>: Now
const.
(add_psymbol_to_list): Update.
* mdebugread.c (new_symtab): Make 'name' const.
(psymtab_to_symtab_1): Make 'filename' const.
* elfread.c (elfstab_offset_sections): Update.
* dwarf2read.c (dwarf_decode_lines): Make 'comp_dir' const.
(dwarf2_start_subfile): Make 'dirname' and 'comp_dir' const.
(psymtab_include_file_name): Update.
* dbxread.c (find_stab_function_addr): Make 'filename' const.
* buildsym.h (start_subfile): Update.
* buildsym.c (start_subfile): Make arguments const.
2010-10-01 20:26:11 +00:00
Doug Evans
abc72ce4c6
Workaround for gcc/45682.
...
* dwarf2read.c (partial_die_info): New fields fixup_called,
linkage_name.
(guess_partial_die_structure_name): Renamed from guess_structure_name.
Move definition next to use. Use linkage_name to determine if class
is in a namespace. All callers updated.
(fixup_partial_die): Return early if already called.
Set fixup_called when done.
(guess_full_die_structure_name): New function.
(determine_prefix): Call it for class/struct/union dies if c++ and
.debug_types section is present and parent is DW_TAG_compile_unit.
2010-09-29 16:41:24 +00:00
Tom Tromey
987d643c0f
* dwarf2read.c (dwarf2_read_index): Only allow version 3.
...
(write_psymbols): Add 'psyms_seen' and 'is_static' arguments.
Only emit a given psymbol once.
(struct signatured_type_index_data) <psyms_seen>: New field.
(write_one_signatured_type): Update.
(cleanup_htab): New function.
(write_psymtabs_to_index): Update. Create psyms_seen hash. Bump
version to 3.
(save_gdb_index_command): Update index documentation.
2010-09-27 18:42:36 +00:00
Tom Tromey
4b5246aacb
* dwarf2read.c (dw2_expand_symtabs_matching): Add missing
...
MAYBE_SWAPs.
(dw2_map_symbol_names): Likewise.
2010-09-24 16:11:46 +00:00
Jan Kratochvil
c2b0a2291a
gdb/
...
* dwarf2read.c (die_needs_namespace) <DW_TAG_variable>: Add also
DW_TAG_constant.
gdb/testsuite/
* gdb.fortran/module.exp (fully qualified name of DW_TAG_constant):
New test.
* gdb.fortran/module.f90 (mod1) <var_const>: New constant.
2010-09-22 19:22:44 +00:00
Joel Brobecker
72929c628e
DWARF: Add support for DW_TAG_constant DIEs
...
gdb/ChangeLog:
* dwarf2read.c (scan_partial_symbols): Add handling of
DW_TAG_constant DIEs.
(add_partial_symbol, load_partial_dies, new_symbol): Likewise.
gdb/testsuite/ChangeLog:
* gdb.dwarf2/dw2-const.S, gdb.dwarf2/dw2-const.exp: New files.
2010-09-22 16:15:34 +00:00
Doug Evans
4950bc1c0c
* dwarf2read.c (struct die_info): Fix comment.
2010-09-15 18:14:47 +00:00
Jan Kratochvil
a9e6a4bb4e
gdb/
...
* dwarf2read.c (dw2_map_ada_symtabs): Remove the internal_error.
Update the comment.
2010-09-14 21:28:53 +00:00
Ulrich Weigand
6afafb5482
* dwarf2read.c (fixup_partial_die): Do not set dummy name for
...
anonymous class partial DIEs.
2010-09-09 16:42:39 +00:00
Daniel Jacobowitz
60430eff89
* dwarf2read.c (dwarf2_compute_name): Check that the first
...
argument is a pointer.
2010-09-08 23:34:11 +00:00
Daniel Jacobowitz
f1078f667a
* dwarf2read.c (read_func_scope, read_structure_type)
...
(read_common_block): Check for a NULL return from new_symbol.
2010-09-08 23:14:52 +00:00
Jan Kratochvil
824308520b
gdb/
...
* dwarf2read.c (dwarf2_read_index): Return on no SEC_HAS_CONTENTS.
2010-09-08 19:49:28 +00:00
Daniel Jacobowitz
c767944bf2
gdb/
...
* dwarf2read.c (read_structure_type): Move processing of
fields and member functions from here...
(process_structure_scope): ... to here.
gdb/testsuite/
* gdb.cp/templates.cc (Empty, FunctionArg): New classes.
(FunctionArg::method): New function.
(empty, arg): New variables.
(main): Call arg.method.
* gdb.cp/templates.exp (test_template_args): New function.
(do_tests): Call it.
2010-09-08 19:09:43 +00:00
Tom Tromey
774b6a14e0
Revert:
...
2010-09-01 Tom Tromey <tromey@redhat.com>
* dwarf2read.c, gdbtypes.c, psymtab.c, symfile.h, symtab.c,
symtab.h: Revert earlier change.
2010-09-08 17:17:42 +00:00
Tom Tromey
faf68db746
* symtab.h (lookup_type_symbol): Declare.
...
* symtab.c (lookup_symbol_in_language_full): Rename from
lookup_symbol_in_language. Add 'for_type' argument.
(lookup_symbol_in_language): New function.
(lookup_type_symbol): Likewise.
(lookup_symbol_aux): Add 'for_type' argument.
(match_symbol_aux): New function.
(lookup_symbol_aux_symtabs): Use expand_one_symtab_matching.
(match_transparent_type): New function.
(basic_lookup_transparent_type): Use expand_one_symtab_matching.
* symfile.h (struct quick_symbol_functions)
<pre_expand_symtabs_matching>: Remove.
<expand_one_symtab_matching>: New field.
* psymtab.c (expand_one_symtab_matching_psymtabs): New function.
(pre_expand_symtabs_matching_psymtabs): Remove.
(psym_functions): Update.
* gdbtypes.c (lookup_typename): Use lookup_type_symbol.
* dwarf2read.c (dw2_lookup_symbol): Update comment.
(dw2_pre_expand_symtabs_matching): Remove.
(dw2_expand_one_symtab_matching): New function.
(dwarf2_gdb_index_functions): Update.
2010-09-01 21:50:26 +00:00
Tom Tromey
6438229074
PR c++/11961:
...
* dwarf2read.c (new_symbol_full) <DW_TAG_template_type_param>:
Don't set TYPE_NAME on the type.
2010-08-31 20:03:20 +00:00
Doug Evans
36374493cd
* dwarf2read.c (dw2_require_line_header): Read from .debug_types
...
as appropriate.
2010-08-27 23:09:58 +00:00
Tom Tromey
8b93c54cd7
* dwarf2read.c (dwarf2_attach_fields_to_type): Don't set
...
TYPE_FIELD_IGNORE_BITS.
2010-08-27 21:03:39 +00:00
Doug Evans
16be1145cb
* dwarf2read.c (dwarf2_per_objfile_free): Reorganize buffers to match
...
the order they're defined in. munmap .debug_types buffer.
2010-08-27 16:37:03 +00:00
Doug Evans
e254ef6a5f
* dwarf2read.c (dw2_require_full_path): Rename parameter cu to per_cu.
...
(dw2_forget_cached_source_info): Rename local cu to per_cu.
(dw2_lookup_symtab, dw2_do_expand_symtabs_matching): Ditto.
(dw2_print_stats, dw2_expand_all_symtabs): Ditto.
(dw2_expand_symtabs_with_filename, dw2_find_symbol_file): Ditto.
(dw2_find_symbol_file, dw2_expand_symtabs_matching): Ditto.
(dw2_map_symbol_filenames, dwarf2_initialize_objfile): Ditto.
(dwarf2_free_objfile, write_one_signatured_type): Ditto.
(write_psymtabs_to_index): Ditto.
2010-08-26 23:36:53 +00:00
Doug Evans
c6da4ceffb
* dwarf2read.c (dwarf2_build_include_psymtabs): Remove unnecessary
...
forward decl. Pass pst->dirname to dwarf_decode_lines.
(psymtab_include_file_name): New function.
(dwarf_decode_lines): Call it. Update comments.
2010-08-26 16:47:55 +00:00
Pedro Alves
cd02d79dc8
* dwarf2read.c (inherit_abstract_dies): Handle origin die's
...
compilation unit being different from target die's.
2010-08-25 18:20:07 +00:00
Doug Evans
673bfd454b
PR symtab/11942
...
* dwarf2read.c (dwarf2_per_objfile): New members debug_info_type_hash,
debug_types_type_hash.
(dwarf2_cu, dwarf2_per_cu_data): Delete member type_hash.
All uses updated.
(lookup_die_type): Renamed from tag_type_to_tag. First look in
appropriate type_hash table. All callers updated.
(allocate_signatured_type_table): Renamed from
allocate_signatured_type_hash_table. All callers updated.
(create_signatured_type_table_from_index): Renamed from
create_signatured_type_hash_from_index. All callers updated.
(read_die_type): Add comment. Move actual reading to ...
(read_die_type_1): ... here. New function.
(follow_die_ref_or_sig): Tweak comment.
(set_die_type): Rewrite to use appropriate choice of
debug_info_type_hash or debug_types_type_hash.
(get_die_type_at_offset): New function.
(get_die_type): Call it.
testsuite/
PR symtab/11942
* gdb.dwarf2/dw4-sig-types.cc: New file.
* gdb.dwarf2/dw4-sig-types.h: New file.
* gdb.dwarf2/dw4-sig-types-b.cc: New file.
* gdb.dwarf2/dw4-sig-types.exp: New file.
2010-08-25 00:09:14 +00:00
Doug Evans
e71ec85366
* dwarf2read.c (set_die_type): Fix typo in comment.
2010-08-23 21:49:26 +00:00
Doug Evans
9dc481d3a7
* dwarf2read.c (read_structure_type): Add comment.
...
(read_enumeration_type): Add comment.
(process_enumeration_scope): Move definition of some locals
closer to their use.
(read_namespace_type): Add comment.
2010-08-23 21:44:39 +00:00
Keith Seitz
3da10d80f8
PR symtab/11465:
...
* dwarf2read.c (struct delayed_method_info): New struct.
(struct dwarf2_cu): Add vector method_list.
(scan_partial_symbols): Count methods for union, class, structure,
and interface types.
(add_to_method_list): New function.
(free_delayed_list): New function.
(compute_delayed_physnames): New function.
(process_full_comp_unit): Make a cleanup for the CU's delayed
physname list, compute the delayed physnames, and free the
the list.
(dwarf2_add_member_fn): For C++ and Java, delay the computation
of the physname until after the CU is read.
* dwarf2read.c (read_structure_type): Check if the current
DIE's type was already completed after dwarf2_full_name
was called.
2010-08-20 17:16:44 +00:00
Doug Evans
f3574227a8
* gdb_assert.h (gdb_assert_not_reached): New macro.
...
(gdb_assert_fail): Fix typo in comment.
* avr-tdep.c (avr_return_value): Use gdb_assert_not_reached instead of
gdb_assert (0).
* darwin-nat.c (darwin_check_new_threads): Ditto.
* dwarf2read.c (dwarf2_get_section_info): Ditto.
(munmap_section_buffer): Ditto.
* m32c-tdep.c (make_types): Ditto.
(m32c_decode_srcdest4, m32c_decode_sd23, m32c_frame_base): Ditto.
* macroexp.c (get_character_constant): Ditto.
(get_string_literal): Ditto.
* mep-tdep.c (mep_pseudo_cr_size): Ditto.
(mep_pseudo_cr_index, mep_register_type): Ditto.
(mep_pseudo_register_read, mep_pseudo_register_write): Ditto.
(mep_get_insn, mep_analyze_prologue): Ditto.
* objfiles.c (qsort_cmp): Ditto.
* prologue-value.c (pv_is_identical): Ditto.
* record.c (record_get_loc): Ditto.
* value.c (value_static_field): Ditto.
* xtensa-tdep.c (call0_track_op): Ditto.
2010-08-18 19:13:33 +00:00
Hui Zhu
1d9ec526ee
2010-08-13 Hui Zhu <teawater@gmail.com>
...
* dwarf2read.c (load_partial_comp_unit): Initialize free_cu_cleanup.
(read_comp_unit): Initialize back_to.
2010-08-13 03:14:03 +00:00
Pedro Alves
98bfdba52e
2010-08-12 Daniel Jacobowitz <dan@codesourcery.com>
...
Pedro Alves <pedro@codesourcery.com>
* dwarf2read.c: Include "c-lang.h" and "valprint.h".
(struct dwarf2_per_objfile) <reading_partial_symbols>: New field.
(struct partial_die_info) <has_template_arguments>: New field.
<num_attrs>: Change type to unsigned char.
<building_fullname>: New field.
(dwarf2_build_psymtabs_hard): Set reading_partial_symbols. Only
allocate a CU if we don't have one already. Add a cleanup for the
CU.
(partial_die_full_name): Handle template arguments not in
DW_AT_name.
(dwarf2_psymtab_to_symtab): Clear reading_partial_symbols.
(load_full_comp_unit): Only allocate a CU if we don't have one
already.
(do_ui_file_peek_last): New.
(dwarf2_compute_name): Handle template parameters not in
DW_AT_name.
(read_comp_unit): Read and free abbrevs if not read yet.
(load_partial_dies): Handle template arguments not in DW_AT_name.
(find_partial_die): If we have a CU, but no a partial dies yet,
also read in the CU.
(dwarf2_const_value_attr): New, abstracted out from
dwarf2_const_value.
(dwarf2_const_value, dwarf2_const_value_data): Adjust to use
dwarf2_const_value_attr.
(determine_prefix): Detect and break loops created by RCVT's debug
info.
(maybe_queue_comp_unit): Bail out early if reading partial
symbols.
(follow_die_offset): Load full CU if we have no dies.
* dwarf2loc.c (dwarf2_evaluate_loc_desc): Make public.
* dwarf2loc.h (dwarf2_evaluate_loc_desc): Declare.
2010-08-12 19:55:38 +00:00
Sami Wagiaalla
e37fd15a52
Complete symbol construction before adding to pending list.
...
2010-08-09 Sami Wagiaalla <swagiaal@redhat.com>
* dwarf2read.c (new_symbol): Add symbol to variable list at end of
function after symbol construction is complete.
Do the same for template symbol addition to template_symbols list.
2010-08-09 20:34:06 +00:00
Sami Wagiaalla
33e5013ed2
create and use symbol_set_language.
...
2010-08-09 Sami Wagiaalla <swagiaal@redhat.com>
* symtab.h: Renamed SYMBOL_INIT_LANGUAGE_SPECIFIC to
SYMBOL_SET_LANGUAGE.
(symbol_init_language_specific): Renamed to symbol_set_language.
* symtab.c (symbol_init_language_specific): Removed redundant check
for language_cplus.
Renamed to symbol_set_language.
* stabsread.c (define_symbol): Updated.
(read_enum_type): Updated
* psymtab.c (add_psymbol_to_bcache): Updated.
* minsyms.c (install_minimal_symbols): Updated.
* coffread.c (process_coff_symbol): SYMBOL_SET_LANGUAGE instead of
SYMBOL_LANGUAGE to set the language.
* minsyms.c (prim_record_minimal_symbol_full): Ditto.
* mdebugread.c (new_symbol): Ditto.
* cp-namespace.c (check_one_possible_namespace_symbol): Ditto.
* dwarf2read.c (new_symbol_full): Ditto.
* jv-lang.c (add_class_symbol): Ditto.
2010-08-09 19:42:48 +00:00
Doug Evans
2de00c64c4
* dwarf2read.c (dwarf_attr_name): Add DW_AT_GNU_odr_signature.
2010-08-03 00:51:29 +00:00
Tom Tromey
053315c213
* dwarf2read.c (dwarf2_const_value_data): Never sign extend.
2010-07-28 20:05:03 +00:00
Pedro Alves
3ce3b1ba31
2010-07-28 Daniel Jacobowitz <dan@codesourcery.com>
...
gdb/
* dwarf2read.c (read_subroutine_type): Improve THIS detection,
handling DW_AT_object_pointer, and workaround GCC PR 43053.
gdb/testsuite/
* gdb.cp/member-ptr.exp, gdb.cp/printmethod.exp,
gdb.dwarf2/member-ptr-forwardref.exp: Adjust.
2010-07-28 19:04:08 +00:00
Tom Tromey
34eaf5422c
gdb
...
PR c++/9946:
* symfile.c (reread_symbols): Clear template_symbols.
* symtab.h (struct symbol) <is_cplus_template_function>: New
field.
(SYMBOL_IS_CPLUS_TEMPLATE_FUNCTION): New macro.
(struct template_symbol): New.
* symtab.c (lookup_symbol_aux_local): Use
cp_lookup_symbol_imports_or_template.
* objfiles.h (struct objfile) <template_symbols>: New field.
* objfiles.c (relocate_one_symbol): New function.
(objfile_relocate1): Use it. Relocate isolated symbols.
* gdbtypes.h (struct cplus_struct_type) <n_template_arguments,
template_arguments>: New fields.
(TYPE_N_TEMPLATE_ARGUMENTS): New macro.
(TYPE_TEMPLATE_ARGUMENTS): Likewise.
(TYPE_TEMPLATE_ARGUMENT): Likewise.
(lookup_typename): Update.
* gdbtypes.c (lookup_typename): Constify "block" argument.
* dwarf2read.c: Include vec.h.
(symbolp): New typedef.
(read_func_scope): Read template arguments. Allocate a
template_symbol when needed.
(read_structure_type): Read template arguments.
(new_symbol_full): New function, from new_symbol. Handle
DW_TAG_template_type_param and DW_TAG_template_value_param.
(new_symbol): Rewrite as wrapper.
* cp-support.h (cp_lookup_symbol_imports_or_template): Declare.
* cp-namespace.c: Include language.h.
(search_symbol_list): New function.
(cp_lookup_symbol_imports_or_template): Likewise.
gdb/testsuite
PR c++/9946:
* gdb.cp/temargs.exp: New file.
* gdb.cp/temargs.cc: New file.
2010-07-28 16:23:59 +00:00
Pedro Alves
9b1c24c8f7
* dwarf2read.c (read_string): Rename to ...
...
(read_direct_string): ... this.
(skip_one_die, read_attribute_value, dwarf_decode_line_header)
(dwarf_decode_lines, dwarf_decode_macros): Adjust.
2010-07-27 22:26:27 +00:00
Joel Brobecker
abebb8b041
ARI fix (trailing newline in warning message).
...
* dwarf2read.c (dw2_find_pc_sect_symtab): Remove trailing newline
in warning message.
2010-07-27 16:16:32 +00:00
Ken Werner
ac0b195c01
* valops.c (dwarf2_read_index): Initialize the types_list and types_list_elements variables.
2010-07-27 07:57:49 +00:00
Jerome Guitton
caac4577e5
gdb/
...
* dwarf2read.c (add_partial_symbol): Do not add a global variable if
its adress is null. Add comment to explain why.
(new_symbol): Ditto.
2010-07-26 09:30:00 +00:00
Tom Tromey
1fd400ffc4
* dwarf2read.c (struct dwarf2_per_objfile) <n_type_comp_units,
...
type_comp_units>: New fields.
(dw2_get_cu): New function.
(create_cus_from_index): Remove unused argument.
(create_signatured_type_hash_from_index): New function.
(create_addrmap_from_index): Update.
(dwarf2_read_index): Handle version 2.
(dw2_find_last_source_symtab, dw2_forget_cached_source_info)
(dw2_lookup_symtab, dw2_do_expand_symtabs_matching)
(dw2_print_stats, dw2_expand_all_symtabs)
(dw2_expand_symtabs_with_filename, dw2_find_symbol_file)
(dw2_expand_symtabs_matching, dw2_map_symbol_filenames): Update.
(dwarf2_initialize_objfile): Call create_debug_types_hash_table.
(allocate_signatured_type_hash_table): New function.
(add_signatured_type_cu_to_list): Likewise.
(create_debug_types_hash_table): Use them. Set type_comp_units.
(read_signatured_type): Ensure section data is available.
(add_address_entry): Don't record empty ranges.
(struct signatured_type_index_data): New.
(write_one_signatured_type): New function.
(write_psymtabs_to_index): Write type CUs.
(save_gdb_index_command): Update comment.
(process_type_comp_unit): Move inititalization of
from_debug_types...
(create_debug_types_hash_table): ... here.
2010-07-23 22:15:13 +00:00
Keith Seitz
8fd447e6d3
* dwarf2read.c: Remove unused typedef dwarf2_cu_per_cu_data_ptr
...
and vector definition.
2010-07-23 14:43:33 +00:00
Jan Kratochvil
96d19272e8
gdb/
...
* dwarf2read.c: Include completer.h.
(save_gdb_index_command): Use matching usage command name.
(_initialize_dwarf2_read): New variable c, initialize it by add_cmd.
Set filename_completer for it.
2010-07-22 16:24:38 +00:00
Tom Tromey
ca1f3406ef
* dwarf2read.c (create_debug_types_hash_table): Set objfile on
...
type signature's per-CU data.
2010-07-22 15:53:48 +00:00
Pedro Alves
23bd0f7c5e
gdb/
...
2010-07-21 Pedro Alves <pedro@codesourcery.com>
PR symtab/11827
Revert:
2010-05-21 Pierre Muller <muller@ics.u-strasbg.fr>
* dwarf2read.c (process_die): Also allow DW_TAG_const_type
and DW_TAG_volatile_type.
(new_symbol): Likewise.
gdb/testsuite/
2010-07-21 Pedro Alves <pedro@codesourcery.com>
PR symtab/11827
* gdb.base/printcmds.c (enum some_volatile_enum): New enum.
(some_volatile_enum): New variable.
* gdb.base/printcmds.exp (test_print_enums): New.
<top level>: Call it.
2010-07-21 18:08:27 +00:00
Sami Wagiaalla
29df156df4
Use allocated cplus_specific for cplus symbols.
...
2010-07-16 Sami Wagiaalla <swagiaal@redhat.com>
* symtab.h (symbol_set_demangled_name): Now takes an optional objfile*
argument.
(cplus_specific): New struct.
* symtab.c (symbol_set_demangled_name): Updated.
Use cplus_specific for cplus symbols.
(symbol_get_demangled_name): Retrive the name from the cplus_specific
struct for cplus symbols.
(symbol_init_language_specific): Set cplus_specific for cplus symbols.
(symbol_set_names): Pass objfile to symbol_set_demangled_name.
* symtab.c (symbol_init_cplus_specific): New function.
2010-07-16 19:23:56 +00:00
Sami Wagiaalla
b250c185b3
Use setter and getter for demangled_name.
...
2010-07-16 Sami Wagiaalla <swagiaal@redhat.com>
* symtab.h (symbol_set_demangled_name): New function.
(symbol_get_demangled_name): New function.
* symtab.c (symbol_set_demangled_name): New function.
(symbol_get_demangled_name): New function.
(symbol_init_language_specific): Use demangled_name setter and getter.
(symbol_set_names): Ditto.
(symbol_natural_name): Ditto.
(symbol_demangled_name): Ditto.
* dwarf2read.c (new_symbol): Ditto.
2010-07-16 19:00:56 +00:00
Sami Wagiaalla
afa1672571
Rename cplus_specific mangled_lang.
...
2010-07-16 Sami Wagiaalla <swagiaal@redhat.com>
* symtab.h: Renamed cplus_specific to mangled_lang.
* symtab.c (symbol_init_language_specific): Updated.
(symbol_set_names): Updated.
(symbol_natural_name): Updated.
(symbol_demangled_name): Updated.
* ada-lang.c (ada_decode_symbol): Updated.
* dwarf2read.c (new_symbol): Updated.
2010-07-16 18:39:10 +00:00
Tom Tromey
b3b272e108
* dwarf2read.c (dwarf2_read_index): Correctly set 'total_size'.
2010-07-13 22:02:05 +00:00
Tom Tromey
bb3fa9d02e
* dwarf2read.c (dwarf2_per_cu_text_offset): Fix reference to
...
objfile.
2010-07-13 21:06:48 +00:00
Tom Tromey
dd78685836
* symfile.c (set_initial_language): Update.
...
(deduce_language_from_filename): Argument type now const.
* symtab.h (find_main_filename): Update.
(deduce_language_from_filename): Update.
* symtab.c (find_main_filename): Make result const.
* dwarf2read.c (dw2_find_symbol_file): Change return type.
* psymtab.c (find_symbol_file_from_partial): Change return type.
* symfile.h (struct quick_symbol_functions) <find_symbol_file>:
Make result const.
2010-07-13 20:52:52 +00:00
Tom Tromey
9291a0cd80
gdb
...
* breakpoint.c (save_cmdlist): No longer static.
* gdbcmd.h (save_cmdlist): Declare.
* symfile.c (symbol_file_add_with_addrs_or_offsets): Set
OBJF_READNOW on objfile if readnow_symbol_files.
* elfread.c (elf_symfile_read): Use dwarf2_initialize_objfile.
(elf_sym_fns_gdb_index): New global.
* dwarf2read.c: Include exceptions.h.
(offset_type): New.
(struct mapped_index): New.
(dwarf2_per_cu_data_ptr): New typedef.
(struct dwarf2_per_objfile) <using_index, index_table, gdb_index>:
New fields.
(GDB_INDEX_SECTION): New define.
(struct dwarf2_per_cu_quick_data): New.
(struct dwarf2_per_cu_data) <objfile>: New field.
<psymtab>: Removed.
<v>: New field.
(byte_swap): New function.
(MAYBE_SWAP): New macro.
(INDEX_SUFFIX): New macro.
(dw2_do_instantiate_symtab): New function.
(dw2_instantiate_symtab): Likewise.
(create_cus_from_index): Likewise.
(create_addrmap_from_index): Likewise.
(mapped_index_string_hash): Likewise.
(find_slot_in_mapped_hash): Likewise.
(dwarf2_read_index): Likewise.
(dw2_setup): Likewise.
(dw2_require_line_header): Likewise.
(dw2_require_full_path): Likewise.
(dw2_find_last_source_symtab): Likewise.
(dw2_forget_cached_source_info): Likewise.
(dw2_lookup_symtab): Likewise.
(dw2_lookup_symbol): Likewise.
(dw2_do_expand_symtabs_matching): Likewise.
(dw2_pre_expand_symtabs_matching): Likewise.
(dw2_print_stats): Likewise.
(dw2_dump): Likewise.
(dw2_relocate): Likewise.
(dw2_expand_symtabs_for_function): Likewise.
(dw2_expand_all_symtabs): Likewise.
(dw2_expand_symtabs_with_filename): Likewise.
(dw2_find_symbol_file): Likewise.
(dw2_map_ada_symtabs): Likewise.
(dw2_expand_symtabs_matching): Likewise.
(dw2_find_pc_sect_symtab): Likewise.
(dw2_map_symbol_names): Likewise.
(dw2_map_symbol_filenames): Likewise.
(dw2_has_symbols): Likewise.
(dwarf2_gdb_index_functions): New global.
(dwarf2_initialize_objfile): New function.
(process_psymtab_comp_unit): Update.
(add_partial_subprogram): Likewise.
(dwarf2_psymtab_to_symtab): Likewise.
(psymtab_to_symtab_1): Use dw2_do_instantiate_symtab.
(process_full_comp_unit): Update.
(find_file_and_directory): New function.
(read_file_scope): Use find_file_and_directory.
(dwarf2_per_cu_objfile): Update.
(dwarf2_per_cu_addr_size): Update.
(dwarf2_per_cu_offset_size): Update.
(dwarf2_free_objfile): Free the index, if needed.
(dwarf2_per_objfile_free): Unmap the index, if needed.
(struct strtab_entry): New.
(hash_strtab_entry): New function.
(eq_strtab_entry): Likewise.
(create_strtab): Likewise.
(add_string): Likewise.
(struct symtab_index_entry): New.
(struct mapped_symtab): New.
(hash_symtab_entry): New function.
(eq_symtab_entry): Likewise.
(delete_symtab_entry): Likewise.
(create_index_table): Likewise.
(create_mapped_symtab): Likewise.
(cleanup_mapped_symtab): Likewise.
(find_slot): Likewise.
(hash_expand): Likewise.
(add_index_entry): Likewise.
(add_indices_to_cpool): Likewise.
(write_hash_table): Likewise.
(add_address_entry): Likewise.
(write_psymbols): Likewise.
(write_obstack): Likewise.
(unlink_if_set): Likewise.
(write_psymtabs_to_index): Likewise.
(save_gdb_index_command): Likewise.
(_initialize_dwarf2_read): Install "save gdb-index"
command.
(create_all_comp_units): Initialize 'objfile' field of CU.
(dwarf2_locate_sections): Check for .gdb_index.
* psymtab.h (dwarf2_gdb_index_functions): Declare.
* symfile.h (dwarf2_initialize_objfile): Declare.
gdb/doc
* gdb.texinfo (Index Files): New node.
2010-07-13 20:51:34 +00:00
Tom Tromey
0f5238edfd
gdb
...
PR breakpoints/8357:
* symtab.h (domain_enum_tag) <LABEL_DOMAIN>: Update comment.
* linespec.c (decode_line_1): Update comment. Call decode_label.
(decode_label): New function.
(symbol_found): Handle LOC_LABEL.
* dwarf2read.c (new_symbol) <DW_TAG_label>: Set symbol's type and
domain. Call add_symbol_to_list.
gdb/doc
* gdb.texinfo (Specify Location): Document labels.
gdb/testsuite
* gdb.base/label.exp: New file.
* gdb.base/label.c: New file.
2010-07-13 20:07:44 +00:00
Tom Tromey
9aa1f1e339
* dwarf2loc.h (dwarf2_per_cu_text_offset): Declare.
...
* dwarf2loc.c (find_location_expression): Use
dwarf2_per_cu_text_offset.
(dwarf2_evaluate_loc_desc): Likewise.
(dwarf2_loc_desc_needs_frame): Likewise.
(compile_dwarf_to_ax): Likewise.
(loclist_describe_location): Likewise.
* dwarf2read.c (dwarf2_per_cu_text_offset): New function.
(dwarf2_per_cu_objfile): Update comment.
2010-07-13 15:09:03 +00:00
Jan Kratochvil
953ac07ed7
gdb/
...
* dwarf2read.c (read_subrange_type): Call read_subrange_type.
* p-lang.c (pascal_printstr): Likewise.
2010-07-12 17:07:11 +00:00
Tom Tromey
ac56253dde
* dwarf2read.c (dwarf2_const_value) <DW_form_addr>: Create a
...
LOC_COMPUTED symbol.
* dwarf2loc.c (dwarf2_evaluate_loc_desc): Set new field.
(dwarf2_loc_desc_needs_frame): Likewise.
(compile_dwarf_to_ax) <DW_OP_addr>: Use offset.
* dwarf2expr.h (struct dwarf_expr_context) <offset>: New field.
* dwarf2expr.c (execute_stack_op) <DW_OP_addr>: Use offset.
* dwarf2-frame.c (execute_stack_op): Set 'offset' field. Add
'offset' argument.
(struct dwarf2_frame_cache) <text_offset>: New field.
(dwarf2_frame_cache): Set new field.
(dwarf2_frame_prev_register): Update.
(dwarf2_frame_sniffer): Update.
(dwarf2_frame_base_sniffer): Update.
(dwarf2_frame_find_fde): Add 'out_offset' argument.
2010-07-07 17:26:38 +00:00
Doug Evans
3863f96c20
PR gdb/11702
...
* dwarf2read.c (dwarf2_add_field): Only create a symbol if
DW_AT_external is present.
2010-06-30 05:39:23 +00:00
Doug Evans
254e6b9ed4
PR c++/11702
...
* NEWS: Add entry.
* dwarf2read.c (dwarf2_add_field): If DW_AT_const_value is present,
create a symbol for the field and record the value.
(new_symbol): Handle DW_TAG_member.
* gdbtypes.c (field_is_static): Remove FIXME.
* symtab.c (search_symbols): When searching for VARIABLES_DOMAIN,
only ignore LOC_CONST symbols that are enums.
testsuite/
Test PR c++/11702.
* gdb.cp/m-static.exp: Add testcase.
* gdb.cp/m-static.h (gnu_obj_4): Add initialized static const member.
2010-06-29 16:53:10 +00:00
Doug Evans
6e70227d64
* dwarf2read.c: Remove trailing whitespace.
2010-06-29 16:35:28 +00:00
Jan Kratochvil
a0d7a4ff13
gdb/
...
* dwarf2read.c (read_structure_type) <fi.typedef_field_list>: Call
ALLOCATE_CPLUS_STRUCT_TYPE.
2010-06-28 22:03:31 +00:00
Jan Kratochvil
98751a4113
gdb/
...
* c-typeprint.c (c_type_print_base): For no fields check include also
TYPE_TYPEDEF_FIELD_COUNT. Print new typedefs section.
* dwarf2read.c (struct typedef_field_list)
(struct field_info) <typedef_field_list, typedef_field_list_count>: New.
(dwarf2_add_typedef): New.
(read_structure_type): Call dwarf2_add_typedef for DW_TAG_typedef.
Copy also FI.TYPEDEF_FIELD_LIST.
* gdbtypes.h (struct typedef_field)
(struct cplus_struct_type) <typedef_field, typedef_field_count>
(TYPE_TYPEDEF_FIELD_ARRAY, TYPE_TYPEDEF_FIELD, TYPE_TYPEDEF_FIELD_NAME)
(TYPE_TYPEDEF_FIELD_TYPE, TYPE_TYPEDEF_FIELD_COUNT): New.
gdb/testsuite/
* gdb.cp/namespace.exp (ptype OtherFileClass typedefs)
(ptype ::C::OtherFileClass typedefs): New.
* gdb.cp/namespace1.cc (C::OtherFileClass::cOtherFileClassType2)
(C::OtherFileClass::cOtherFileClassVar2): New.
(C::OtherFileClass::cOtherFileClassVar_use): Use also
cOtherFileClassVar2.
(C::cOtherFileType2, C::cOtherFileVar2): New.
(C::cOtherFileVar_use): use also cOtherFileVar2.
* gdb.cp/userdef.exp (ptype &*c): Permit arbitrary trailing text.
2010-06-28 20:39:30 +00:00
Jan Kratochvil
9655fd1aec
gdb/
...
Fix modification of cplus_struct_default.
* dwarf2read.c (dwarf2_add_member_fn) <no DW_AT_vtable_elem_location>:
Call ALLOCATE_CPLUS_STRUCT_TYPE.
* gdbtypes.c (cplus_struct_default): New empty initializer, comment it.
gdb/testsuite/
* gdb.cp/virtbase.cc (class RTTI_base, class RTTI_data)
(main) <rtti_data>: New.
* gdb.cp/virtbase.exp (print rtti_data): New.
2010-06-28 20:12:53 +00:00