Add preliminary support for 128-bit integer types
authorEric Botcazou <ebotcazou@adacore.com>
Sat, 12 Sep 2020 10:59:09 +0000 (12:59 +0200)
committerEric Botcazou <ebotcazou@adacore.com>
Sat, 12 Sep 2020 11:01:19 +0000 (13:01 +0200)
commitf2d9f95e9ccac1376aee73345b8b4a00e803d67d
tree641d16d23406a8f3a611ee8f608fdc0cac592264
parentfe47e8163928d2cc42ad84634cfd147f948aad4a
Add preliminary support for 128-bit integer types

This is only the gigi part, in preparation for the bulk of the
implementation.

gcc/ada/ChangeLog:
* fe.h: Fix pilot error in previous change.
* gcc-interface/gigi.h (enum standard_datatypes): Add ADT_mulv128_decl.
(mulv128_decl): New macro.
(get_target_long_long_long_size): Declare.
* gcc-interface/decl.c (gnat_to_gnu_entity): Use a maximum size of
128 bits for discrete types if Enable_128bit_Types is true.
* gcc-interface/targtyps.c: Include target.h.
(get_target_long_long_long_size): New function.
* gcc-interface/trans.c (gigi): Initialize mulv128_decl if need be.
(build_binary_op_trapv): Call it for 128-bit multiplication.
* gcc-interface/utils.c (make_type_from_size): Enforce a maximum
size of 128 bits if Enable_128bit_Types is true.
gcc/ada/fe.h
gcc/ada/gcc-interface/decl.c
gcc/ada/gcc-interface/gigi.h
gcc/ada/gcc-interface/targtyps.c
gcc/ada/gcc-interface/trans.c
gcc/ada/gcc-interface/utils.c