exp_util.adb (Remove_Side_Effects): Also make a constant if we need to capture the...
authorEric Botcazou <ebotcazou@adacore.com>
Mon, 16 May 2016 10:14:19 +0000 (10:14 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Mon, 16 May 2016 10:14:19 +0000 (10:14 +0000)
commit34da9c9840ae773d1b0196a9e27ffa2b40ed14f9
tree333707cabd2d46ece30f6143925f4c1d23645f49
parent0b9004ed5642ab56f97347cc9c5ca9a59a2fb6bb
exp_util.adb (Remove_Side_Effects): Also make a constant if we need to capture the value for a small not...

* exp_util.adb (Remove_Side_Effects): Also make a constant if we need
to capture the value for a small not by-reference record type.
* freeze.ads (Check_Compile_Time_Size): Adjust comment.
* freeze.adb (Set_Small_Size): Likewise.  Accept a size in the range
of 33 .. 64 bits.
(Check_Compile_Time_Size): Merge scalar and access type cases. Change
variable name in array type case.  For the computation of the packed
size, deal with record components and remove redundant test.
(Freeze_Array_Type): Also adjust packing status when the size of the
component type is in the range 33 .. 64 bits.
* doc/gnat_rm/representation_clauses_and_pragmas.rst: Turn primitive
into elementary type throughout.  Minor tweaks.
(Alignment Clauses): Document actual alignment of packed array types.
(Pragma Pack for Arrays): List only the 3 main cases and adjust.  Add
"simple" to the record case.  Document effect on non packable types.
(Pragma Pack for Records): Likewise.  Add record case and adjust.

From-SVN: r236275
gcc/ada/ChangeLog
gcc/ada/doc/gnat_rm/representation_clauses_and_pragmas.rst
gcc/ada/exp_util.adb
gcc/ada/freeze.adb
gcc/ada/freeze.ads