Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [PATCH][gdb/testsuite] Fix gdb.base/float128.exp with --with-mpfr=no
@ 2020-12-10 12:53 Tom de Vries
  2020-12-10 13:08 ` Luis Machado via Gdb-patches
  2020-12-11  9:17 ` Ulrich Weigand via Gdb-patches
  0 siblings, 2 replies; 4+ messages in thread
From: Tom de Vries @ 2020-12-10 12:53 UTC (permalink / raw)
  To: gdb-patches; +Cc: Ulrich Weigand

Hi,

When configuring gdb using --with-mpfr=no and running test-case
gdb.base/float128.exp, we run into:
...
FAIL: gdb.base/float128.exp: print large128 (GDB may be missing MPFR support!)
...

Fix this by detecting that gdb was build without mpfr using the show
configuration command, and changing the FAIL into UNSUPPORTED.

Tested on x86_64-linux.

Any comments?

Thanks,
- Tom

[gdb/testsuite] Fix gdb.base/float128.exp with --with-mpfr=no

gdb/testsuite/ChangeLog:

2020-12-10  Tom de Vries  <tdevries@suse.de>

	PR testsuite/26954
	* gdb.base/float128.exp: Detect and handle no mprf support.

---
 gdb/testsuite/gdb.base/float128.exp | 23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/gdb/testsuite/gdb.base/float128.exp b/gdb/testsuite/gdb.base/float128.exp
index 40babcadc1..66f4d89c12 100644
--- a/gdb/testsuite/gdb.base/float128.exp
+++ b/gdb/testsuite/gdb.base/float128.exp
@@ -78,13 +78,34 @@ gdb_test "print f128" ".* = 20\\.375.*" "the value of f128 is changed to 20.375"
 # Note: If we get "inf" instead of the correct result, we may have run into
 # an internal overflow.  This typically happens on host platforms without
 # native IEEE-128 support where GDB was built without MPFR support.
+
+set mpfr_supported -1
+gdb_test_multiple "show configuration" "" {
+    -wrap -re "--with-mpfr\r\n.*" {
+       set mpfr_supported 1
+    }
+    -wrap -re "--without-mpfr\r\n.*" {
+       set mpfr_supported 0
+    }
+}
+
 set test "print large128"
 gdb_test_multiple "print large128" "$test" {
     -re ".* = 1\\.18973149535723176508575932662800702e\\+4932.*$gdb_prompt $" {
 	pass "$test"
     }
     -re ".* = inf.*$gdb_prompt $" {
-	fail "$test (GDB may be missing MPFR support!)"
+       if { $mpfr_supported == 0 } {
+	   if { [istarget "s390*-*-*"] || [istarget "powerpc*-*-*"] } {
+	       # Some of these archs have native 128-bit float support, in
+	       # which case this should be passing, even without MPFR support.
+	       fail $test
+	   } else {
+	       unsupported "$test (Missing MPFR support)"
+	   }
+       } else {
+           fail $test
+       }
     }
     -re ".*$gdb_prompt $" {
 	fail "$test"

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-12-11 12:56 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-10 12:53 [PATCH][gdb/testsuite] Fix gdb.base/float128.exp with --with-mpfr=no Tom de Vries
2020-12-10 13:08 ` Luis Machado via Gdb-patches
2020-12-11  9:17 ` Ulrich Weigand via Gdb-patches
2020-12-11 12:56   ` Tom de Vries

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox