view gcc/testsuite/gnat.dg/task_name.ads @ 138:fc828634a951

merge
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Thu, 08 Nov 2018 14:17:14 +0900
parents 04ced10e8804
children
line wrap: on
line source

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;