aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/amd64-tdep.c3
-rw-r--r--gdb/testsuite/ChangeLog6
-rw-r--r--gdb/testsuite/gdb.base/infcall-nested-structs.exp18
4 files changed, 21 insertions, 12 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 3827c4d..eeba0ee 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+2019-10-16 Tom de Vries <tdevries@suse.de>
+
+ PR tdep/24104
+ * amd64-tdep.c (amd64_push_arguments): Handle AMD64_NO_CLASS in loop
+ that handles 'theclass'.
+
2019-10-15 Andrew Burgess <andrew.burgess@embecosm.com>
* linespec.c (decode_digits_ordinary): Update comment.
diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c
index 232d16d..9006ec0 100644
--- a/gdb/amd64-tdep.c
+++ b/gdb/amd64-tdep.c
@@ -978,6 +978,9 @@ if (return_method == return_method_struct)
offset = 8;
break;
+ case AMD64_NO_CLASS:
+ continue;
+
default:
gdb_assert (!"Unexpected register class.");
}
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 877d0de..3277ee3 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,11 @@
2019-10-16 Tom de Vries <tdevries@suse.de>
+ PR tdep/24104
+ * gdb.base/infcall-nested-structs.exp: Remove XFAIL for PR tdep/24104.
+ Add KFAIL for PR tdep/25096.
+
+2019-10-16 Tom de Vries <tdevries@suse.de>
+
PR testsuite/25059
* gdb.cp/local-static.exp (do_test): Add xfails for gcc PR debug/55541.
diff --git a/gdb/testsuite/gdb.base/infcall-nested-structs.exp b/gdb/testsuite/gdb.base/infcall-nested-structs.exp
index f5fbf44..957eb31 100644
--- a/gdb/testsuite/gdb.base/infcall-nested-structs.exp
+++ b/gdb/testsuite/gdb.base/infcall-nested-structs.exp
@@ -132,16 +132,9 @@ proc run_tests { lang types } {
continue
}
- if { $lang == "c++"
- && ( ( [regexp "struct_01_0(1|2|3)" $name match] && [regexp "^types-(td($|-)|tl(|l)(|-tf|-td|-tld)$)" $types match] )
- || ( $name == "struct_01_02" && $types == "types-tfc" )
- || ( $name == "struct_01_04" && [regexp "^types-(tf($|-)|ti(|-tf|-td|-tld)$)" $types match] )
- || ( $name == "struct_02_01" && [regexp "^types-tf-t(c|s|i)" $types match] )
- || ( $name == "struct_static_02_02" && [regexp "^types-(t(f|d|ld)-t(d|l|ll)$|t(d|l|ll)$|t(c|s|i|l|ll)-td)" $types match] )
- || ( $name == "struct_static_02_03" && [regexp "^types-(ti-t(f|l|d|)|tf(-|$)|ti$)" $types match] )
- || ( $name == "struct_static_04_02" && [regexp "^types-(t(c|s)-tf|tf-ts)" $types match] )
- || ( $name == "struct_static_06_04" && ![regexp "^types-(t(c|dc|ldc|ld)$|t.-tld|tl(l|d)-tld|t(f|d|ld)-tc)" $types match] ) ) } {
- setup_xfail gdb/24104 "x86_64-*-linux*"
+ if { $lang == "c++" && $name == "struct_02_01"
+ && [regexp "^types-(tf-t(c|s|i)|t(c|s|i)-tf)" $types match] } {
+ setup_kfail gdb/25096 "x86_64-*-linux*"
}
gdb_test "p/d check_arg_${name} (ref_val_${name})" "= 1"
@@ -154,8 +147,9 @@ proc run_tests { lang types } {
set answer [ get_valueof "" "rtn_str_${name} ()" "XXXX"]
verbose -log "Answer: ${answer}"
- if { ($lang == "c++" && $name == "struct_02_01" && [regexp "^types-(tf-t(c|s|i)|t(c|s|i)-tf)" $types match] ) } {
- setup_xfail gdb/24104 "x86_64-*-linux*"
+ if { $lang == "c++" && $name == "struct_02_01"
+ && [regexp "^types-(tf-t(c|s|i)|t(c|s|i)-tf)" $types match] } {
+ setup_kfail gdb/25096 "x86_64-*-linux*"
}
gdb_assert [string eq ${answer} ${refval}] ${test}
} else {