diff --git a/gcc/testsuite/gnat.dg/array3.adb b/gcc/testsuite/gnat.dg/array3.adb new file mode 100644 index 0000000000000000000000000000000000000000..79769256370564adc2095285213c6d42c9e1e108 --- /dev/null +++ b/gcc/testsuite/gnat.dg/array3.adb @@ -0,0 +1,37 @@ +-- { dg-do run } + +with Ada.Containers.Vectors; +with Ada.Strings.Unbounded; use Ada.Strings.Unbounded; +procedure array3 is + type Method_Kinds is (Signal, Slot, Method); + + package Unbounded_String_Vectors is + new Ada.Containers.Vectors + (Positive, Ada.Strings.Unbounded.Unbounded_String); + + Params_Vector : Unbounded_String_Vectors.Vector; + + type Method_Info is record + Name : Ada.Strings.Unbounded.Unbounded_String; + Signature : Ada.Strings.Unbounded.Unbounded_String; + Parameters : Unbounded_String_Vectors.Vector; + Kind : Method_Kinds; + end record; + + package Method_Info_Vectors is + new Ada.Containers.Vectors (Positive, Method_Info); + + Signals : Method_Info_Vectors.Vector; +begin + + Unbounded_String_Vectors.Append + (Params_Vector, + Ada.Strings.Unbounded.To_Unbounded_String ("AAA")); + + Method_Info_Vectors.Append + (Signals, + (Name => To_Unbounded_String (""), + Signature => To_Unbounded_String (""), + Parameters => Params_Vector, + Kind => Signal)); +end; diff --git a/gcc/testsuite/gnat.dg/controlled3.ads b/gcc/testsuite/gnat.dg/controlled3.ads new file mode 100644 index 0000000000000000000000000000000000000000..4dee28a3cdcd30c58ed98eb26c8afb49d1a2e547 --- /dev/null +++ b/gcc/testsuite/gnat.dg/controlled3.ads @@ -0,0 +1,12 @@ +with Ada.Finalization; use Ada.Finalization; +package controlled3 is + type Test is new Controlled with null record; + procedure Add_Test (T : access Test'Class); + + type Test_Case1 is new Test with null record; + type Test_Suite is new Test with null record; + + type Test_Case is new Test_Case1 with record + Link_Under_Test : Natural; + end record; +end; diff --git a/gcc/testsuite/gnat.dg/controlled4.adb b/gcc/testsuite/gnat.dg/controlled4.adb new file mode 100644 index 0000000000000000000000000000000000000000..b823cc9f4e56188ade862cbe8e7091e4c9473c0f --- /dev/null +++ b/gcc/testsuite/gnat.dg/controlled4.adb @@ -0,0 +1,9 @@ +-- { dg-do compile } + +package body controlled4 is + procedure Test_Suite is + begin + Add_Test + (new Test_Case'(Test_Case1 with Link_Under_Test => 300)); + end Test_Suite; +end; diff --git a/gcc/testsuite/gnat.dg/controlled4.ads b/gcc/testsuite/gnat.dg/controlled4.ads new file mode 100644 index 0000000000000000000000000000000000000000..5ea458a5da275def0063353aa5917a9ff10f1d19 --- /dev/null +++ b/gcc/testsuite/gnat.dg/controlled4.ads @@ -0,0 +1,5 @@ + +with controlled3; use controlled3; +package controlled4 is + procedure Test_Suite; +end;