Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Tom de Vries <tdevries@suse.de>
To: gdb-patches@sourceware.org
Cc: Tom Tromey <tom@tromey.com>
Subject: [committed][gdb/testsuite] Add xfail for PR gcc/101633
Date: Tue, 27 Jul 2021 17:04:05 +0200	[thread overview]
Message-ID: <20210727150404.GA18280@delia> (raw)

Hi,

With gcc 7.5.0, I run into:
...
(gdb) print objects^M
$1 = ((tag => object, values => ()), (tag => unused))^M
(gdb) FAIL: gdb.ada/array_of_variant.exp: scenario=minimal: print entire array
...
while with gcc 8.5.0 we have:
...
(gdb) print objects^M
$1 = ((tag => object, values => (2, 2, 2, 2, 2)), (tag => unused))^M
(gdb) PASS: gdb.ada/array_of_variant.exp: scenario=minimal: print entire array
...

This is due to a gcc PR, which I've filed at
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101633 "Bug 101633 - [debug]
DW_TAG_subrange_type missing DW_AT_upper_bound".

Fix by marking this and related FAILs as XFAIL.

Tested on x86_64-linux.

Committed to trunk.

Thanks,
- Tom

[gdb/testsuite] Add xfail for PR gcc/101633

gdb/ChangeLog:

2021-07-27  Tom de Vries  <tdevries@suse.de>

	PR testsuite/26903
	* gdb/testsuite/gdb.ada/array_of_variant.exp: Add xfails.

---
 gdb/testsuite/gdb.ada/array_of_variant.exp | 53 +++++++++++++++++++++++-------
 1 file changed, 42 insertions(+), 11 deletions(-)

diff --git a/gdb/testsuite/gdb.ada/array_of_variant.exp b/gdb/testsuite/gdb.ada/array_of_variant.exp
index d93ad4704a0..6372e2cf354 100644
--- a/gdb/testsuite/gdb.ada/array_of_variant.exp
+++ b/gdb/testsuite/gdb.ada/array_of_variant.exp
@@ -20,6 +20,29 @@ if { [skip_ada_tests] } { return -1 }
 
 standard_ada_testfile p
 
+if [get_compiler_info] {
+    return -1
+}
+set old_gcc [expr [test_compiler_info {gcc-[0-7]-*}]]
+
+proc gdb_test_with_xfail { cmd re re_xfail msg } {
+    global scenario old_gcc
+    set have_xfail [expr $old_gcc && [string equal "$scenario" "minimal"]]
+
+    gdb_test_multiple $cmd $msg {
+	-re -wrap $re  {
+	    pass $gdb_test_name
+	}
+	-re -wrap $re_xfail {
+	    if { $have_xfail } {
+		# gcc/101633
+		setup_xfail *-*-*
+	    }
+	    fail $gdb_test_name
+	}
+    }
+}
+
 foreach_with_prefix scenario {all minimal} {
     set flags [list debug additional_flags=-fgnat-encodings=$scenario]
 
@@ -33,17 +56,23 @@ foreach_with_prefix scenario {all minimal} {
     runto "p.adb:$bp_location"
 
     set v1 "(tag => object, values => (2, 2, 2, 2, 2))"
+    set v1_xfail "(tag => object, values => ())"
     set v2 "(tag => unused)"
 
-    gdb_test "print objects" \
-	[string_to_regexp " = ($v1, $v2)"] \
-	"print entire array"
-    gdb_test "print objects(1)" \
-	[string_to_regexp " = $v1"] \
+    set re [string_to_regexp " = ($v1, $v2)"]
+    set re_xfail [string_to_regexp " = ($v1_xfail, $v2)"]
+    gdb_test_with_xfail "print objects" $re $re_xfail "print entire array"
+
+    set re [string_to_regexp " = $v1"]
+    set re_xfail [string_to_regexp " = $v1_xfail"]
+    gdb_test_with_xfail "print objects(1)" $re $re_xfail \
 	"print first array element"
-    gdb_test "print objects(1 .. 1)" \
-	[string_to_regexp " = ($v1)"] \
+
+    set re [string_to_regexp " = ($v1)"]
+    set re_xfail [string_to_regexp " = ($v1_xfail)"]
+    gdb_test_with_xfail "print objects(1 .. 1)" $re $re_xfail \
 	"print first array slice"
+
     gdb_test "print objects(2)" \
 	[string_to_regexp " = $v2"] \
 	"print second array element"
@@ -56,11 +85,13 @@ foreach_with_prefix scenario {all minimal} {
 	gdb_test_no_output \
 	    "python o = gdb.parse_and_eval('objects')" \
 	    "fetch value for python"
-	gdb_test "python print(o)" \
-	    [string_to_regexp "($v1, $v2)"] \
+	set re [string_to_regexp "($v1, $v2)"]
+	set re_xfail [string_to_regexp "($v1_xfail, $v2)"]
+	gdb_test_with_xfail "python print(o)" $re $re_xfail \
 	    "python print array"
-	gdb_test "python print(o\[1\])" \
-	    [string_to_regexp "$v1"] \
+	set re [string_to_regexp "$v1"]
+	set re_xfail [string_to_regexp "$v1_xfail"]
+	gdb_test_with_xfail "python print(o\[1\])" $re $re_xfail \
 	    "python print first array element"
 	gdb_test "python print(o\[2\])" \
 	    [string_to_regexp "$v2"] \

                 reply	other threads:[~2021-07-27 15:04 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210727150404.GA18280@delia \
    --to=tdevries@suse.de \
    --cc=gdb-patches@sourceware.org \
    --cc=tom@tromey.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox