mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-26 01:07:52 +00:00
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.
This commit is contained in:
@@ -5841,6 +5841,7 @@ ada_make_symbol_completion_list (const char *text0, const char *word,
|
||||
struct block *b, *surrounding_static_block = 0;
|
||||
int i;
|
||||
struct block_iterator iter;
|
||||
struct cleanup *old_chain = make_cleanup (null_cleanup, NULL);
|
||||
|
||||
gdb_assert (code == TYPE_CODE_UNDEF);
|
||||
|
||||
@@ -5941,6 +5942,7 @@ ada_make_symbol_completion_list (const char *text0, const char *word,
|
||||
}
|
||||
}
|
||||
|
||||
do_cleanups (old_chain);
|
||||
return completions;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user