diff options
Diffstat (limited to 'gcc/testsuite/gnat.dg/task_name.ads')
-rw-r--r-- | gcc/testsuite/gnat.dg/task_name.ads | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/task_name.ads b/gcc/testsuite/gnat.dg/task_name.ads new file mode 100644 index 000000000..2d9d3ab15 --- /dev/null +++ b/gcc/testsuite/gnat.dg/task_name.ads @@ -0,0 +1,22 @@ +with Ada.Finalization; +package task_name is + type Base_Controller is + abstract new Ada.Finalization.Limited_Controlled with null record; + + type Extended_Controller is + abstract new Base_Controller with private; + + type Task_Object (Controller : access Extended_Controller'Class) is + limited private; +private + type String_Access is access string; + + type Extended_Controller is + abstract new Base_Controller with record + Thread : aliased Task_Object (Extended_Controller'Access); + Name : String_Access := new string'("the_name_of_the_task"); + end record; + + task type Task_Object (Controller : access Extended_Controller'Class) is pragma Task_Name (Controller.Name.all); + end Task_Object; +end; |