diff options
author | Joel Brobecker <brobecker@gnat.com> | 2013-05-16 07:02:43 +0000 |
---|---|---|
committer | Joel Brobecker <brobecker@gnat.com> | 2013-05-16 07:02:43 +0000 |
commit | b8fea896feba38994f3889cfcae047730b78eba4 (patch) | |
tree | a277eaa702488a790b54ad2b9f58588f39c67e35 /gdb/testsuite/gdb.ada/complete.exp | |
parent | d5c48113b656f1f2bd67d64a44d2b6c8cc50e8d9 (diff) | |
download | binutils-gdb-b8fea896feba38994f3889cfcae047730b78eba4.tar.gz |
Missing do_cleanups in ada_make_symbol_completion_list.
This results in an internal-warning when trying the completion
when in Ada mode:
(gdb) b simple<TAB>
/[...]/cleanups.c:265: internal-warning: restore_my_cleanups has found a stale cleanup
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n)
gdb/ChangeLog:
* ada-lang.c (ada_make_symbol_completion_list): Make sure
all cleanups are done before returning from this function.
gdb/testsuite/ChangeLog:
* gdb.ada/complete.exp: Add test verifying completion using
the "tab" key.
Diffstat (limited to 'gdb/testsuite/gdb.ada/complete.exp')
-rw-r--r-- | gdb/testsuite/gdb.ada/complete.exp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/gdb/testsuite/gdb.ada/complete.exp b/gdb/testsuite/gdb.ada/complete.exp index 973e20b8e14..91859085e06 100644 --- a/gdb/testsuite/gdb.ada/complete.exp +++ b/gdb/testsuite/gdb.ada/complete.exp @@ -175,4 +175,19 @@ test_gdb_complete "pck." \ test_gdb_complete "<pck__my" \ "p <pck__my_global_variable>" - +# Very simple completion, but using the interactive form, this time. +# The verification we are trying to make involves the event loop, +# and using the "complete" command is not sufficient to reproduce +# the original problem. +set test "interactive complete 'print some'" +send_gdb "print some\t" +gdb_test_multiple "" "$test" { + -re "^print some_local_variable $" { + send_gdb "\n" + gdb_test_multiple "" "$test" { + -re " = 1$eol$gdb_prompt $" { + pass "$test" + } + } + } +} |