diff options
author | Denis Pilat <denis.pilat@st.com> | 2007-02-13 08:15:49 +0000 |
---|---|---|
committer | Denis Pilat <denis.pilat@st.com> | 2007-02-13 08:15:49 +0000 |
commit | 8756216bc74d2a014779aaebf3cbb6f220cc4583 (patch) | |
tree | 3d8f139c33a1ab5110aac49188048e58f9963c00 /gdb/symfile.c | |
parent | b1e374737bca6da4311e2be8b0cc9133599dfad1 (diff) | |
download | gdb-8756216bc74d2a014779aaebf3cbb6f220cc4583.zip gdb-8756216bc74d2a014779aaebf3cbb6f220cc4583.tar.gz gdb-8756216bc74d2a014779aaebf3cbb6f220cc4583.tar.bz2 |
2007-02-13 Denis Pilat <denis.pilat@st.com>
* varobj.h (enum varobj_update_error): New enum.
* varobj.c (struct varobj_root): Add is_valid member.
(varobj_get_type): Check for invalid varobj.
(varobj_get_attributes): Likewise.
(variable_editable):Likewise.
(varobj_update): Likewise. Use varobj_update_error.
(new_root_variable): Set root varobj as valid by default.
(varobj_invalidate): New function.
* symfile.c (clear_symtab_users): Use varobj_invalidate.
* mi/mi-cmd-var.c (varobj_update_one): Change return type to void.
Use varobj_update_error.
Diffstat (limited to 'gdb/symfile.c')
-rw-r--r-- | gdb/symfile.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gdb/symfile.c b/gdb/symfile.c index 1e7733b..d8ca7ca 100644 --- a/gdb/symfile.c +++ b/gdb/symfile.c @@ -52,6 +52,7 @@ #include "observer.h" #include "exec.h" #include "parser-defs.h" +#include "varobj.h" #include <sys/types.h> #include <fcntl.h> @@ -2602,6 +2603,10 @@ clear_symtab_users (void) between expressions and which ought to be reset each time. */ expression_context_block = NULL; innermost_block = NULL; + + /* Varobj may refer to old symbols, perform a cleanup. */ + varobj_invalidate (); + } static void |