]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit - gdb/testsuite/gdb.base/macscp.exp
gdb
authorTom Tromey <tromey@redhat.com>
Fri, 18 Jul 2008 20:55:33 +0000 (20:55 +0000)
committerTom Tromey <tromey@redhat.com>
Fri, 18 Jul 2008 20:55:33 +0000 (20:55 +0000)
commitd7d9f01ea18f14a9a1574042bd65dd73f9b6b2b8
tree350b57eb105730c6e52b961f7c55b0821f6b222e
parenta9dc948127c2cb5127cec5ca87dbc19f17dd16cf
gdb
PR gdb/855:
* NEWS: Add entry for macro commands.
* Makefile.in (macrocmd.o): Add gdb_string.h.
* macroscope.h (user_macro_scope): Declare.
(default_macro_scope): Update documentation.
(macro_user_macros): Declare.
* c-lang.c (c_preprocess_and_parse): Always attempt macro lookup.
Use user_macro_scope.
(null_macro_lookup): Remove.
* macrotab.h (macro_callback_fn): Declare.
(macro_for_each): Likewise.
(macro_allow_redefinitions): Likewise.
* macrotab.c (foreach_macro): New function
(macro_for_each): Likewise.
(struct macro_table) <redef_ok>: New field.
(macro_allow_redefinitions): New function.
(new_macro_table): Update.
(macro_define_function): Likewise.
(macro_define_object): Likewise.
* macroscope.c (user_macro_scope): New function.
(default_macro_scope): Use it.
(macro_user_macros): New global.
(standard_macro_lookup): Look in macro_user_macros.
(_initialize_macroscope): New function.
* macroexp.h (macro_is_whitespace, macro_is_digit,
macro_is_identifier_nondigit): Declare.
* macroexp.c (macro_is_whitespace): Rename.  No longer static.
(macro_is_digit): Likewise.
(macro_is_identifier_nondigit): Likewise.
(get_identifier): Update.
(get_pp_number): Likewise.
(get_token): Likewise.
* macrocmd.c (skip_ws): New function.
(extract_identifier): Likewise.
(free_macro_definition_ptr): Likewise.
(user_macros): Remove.
(macro_define_command): Implement.
(_initialize_macrocmd): Update.
(macro_undef_command): Implement.
(print_one_macro): New function.
(macro_list_command): Implement.
gdb/doc
* gdb.texinfo (Macros): Update.  Use @code rather than @command.
gdb/testsuite
* gdb.base/macscp.exp: Add macro tests.
15 files changed:
gdb/ChangeLog
gdb/Makefile.in
gdb/NEWS
gdb/c-lang.c
gdb/doc/ChangeLog
gdb/doc/gdb.texinfo
gdb/macrocmd.c
gdb/macroexp.c
gdb/macroexp.h
gdb/macroscope.c
gdb/macroscope.h
gdb/macrotab.c
gdb/macrotab.h
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/macscp.exp