[Ada] Avoid gnatbind regression caused by Copy_Bitfield
authorBob Duff <duff@adacore.com>
Wed, 18 Sep 2019 08:33:49 +0000 (08:33 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Wed, 18 Sep 2019 08:33:49 +0000 (08:33 +0000)
commit58ab1e7607d7e464ba1e4fa3d4986da934903b5c
tree386c1ad2d91b3eb509e7d45c4bf47fb4de33c38b
parent5c13a04e0dcb6e6c07708dc6796968ee89b4560b
[Ada] Avoid gnatbind regression caused by Copy_Bitfield

The recent Copy_Bitfield change caused gnatbind to change elaboration
order, causing different error messages.

2019-09-18  Bob Duff  <duff@adacore.com>

gcc/ada/

* exp_ch5.adb (Expand_Assign_Array_Loop_Or_Bitfield): Move call
to RTE_Available later, so it doesn't disturb the elab order.
The RE_Copy_Bitfield entity is defined in package
System.Bitfields which has a dependency on package
System.Bitfield_Utils, which has it its spec:

   pragma Elaborate_Body;

The query on RTE_Available forces loading and analyzing
System.Bitfields and all its withed units.

From-SVN: r275866
gcc/ada/ChangeLog
gcc/ada/exp_ch5.adb