Adacovex.Target_Profiles¶
Signed two’s-complement fixed-width integer types. Each carries an explicit Size. IR values map one-to-one onto target machine types.
Note: All items in this package are public.
Types¶
type IR_Int16¶
type IR_Int16 is range -2**15 .. 2**15 - 1 with Size => 16;
type IR_Int32¶
type IR_Int32 is range -2**31 .. 2**31 - 1 with Size => 32;
type IR_Int64¶
type IR_Int64 is range -2**63 .. 2**63 - 1 with Size => 64;
type IR_Int8¶
type IR_Int8 is range -2**7 .. 2**7 - 1 with Size => 8;
type IR_UInt16¶
type IR_UInt16 is mod 2**16;
type IR_UInt32¶
type IR_UInt32 is mod 2**32;
type IR_UInt64¶
type IR_UInt64 is mod 2**64;
type IR_UInt8¶
type IR_UInt8 is mod 2**8;
type Target_Config¶
type Target_Config is record
Host_Bits : Word_Size := Bits_64;
Target_Bits : Word_Size := Bits_64;
Pointer_Bits : Word_Size := Bits_64;
end record;
type Word_Size¶
type Word_Size is (Bits_8, Bits_16, Bits_32, Bits_64);
Functions¶
function Checked_Add32 (A : Adacovex.Target_Profiles.IR_Int32; B : Adacovex.Target_Profiles.IR_Int32) return Adacovex.Target_Profiles.IR_Int32 [Pre]¶
Parameter |
Description |
|---|---|
|
First operand. |
|
Second operand. |
Returns: The sum of A and B.
function Checked_Add64 (A : Adacovex.Target_Profiles.IR_Int64; B : Adacovex.Target_Profiles.IR_Int64) return Adacovex.Target_Profiles.IR_Int64 [Pre]¶
Parameter |
Description |
|---|---|
|
First operand. |
|
Second operand. |
Returns: The sum of A and B.
function Host_Word_Size return Adacovex.Target_Profiles.Word_Size [Global]¶
Returns: Bits_8 .. Bits_64 matching the host word size.