diff options
author | Jan Kratochvil <jan.kratochvil@redhat.com> | 2009-04-29 07:51:33 +0000 |
---|---|---|
committer | Jan Kratochvil <jan.kratochvil@redhat.com> | 2009-04-29 07:51:33 +0000 |
commit | 484086b7e06069d8bc3dce0dd428d3b9fcf9053b (patch) | |
tree | 8d51f43b16ca977ef476479ed0fa190823bea2b7 /gdb/testsuite | |
parent | 8e58566ff2d15055f984eed93bb261de97f5d509 (diff) | |
download | gdb-484086b7e06069d8bc3dce0dd428d3b9fcf9053b.zip gdb-484086b7e06069d8bc3dce0dd428d3b9fcf9053b.tar.gz gdb-484086b7e06069d8bc3dce0dd428d3b9fcf9053b.tar.bz2 |
gdb/
* macrocmd.c (info_macro_command): Print -Dname=value if LINE is zero.
gdb/doc/
* gdb.texinfo (Macros): Note command-line for `info macro'. Append
a new part on command-line defined macros.
gdb/testsuite/
* gdb.base/macscp.exp: New `options' parameter `-DFROM_COMMANDLINE'.
(info_macro): Remova `decimal' declaration. New variable `nonzero'.
Replace all uses of `decimal' by `nonzero'.
(info macro FROM_COMMANDLINE): New test.
Diffstat (limited to 'gdb/testsuite')
-rw-r--r-- | gdb/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/macscp.exp | 18 |
2 files changed, 20 insertions, 5 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 61aee21..11e4815 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2009-04-29 Jan Kratochvil <jan.kratochvil@redhat.com> + + * gdb.base/macscp.exp: New `options' parameter `-DFROM_COMMANDLINE'. + (info_macro): Remova `decimal' declaration. New variable `nonzero'. + Replace all uses of `decimal' by `nonzero'. + (info macro FROM_COMMANDLINE): New test. + 2009-04-27 Tom Tromey <tromey@redhat.com> * gdb.base/printcmds.exp (test_printf): Test comma operator in []. diff --git a/gdb/testsuite/gdb.base/macscp.exp b/gdb/testsuite/gdb.base/macscp.exp index 7086e90..351c0ec 100644 --- a/gdb/testsuite/gdb.base/macscp.exp +++ b/gdb/testsuite/gdb.base/macscp.exp @@ -26,7 +26,7 @@ set testfile "macscp" set objfile ${objdir}/${subdir}/${testfile}.o set binfile ${objdir}/${subdir}/${testfile} -set options { debug } +set options { debug additional_flags=-DFROM_COMMANDLINE=ARG} get_compiler_info ${binfile} if [test_compiler_info gcc*] { @@ -67,19 +67,22 @@ gdb_load ${binfile} proc info_macro {macro} { global gdb_prompt - global decimal set filepat {macscp[0-9]+\.[ch]} set definition {} set location {} + # Line number zero is set for macros defined from the compiler command-line. + # Such macros are not being tested by this function. + set nonzero {[1-9][0-9]*} + send_gdb "info macro ${macro}\n" set debug_me 0 if {$debug_me} {exp_internal 1} gdb_expect { - -re "Defined at \[^\r\n\]*(${filepat}):${decimal}\[\r\n\]" { + -re "Defined at \[^\r\n\]*(${filepat}):${nonzero}\[\r\n\]" { # `location' and `definition' should be empty when we see # this message. if {[llength $location] == 0 && [llength $definition] == 0} { @@ -101,7 +104,7 @@ proc info_macro {macro} { set definition {} } } - -re "^\[\r\n\]* included at \[^\r\n\]*(${filepat}):${decimal}\[\r\n\]" { + -re "^\[\r\n\]* included at \[^\r\n\]*(${filepat}):${nonzero}\[\r\n\]" { # `location' should *not* be empty when we see this # message. It should have recorded at least the initial # `Defined at ' message (for definitions) or ` at' message @@ -114,7 +117,7 @@ proc info_macro {macro} { set definition {} } } - -re "^\[\r\n\]*at \[^\r\n\]*(${filepat}):${decimal}\[\r\n\]" { + -re "^\[\r\n\]*at \[^\r\n\]*(${filepat}):${nonzero}\[\r\n\]" { # This appears after a `has no definition' message. # `location' should be empty when we see it. if {[string compare $definition undefined] == 0 \ @@ -205,6 +208,11 @@ list_and_check_macro macscp2_2 WHERE {macscp2.h macscp1.c {before macscp2_2}} list_and_check_macro macscp3_2 WHERE {macscp3.h macscp1.c {before macscp3_2}} +# Assuming the current position inside program by `list' from above. +gdb_test "info macro FROM_COMMANDLINE" \ + "Defined at \[^\r\n\]*:0\r\n-DFROM_COMMANDLINE=ARG" + + # Although GDB's macro table structures distinguish between multiple # #inclusions of the same file, GDB's other structures don't. So the # `list' command here doesn't reliably select one #inclusion or the |