[PATCH] gdb/testsuite/fortran: Add mixed language stack test

Andrew Burgess andrew.burgess@embecosm.com
Mon Mar 23 12:05:36 GMT 2020


* Tom de Vries <tdevries@suse.de> [2020-03-20 15:53:28 +0100]:

> On 05-03-2020 22:09, Andrew Burgess wrote:
> > +	if { $lang == "fortran" } {
> > +	    set obj_pattern " = \\( base_one = \\( num1 = 1, num2 = 2, num3 = 3 \\), base_two = \\( string = 0x6184e0 'Something in C\\+\\+\\\\000', val = 3.5 \\), xxx = 9, yyy = 10.5 \\)"
> > +	} else {
> > +	    set obj_pattern " = \\{<base_one> = \\{num1 = 1, num2 = 2, num3 = 3\\}, <base_two> = \\{string = 0x6184e0 \"Something in C\\+\\+\", val = 3.5\\}, xxx = 9, yyy = 10.5\\}"
> > +	}
> 
> FAILs for me due to hard-coded string address:
> ...
> print obj^M
> $1 = {<base_one> = {num1 = 1, num2 = 2, num3 = 3}, <base_two> = {string
> = 0x618430 "Something in C++", val = 3.5}, xxx = 9, yyy = 10.5}^M
> (gdb) FAIL: gdb.fortran/mixed-lang-stack.exp: lang=auto: print obj
> ...

Sorry for this, and thanks for reporting the problem.

I pushed the patch below to fix this issue.

Thanks,
Andrew

--

>From 5935fd15306c26ead8274cbeab3287770f2ac92a Mon Sep 17 00:00:00 2001
From: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Mon, 23 Mar 2020 12:01:08 +0000
Subject: [PATCH] gdb/testsuite: Remove hard coded addresses from expected
 results

In commit:

  commit 6b8c53f2f1c0cf5bee46120d892d4c72571375eb
  Date:   Sat Feb 8 21:26:31 2020 +0000

      gdb/testsuite/fortran: Add mixed language stack test

The test incorrectly included two hard coded addresses in the expected
output, this commit replaces them with the $hex pattern.

gdb/testsuite/ChangeLog:

	* gdb.fortran/mixed-lang-stack.exp: Replace two hard coded address
	with $hex.
---
 gdb/testsuite/ChangeLog                        | 5 +++++
 gdb/testsuite/gdb.fortran/mixed-lang-stack.exp | 4 ++--
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/gdb/testsuite/gdb.fortran/mixed-lang-stack.exp b/gdb/testsuite/gdb.fortran/mixed-lang-stack.exp
index df0807e268f..c0531c3fd9f 100644
--- a/gdb/testsuite/gdb.fortran/mixed-lang-stack.exp
+++ b/gdb/testsuite/gdb.fortran/mixed-lang-stack.exp
@@ -84,9 +84,9 @@ proc run_tests { lang } {
 	gdb_test "info frame" "source language c\\+\\+\..*" \
 	    "info frame in frame #2"
 	if { $lang == "fortran" } {
-	    set obj_pattern " = \\( base_one = \\( num1 = 1, num2 = 2, num3 = 3 \\), base_two = \\( string = 0x6184e0 'Something in C\\+\\+\\\\000', val = 3.5 \\), xxx = 9, yyy = 10.5 \\)"
+	    set obj_pattern " = \\( base_one = \\( num1 = 1, num2 = 2, num3 = 3 \\), base_two = \\( string = $hex 'Something in C\\+\\+\\\\000', val = 3.5 \\), xxx = 9, yyy = 10.5 \\)"
 	} else {
-	    set obj_pattern " = \\{<base_one> = \\{num1 = 1, num2 = 2, num3 = 3\\}, <base_two> = \\{string = 0x6184e0 \"Something in C\\+\\+\", val = 3.5\\}, xxx = 9, yyy = 10.5\\}"
+	    set obj_pattern " = \\{<base_one> = \\{num1 = 1, num2 = 2, num3 = 3\\}, <base_two> = \\{string = $hex \"Something in C\\+\\+\", val = 3.5\\}, xxx = 9, yyy = 10.5\\}"
 	}
 	gdb_test "print obj" "${obj_pattern}"
 
-- 
2.14.5



More information about the Gdb-patches mailing list