[pushed] Add another test for Ada Wide_Wide_String

Tom Tromey tromey@adacore.com
Thu Mar 17 12:51:31 GMT 2022


In an earlier patch, I had written that I wanted to add this test:

      ptype Wide_Wide_String'("literal")

... but that it failed with the distro GNAT.  Further investigation
showed that it could be made to work by adding a function using
Wide_Wide_String to the program -- this caused the type to end up in
the debug info.

This patch adds the test.  I'm checking this in.
---
 gdb/testsuite/gdb.ada/widewide.exp     |  3 +++
 gdb/testsuite/gdb.ada/widewide/foo.adb |  3 ++-
 gdb/testsuite/gdb.ada/widewide/pck.adb | 10 ++++++++++
 gdb/testsuite/gdb.ada/widewide/pck.ads |  2 ++
 4 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/gdb/testsuite/gdb.ada/widewide.exp b/gdb/testsuite/gdb.ada/widewide.exp
index 2f14a0faee8..56c9e12abd2 100644
--- a/gdb/testsuite/gdb.ada/widewide.exp
+++ b/gdb/testsuite/gdb.ada/widewide.exp
@@ -59,3 +59,6 @@ gdb_test "print my_wws" " = \"bcllo\"" \
 
 gdb_test "print 'x' & my_ws" " = \"xwide\""
 gdb_test "print my_ws & 'y'" " = \"widey\""
+
+gdb_test "ptype wide_wide_string'(\"wws\")" \
+    "array \\(1 \\.\\. 3\\) of wide_wide_character"
diff --git a/gdb/testsuite/gdb.ada/widewide/foo.adb b/gdb/testsuite/gdb.ada/widewide/foo.adb
index d41734a485f..eda6ac54039 100644
--- a/gdb/testsuite/gdb.ada/widewide/foo.adb
+++ b/gdb/testsuite/gdb.ada/widewide/foo.adb
@@ -24,6 +24,7 @@ procedure Foo is
 begin
    Do_Nothing (Some_Easy'Address);  -- START
    Do_Nothing (Some_Larger'Address);
-   Do_Nothing (My_Ws'Address);
+   Do_Nothing (My_Ws);
+   Do_Nothing (My_WWS);
    Do_Nothing (Some_Big'Address);
 end Foo;
diff --git a/gdb/testsuite/gdb.ada/widewide/pck.adb b/gdb/testsuite/gdb.ada/widewide/pck.adb
index 6b9023beb67..f5ec5607a56 100644
--- a/gdb/testsuite/gdb.ada/widewide/pck.adb
+++ b/gdb/testsuite/gdb.ada/widewide/pck.adb
@@ -20,4 +20,14 @@ package body Pck is
       null;
    end Do_Nothing;
 
+   procedure Do_Nothing (A : Wide_String) is
+   begin
+      null;
+   end Do_Nothing;
+
+   procedure Do_Nothing (A : Wide_Wide_String) is
+   begin
+      null;
+   end Do_Nothing;
+
 end Pck;
diff --git a/gdb/testsuite/gdb.ada/widewide/pck.ads b/gdb/testsuite/gdb.ada/widewide/pck.ads
index e9316b09678..90c04f373f2 100644
--- a/gdb/testsuite/gdb.ada/widewide/pck.ads
+++ b/gdb/testsuite/gdb.ada/widewide/pck.ads
@@ -18,5 +18,7 @@ with System;
 package Pck is
 
    procedure Do_Nothing (A : System.Address);
+   procedure Do_Nothing (A : Wide_String);
+   procedure Do_Nothing (A : Wide_Wide_String);
 
 end Pck;
-- 
2.34.1



More information about the Gdb-patches mailing list