Add another test for Ada Wide_Wide_String
authorTom Tromey <tromey@adacore.com>
Wed, 16 Mar 2022 15:50:17 +0000 (09:50 -0600)
committerTom Tromey <tromey@adacore.com>
Thu, 17 Mar 2022 12:46:13 +0000 (06:46 -0600)
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
gdb/testsuite/gdb.ada/widewide/foo.adb
gdb/testsuite/gdb.ada/widewide/pck.adb
gdb/testsuite/gdb.ada/widewide/pck.ads

index 2f14a0faee87f8091afc7b2fe4f43e0cfa55270b..56c9e12abd2d6c7a05a917091e7ed222c7c0effc 100644 (file)
@@ -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"
index d41734a485fd7ee7f650d01c20995500205c5e0c..eda6ac54039d5bdac4c16a7019ac4eaf9919a42d 100644 (file)
@@ -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;
index 6b9023beb6766e4f129a6c0f817c82d20a1b0eb4..f5ec5607a5687eab9d084e05a6712a7a6494a190 100644 (file)
@@ -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;
index e9316b096789e36a63712c109da00d8f930305bd..90c04f373f294b0d6abeca7751de9a96b906ef9a 100644 (file)
@@ -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;