summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@adacore.com>2020-09-03 04:34:48 -0400
committerArnaud Charlet <charlet@adacore.com>2020-09-03 04:34:48 -0400
commit3cc3a373fe5ceb66839daca6861188d04c98362e (patch)
treeb36f8680e017b0024ee012f42e4ee69727cff880 /gcc
parenteb6ea9e54f1f275fd6ec3c61662243ca0165bd64 (diff)
Preliminary work on support for 128bits integers
* fe.h, opt.ads (Enable_128bit_Types): New. * stand.ads (Standard_Long_Long_Long_Integer, S_Long_Long_Long_Integer): New.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/fe.h1
-rw-r--r--gcc/ada/opt.ads7
-rw-r--r--gcc/ada/stand.ads4
3 files changed, 12 insertions, 0 deletions
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);