* 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.
enable pretty-printer, disable pretty-printer.
* NEWS: Mention them.
* data-directory/Makefile.in (PYTHON_FILES): Add gdb/printing.py,
gdb/command/__init__.py, gdb/command/pretty_printers.py.
* python/lib/gdb/__init__.py: Install pretty-printer commands.
* python/lib/gdb/printing.py: New file.
* python/lib/gdb/command/__init__.py: New file.
* python/lib/gdb/command/pretty_printers.py: New file.
doc/
* gdb.texinfo (Pretty Printing): Expand into three sections,
introduction, example, and commands.
(Python API): Delete section Disabling Pretty-Printers, merge into
Selecting Pretty-Printers.
(Writing a Pretty-Printer): New section. Move the pretty-printer
example here, and reformat to match python coding style. Add a second
example using the gdb.printing module.
(Python modules): Add gdb.printing.
testsuite/
* gdb.python/py-pp-maint.c: New file.
* gdb.python/py-pp-maint.exp: New file.
* gdb.python/py-pp-maint.py: New file.
(gdb_init): Add a comment regarding initialize_all_files.
Call finish_python_initialization at the end.
* python/python.h (finish_python_initialization): Declare.
* python/python.c (finish_python_initialization): New function.
(_initialize_python): Move python-implemented initialization there
and call it.
(GdbMethods): Use #ifdef HAVE_PYTHON for consistency.
Revert:
2010-10-17 Jan Kratochvil <jan.kratochvil@redhat.com>
Pedro Alves <pedro@codesourcery.com>
* gdbthread.h (currently_stepping): New declaration.
* infrun.c (currently_stepping): Remove the forward declaration.
(currently_stepping): Make it global.
* linux-nat.c (resume_callback) <lp->stopped && lp->status == 0>: New
variables tp and step, initialized them. Pass STEP to to_resume.
Print also possibly "PTRACE_SINGLESTEP" if STEP. Initialize LP->STEP.
* remote.c (currently_stepping_callback): New.
(remote_vcont_resume)
<ptid_equal (ptid, minus_one_ptid) || ptid_is_pid (ptid)>:
New variable tp. Call currently_stepping_callback and step such
thread.
gdb/testsuite/
Revert:
2010-10-17 Jan Kratochvil <jan.kratochvil@redhat.com>
* gdb.threads/sigstep-threads.exp: New file.
* gdb.threads/sigstep-threads.c: New file.
There were two types of errors, mostly compiler warnings:
1. _FILE_OFFSET_BITS being redefined in pyconfig.h;
This is a problem we're familiar with, having seen similar
issues on GNU/Linux systems. I used a similar solution.
2. GCC 4.5 complains that calls to PyEval_InitThreads and
PyEval_ReleaseLock have no effect. This is because our Python
is built without thread support, leading us to use the dummy
#define in python-internal.h which just gets replaced by `0'.
Since this function returns void (checked versions 2.4 and 2.7),
I simply removed the 0.
gdb/ChangeLog:
python/python-internal.h (_FILE_OFFSET_BITS): Undefine.
(PyEval_InitThreads): Remove duplicate. Define as nothing.
(PyEval_ReleaseLock): Define as nothing.
This change gets rid of an ARI warning which was recently introduced
by one of our changes.
gdb/ChangeLog:
* dictionary.c (dict_hash): Move assignment out of if condition.
recursively invoke make for install-only.
* data-directory/Makefile.in: Add FLAGS_TO_PASS variable.
(install): Pass FLAGS_TO_PASS when recursively make install-only.
gdbserver/
* Makefile.in: Add FLAGS_TO_PASS variable.
(install): Remove dependency of install-only and recursively
invoke make for install-only.
All references updated. Correct sections marked as subsections.
(Coding Standards): New chapter. Move the coding standard related
subsections here. Add section on Python coding standards.
Original changelog:
Support overloading of 'operator->'.
[...]
2010-10-19 Sami Wagiaalla <swagiaal@redhat.com>
* gdb.cp/smartp.exp: New test.
* gdb.cp/smartp.cc : New test.
2010-10-19 Sami Wagiaalla <swagiaal@redhat.com>
* gdbtypes.h: Introduce BOOL_PTR_CONVERSION_BADNESS.
* gdbtypes.c (rank_one_type): Use BOOL_PTR_CONVERSION_BADNESS
for conversion.
Make all other conversions illegal.
2010-10-19 Sami Wagiaalla <swagiaal@redhat.com>
* gdb.cp/converts.exp: Test pointer to bool conversion.
Test pointer to long conversion.
* gdb.cp/oranking.exp: Removed relevant kfail.
* valprint.c (val_print_string): Pass 'encoding' to
LA_PRINT_STRING.
gdb/testsuite
* gdb.python/py-prettyprint.exp (run_lang_tests): Test encoding
argument to lazy_string.
* gdb.python/py-prettyprint.py (pp_ls_encoding): New global.
(pp_ls.to_string): Use it.
* gdb.python/py-prettyprint.c (main): Move declarations to top.
Add "estring2" local.
Fix s390x compatibility.
* gdb.dwarf2/pr11465.S (DW_TAG_pointer_type): Use PTRBITS. Twice.
* gdb.dwarf2/pr11465.exp: Set ptrbits, use it for -DPTRBITS.
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.
* infrun.c (follow_exec): Replace symbol_file_add_main by
symbol_file_add with SYMFILE_DEFER_BP_RESET, set_initial_language and
breakpoint_re_set.
* m32r-rom.c (m32r_load, m32r_upload_command): Use parameter 0 for
clear_symtab_users.
* objfiles.c (free_all_objfiles): Likewise.
* remote-m32r-sdi.c (m32r_load): Likewise.
* solib-som.c (som_solib_create_inferior_hook): Likewise.
* symfile.c (new_symfile_objfile): New comment for add_flags. Call
clear_symtab_users with ADD_FLAGS.
(reread_symbols): Use parameter 0 for clear_symtab_users.
(clear_symtab_users): New parameter add_flags. Do not call
breakpoint_re_set if SYMFILE_DEFER_BP_RESET.
(clear_symtab_users_cleanup): Use parameter 0 for clear_symtab_users.
* symtab.h (clear_symtab_users): New parameter add_flags.
gdb/testsuite/
* gdb.base/pie-execl.exp: New file.
* gdb.base/pie-execl.c: New file.