* varobj.c (varobj_create): Keep varobj value
NULL when evaluating the type.
This commit is contained in:
parent
a73bafbcaa
commit
e55dccf02d
2 changed files with 14 additions and 5 deletions
|
@ -1,3 +1,8 @@
|
|||
2007-04-01 Vladimir Prus <vladimir@codesourcery.com>
|
||||
|
||||
* varobj.c (varobj_create): Keep varobj value
|
||||
NULL when evaluating the type.
|
||||
|
||||
2007-03-31 Pedro Alves <pedro_alves@portugalmail.pt>
|
||||
|
||||
* NEWS: Mention new Windows CE support.
|
||||
|
|
14
gdb/varobj.c
14
gdb/varobj.c
|
@ -433,7 +433,7 @@ varobj_create (char *objname,
|
|||
{
|
||||
char *p;
|
||||
enum varobj_languages lang;
|
||||
struct value *value;
|
||||
struct value *value = NULL;
|
||||
|
||||
/* Parse and evaluate the expression, filling in as much
|
||||
of the variable's data as possible */
|
||||
|
@ -495,11 +495,15 @@ varobj_create (char *objname,
|
|||
If evaluate_expression succeeds we got the value we wanted.
|
||||
But if it fails, we still go on with a call to evaluate_type() */
|
||||
if (!gdb_evaluate_expression (var->root->exp, &value))
|
||||
/* Error getting the value. Try to at least get the
|
||||
right type. */
|
||||
value = evaluate_type (var->root->exp);
|
||||
{
|
||||
/* Error getting the value. Try to at least get the
|
||||
right type. */
|
||||
struct value *type_only_value = evaluate_type (var->root->exp);
|
||||
var->type = value_type (type_only_value);
|
||||
}
|
||||
else
|
||||
var->type = value_type (value);
|
||||
|
||||
var->type = value_type (value);
|
||||
install_new_value (var, value, 1 /* Initial assignment */);
|
||||
|
||||
/* Set language info */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue