[Ada] Get rid of spurious error for _Tag on extension with reverse bit order
authorEric Botcazou <ebotcazou@adacore.com>
Thu, 10 Oct 2019 15:24:26 +0000 (15:24 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Thu, 10 Oct 2019 15:24:26 +0000 (15:24 +0000)
commitab9e20840f3ae9c5fe731851c6a384cd4f01f844
treedeab342a16b3d412c370689a5e166d3c2597e503
parenta871b0aa6234573b8e7ec3d876c31f60e45e700f
[Ada] Get rid of spurious error for _Tag on extension with reverse bit order

2019-10-10  Eric Botcazou  <ebotcazou@adacore.com>

gcc/ada/

* sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Do not use
the Esize of the component to compute its layout, but only the
Component_Clause.  Do not issue a warning for the _Tag
component.  Also set the Esize of the component at the end of
the layout.
(Analyze_Record_Representation_Clause): Remove Hbit local
variable.  Lay out the Original_Record_Component only if it's
distinct from the component.
(Check_Record_Representation_Clause): Fix off-by-one bug for the
Last_Bit of the artificial clause built for the _Tag component.

From-SVN: r276827
gcc/ada/ChangeLog
gcc/ada/sem_ch13.adb