* eval.c (evaluate_struct_tuple): Skip static fields.
gdb/testsuite/
	* gdb.cp/bs15503.exp: Update comment for no longer crashing
	test.
This commit is contained in:
Daniel Jacobowitz 2006-07-20 22:50:07 +00:00
parent d5f010e93b
commit 16963cb64b
4 changed files with 16 additions and 3 deletions

View File

@ -1,3 +1,7 @@
2006-07-20 Daniel Jacobowitz <dan@codesourcery.com>
* eval.c (evaluate_struct_tuple): Skip static fields.
2006-07-19 Mark Kettenis <kettenis@gnu.org>
* alphaobsd-tdep.c: Include "obsd-tdep.h".

View File

@ -283,6 +283,10 @@ evaluate_struct_tuple (struct value *struct_val,
if (variantno < 0)
{
fieldno++;
/* Skip static fields. */
while (fieldno < TYPE_NFIELDS (struct_type)
&& TYPE_FIELD_STATIC_KIND (struct_type, fieldno))
fieldno++;
subfieldno = fieldno;
if (fieldno >= TYPE_NFIELDS (struct_type))
error (_("too many initializers"));

View File

@ -1,3 +1,8 @@
2006-07-20 Daniel Jacobowitz <dan@codesourcery.com>
* gdb.cp/bs15503.exp: Update comment for no longer crashing
test.
2006-07-19 Andrew Stubbs <andrew.stubbs@st.com>
* gdb.base/ifelse.exp: Remove troublesome 'got here' messages.

View File

@ -83,11 +83,11 @@ gdb_test "print (const char *) s" \
# gdb_test "print s > "AAA" "\\$\[0-9\]+ = true"
# gdb_test "print s < "ZZZ" "\\$\[0-9\]+ = true"
# TODO crash gdb! This is going to be a great test!
# -- chastain 2004-01-07
# TODO: GDB doesn't know to convert the string to a const char *, and
# instead tries to use the string as a structure initializer.
#
# gdb_test "print s == \"I am a short stringand now a longer string\"" \
# "\\$\[0-9\]+ = "true"
# "\\$\[0-9\]+ = true"
gdb_test "print (const char *) s.substr(0,4)" "\\$\[0-9\]+ = $hex \"I am\""
gdb_test "print (const char *) (s=s.substr(0,4))" \