
-- 1: with Interfaces, Turbo, Turbo.Atomic;

-- 2:

-- 3: use Interfaces, Turbo, Turbo.Atomic;

-- 4:

-- 5: with Ada.Text_IO;
with ada;
with turbo;
with interfaces;
with turbo;
with turbo.turbo__atomic;

-- 6: use Ada.Text_IO;
use interfaces, turbo, turbo.turbo__atomic;

-- 7:
-- 8: --  with Test_Jwa_CXA4010;
-- 9: --  with Test_Jwa_CXA4011;
-- 10: --  with Test_Jwa_CXA4030;
-- 11: --  with Test_Jwa_CXA4031;
-- 12: --  with Test_Jwa_CXA4032;

-- 13:

-- 14: with Report;
with ada.ada__text_io;
use ada.ada__text_io;
-- 15: -- with Boolean_X_Test;

-- 16: with Atomic_X_Test;
with report;

-- 17:

-- 18: with String_Test;
with atomic_x_test;

-- 19: with Memory_Test;
with string_test;
with memory_test;

-- 20:

-- 21: procedure Test_Jwa is
procedure test_jwa is
   leak_test : constant boolean := false;
   iterations : natural := 1;
   yz : turbo__unsigned_addr := 23;
   xu : turbo__atomic__atomic_integer_32;

-- 22:

-- 23:    Leak_Test : constant Boolean := False;

-- 24:
-- 25: --   procedure Boolean_8_32_Test is separate;

-- 26:

-- 27:    Iterations : Natural := 1;

-- 28:

-- 29:    YZ : Unsigned_Addr := 23;

-- 30:

-- 31:    XU : Atomic_Integer_32 := Create (17);
   type test_jwa__A2b is access all
     turbo_private__atomic__atomic_integer_32;
   freeze test_jwa__A2b []
   R3b : test_jwa__A2b := turbo_private__atomic__create (17,
     createBIPaccess => turbo_private__atomic__atomic_integer_32!(xu)'
     unrestricted_access)'reference;

-- 32: begin
begin
-- 33: --   Boolean_X_Test;

-- 34:    String_Test;
   string_test;

-- 35:    Atomic_X_Test;
   atomic_x_test;

-- 36:    Memory_Test;
   memory_test;

-- 37:
-- 38: --   YZ := Rotate_Left (YZ, 7);
-- 39: --   Set (XU, 0);
-- 40: --   Inc (XU);

-- 41:

-- 42:
-- 43: --   Skip_Line;
-- 44: --   Boolean_8_32_Test;
-- 45: --     if Leak_Test then
-- 46: --        Iterations := Natural'Last;
-- 47: --     end if;

-- 48:
-- 49: --     for i_Dummy in 1 .. Iterations loop
-- 50: --        Report.Toggle (i_Dummy = Iterations);
-- 51: --        Test_Jwa_CXA4010;
-- 52: --        Test_Jwa_CXA4011;
-- 53: --        Test_Jwa_CXA4030;
-- 54: --        Test_Jwa_CXA4031;
-- 55: --        Test_Jwa_CXA4032;
-- 56: --     end loop;

-- 57: end Test_Jwa;
   return;
end test_jwa;
