From: Arnaud Charlet <char...@adacore.com>

        * fe.h, opt.ads (Enable_128bit_Types): New.
        * stand.ads (Standard_Long_Long_Long_Integer,
        S_Long_Long_Long_Integer): New.
---
 gcc/ada/fe.h      | 1 +
 gcc/ada/opt.ads   | 7 +++++++
 gcc/ada/stand.ads | 4 ++++
 3 files changed, 12 insertions(+)

diff --git a/gcc/ada/fe.h b/gcc/ada/fe.h
index 8ad16c2b1c9..520301e4c3e 100644
--- a/gcc/ada/fe.h
+++ b/gcc/ada/fe.h
@@ -192,6 +192,7 @@ extern Boolean In_Extended_Main_Code_Unit   (Entity_Id);
 #define Ada_Version                    opt__ada_version
 #define Back_End_Inlining              opt__back_end_inlining
 #define Debug_Generated_Code           opt__debug_generated_code
+#define Enable_128bit_Types            opt__enable_128bit_types
 #define Exception_Extra_Info           opt__exception_extra_info
 #define Exception_Locations_Suppressed opt__exception_locations_suppressed
 #define Exception_Mechanism            opt__exception_mechanism
diff --git a/gcc/ada/opt.ads b/gcc/ada/opt.ads
index c982f83b9e4..885a6fb9497 100644
--- a/gcc/ada/opt.ads
+++ b/gcc/ada/opt.ads
@@ -525,6 +525,13 @@ package Opt is
    --  dataflow analysis, which is not available. This behavior parallels that
    --  of the old ABE mechanism.
 
+   Enable_128bit_Types : Boolean := False;
+   --  GNAT
+   --  Set to True to enable the support for 128-bit types in the compiler.
+   --  The prerequisite is a 64-bit target that supports 128-bit computation.
+
+   --  WARNING: There is a matching C declaration of this variable in fe.h
+
    Error_Msg_Line_Length : Nat := 0;
    --  GNAT
    --  Records the error message line length limit. If this is set to zero,
diff --git a/gcc/ada/stand.ads b/gcc/ada/stand.ads
index f3f7eb512d5..57b4d55387e 100644
--- a/gcc/ada/stand.ads
+++ b/gcc/ada/stand.ads
@@ -61,6 +61,7 @@ package Stand is
       S_Integer,
       S_Long_Integer,
       S_Long_Long_Integer,
+      S_Long_Long_Long_Integer,
 
       S_Natural,
       S_Positive,
@@ -283,6 +284,9 @@ package Stand is
    Standard_Long_Integer        : Entity_Id renames SE (S_Long_Integer);
    Standard_Long_Long_Integer   : Entity_Id renames SE (S_Long_Long_Integer);
 
+   Standard_Long_Long_Long_Integer : Entity_Id renames
+                                                 SE (S_Long_Long_Long_Integer);
+
    Standard_Op_Add              : Entity_Id renames SE (S_Op_Add);
    Standard_Op_And              : Entity_Id renames SE (S_Op_And);
    Standard_Op_Concat           : Entity_Id renames SE (S_Op_Concat);
-- 
2.26.2

Reply via email to