* [Ada] Enable the support of 128-bit integer types by default
@ 2020-10-22 12:12 Pierre-Marie de Rodat
0 siblings, 0 replies; only message in thread
From: Pierre-Marie de Rodat @ 2020-10-22 12:12 UTC (permalink / raw)
To: gcc-patches; +Cc: Eric Botcazou
[-- Attachment #1: Type: text/plain, Size: 1826 bytes --]
This enables the support of 128-bit integer types by default on 64-bit
platforms (except for BB ports): the -gnate128 switch is removed and
the debug switch -gnatd.H can now be used to disable again the support.
Technically speaking, apart from the obvious effect on integer types,
this will bump the size of the type representing Universal_Integer in
the compiler to 128 bits, which means that the attributes returning UI
will be properly range-checked when assigned e.g. to a 64-bit variable.
This will also bump the bit-packing limit from 64 to 128 bits, which
means that components up to 128 instead of 64 bits can be bit-packed
in array or record types subject to aspect/pragma Pack.
Tested on x86_64-pc-linux-gnu, committed on trunk
gcc/ada/
* Makefile.rtl (GNATRTL_128BIT_PAIRS): Add i-cexten.ads.
* debug.adb (d.H): Document new usage.
* doc/gnat_rm/representation_clauses_and_pragmas.rst (Size Clauses):
Document new limit on 64-bit platforms.
(Component_Size Clauses): Likewise.
(Pragma Pack for Arrays): Likewise.
(Pragma Pack for Records): Likewise.
(Record Representation Clauses): Likewise.
* gnat_rm.texi: Regenerate.
* gnat1drv.adb (Adjust_Global_Switches): Rewrite code enabling or
disabling the support for 128-bit integer types.
* switch-c.adb (Scan_Front_End_Switches): Do not deal with e128.
* usage.adb (Write_Switch_Char): Do not print -gnate128 switch.
* libgnat/i-cexten__128.ads: New file.
gcc/testsuite/
* ada/acats/run_all.sh: Define and substitute target_{max,min}_int.
* ada/acats/support/macro.dfs: Parameterize {MAX,MIN}_INT.
* gnat.dg/assert1.adb: Adjust conditionally to 128-bit integer types.
* gnat.dg/size_clause1.adb: Do not expect a warning for LP64 targets.
* gnat.dg/warn11.adb: Likewise.
* gnat.dg/specs/rep_clause5.ads (Array_2_Type): Add alignment clause.
[-- Attachment #2: patch.diff.gz --]
[-- Type: application/gzip, Size: 11073 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2020-10-22 12:12 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-22 12:12 [Ada] Enable the support of 128-bit integer types by default Pierre-Marie de Rodat
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).