Skip to content

Commit

Permalink
Ada: adding test for aspects
Browse files Browse the repository at this point in the history
  • Loading branch information
gusthoff committed Apr 29, 2022
1 parent bec1f56 commit f3bd68c
Show file tree
Hide file tree
Showing 2 changed files with 528 additions and 0 deletions.
58 changes: 58 additions & 0 deletions tests/examplefiles/ada/test_ada_aspects.ads
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
with System;
with Interfaces.C;

package Test_Ada_Aspects is

type R is record
V : Integer range 0 .. 255;
B1 : Boolean;
B2 : Boolean;
end record
with Pack;

type Float_Int_Union (Use_Float : Boolean) is record
case Use_Float is
when True => F : Float;
when False => I : Integer;
end case;
end record
with Unchecked_Union;

type my_struct is record
A : Interfaces.C.int;
B : Interfaces.C.int;
end record
with Convention => C_Pass_By_Copy;

procedure Initialize (Size : Integer)
with
Import => True,
Convention => C,
External_Name => "registerInterface_Initialize";

type Percentage is range 0 .. 100
with Default_Value => 10;

type State is (Off, State_1, State_2)
with Size => Integer'Size;

for State use (Off => 0,
State_1 => 32,
State_2 => 64);

type Registers is record
Reserved_0 : Integer;
Reserved_1 : Integer;
end record
with Volatile, Size => 128;

private

Arr_1 : array (1 .. 2) of Long_Float with Volatile;
Arr_2 : array (1 .. 2) of Integer with Atomic_Components;

V : Integer with
Atomic,
Address => System'To_Address (16#FFFF00A0#);

end Test_Ada_Aspects;
Loading

0 comments on commit f3bd68c

Please sign in to comment.