[Ada] Refine conditions for calling Copy_Bitfield
authorBob Duff <duff@adacore.com>
Tue, 17 Sep 2019 07:59:11 +0000 (07:59 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Tue, 17 Sep 2019 07:59:11 +0000 (07:59 +0000)
commit38b06e7a19d4002697117965d0bfce7ee77e1d40
treee2a5b8a7959e9641e03242174da27e7a81c1184b
parent8ba9c127cdbc661a4f10fcf977c560e61edc5ca4
[Ada] Refine conditions for calling Copy_Bitfield

Avoid calling Copy_Bitfield if there are volatile or independent
components that might be read or written. The test is conservative.

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

gcc/ada/

* exp_ch5.adb (Expand_Assign_Array_Loop_Or_Bitfield): Add tests
for potential volatile or independent components.
* libgnat/s-bituti.adb (Copy_Small_Bitfield,
Copy_Large_Bitfield): Move declarations to more appropriate
place.

From-SVN: r275768
gcc/ada/ChangeLog
gcc/ada/exp_ch5.adb
gcc/ada/libgnat/s-bituti.adb