]> git.ipfire.org Git - thirdparty/gcc.git/commit
ada: Remove use of overlays in implementation of System.Pack_N units
authorEric Botcazou <ebotcazou@adacore.com>
Fri, 20 Sep 2024 18:24:55 +0000 (20:24 +0200)
committerMarc Poulhiès <dkm@gcc.gnu.org>
Tue, 12 Nov 2024 13:00:51 +0000 (14:00 +0100)
commit2ae3bbe5b8afe60cb13b6a3314f39e6aa99b7e37
tree1296363950d11439e8840c60f054c50861d80b0d
parent220360870b03e81421d10a916a1a4b5f6d87b223
ada: Remove use of overlays in implementation of System.Pack_N units

The implementation uses an overlay between an address and an access value,
which is convoluted. This changes it to use a direct conversion instead.

No functional changes (and no changes to generated code at -O2).

gcc/ada/ChangeLog:

* s-pack.adb.tmpl: Add "with System.Address_To_Access_Conversions".
(Cluster_Ref): Delete.
(AAC): New instance of System.Address_To_Access_Conversions.
(Rev_Cluster_Ref): Delete.
(Rev_ACC): New instance of System.Address_To_Access_Conversions.
(ClusterU_Ref): Delete.
(AACU): New instance of System.Address_To_Access_Conversions.
(Rev_ClusterU_Ref): Delete.
(Rev_ACCU): New instance of System.Address_To_Access_Conversions.
(Get_@@): Use a direct address-to-access conversion.
(GetU_@@): Likewise.
(Set_@@): Likewise.
(SetU_@@): Likewise.
* libgnat/s-pack03.adb: Regenerate.
* libgnat/s-pack05.adb: Likewise.
* libgnat/s-pack06.adb: Likewise.
* libgnat/s-pack07.adb: Likewise.
* libgnat/s-pack09.adb: Likewise.
* libgnat/s-pack10.adb: Likewise.
* libgnat/s-pack100.adb: Likewise.
* libgnat/s-pack101.adb: Likewise.
* libgnat/s-pack102.adb: Likewise.
* libgnat/s-pack103.adb: Likewise.
* libgnat/s-pack104.adb: Likewise.
* libgnat/s-pack105.adb: Likewise.
* libgnat/s-pack106.adb: Likewise.
* libgnat/s-pack107.adb: Likewise.
* libgnat/s-pack108.adb: Likewise.
* libgnat/s-pack109.adb: Likewise.
* libgnat/s-pack11.adb: Likewise.
* libgnat/s-pack110.adb: Likewise.
* libgnat/s-pack111.adb: Likewise.
* libgnat/s-pack112.adb: Likewise.
* libgnat/s-pack113.adb: Likewise.
* libgnat/s-pack114.adb: Likewise.
* libgnat/s-pack115.adb: Likewise.
* libgnat/s-pack116.adb: Likewise.
* libgnat/s-pack117.adb: Likewise.
* libgnat/s-pack118.adb: Likewise.
* libgnat/s-pack119.adb: Likewise.
* libgnat/s-pack12.adb: Likewise.
* libgnat/s-pack120.adb: Likewise.
* libgnat/s-pack121.adb: Likewise.
* libgnat/s-pack122.adb: Likewise.
* libgnat/s-pack123.adb: Likewise.
* libgnat/s-pack124.adb: Likewise.
* libgnat/s-pack125.adb: Likewise.
* libgnat/s-pack126.adb: Likewise.
* libgnat/s-pack127.adb: Likewise.
* libgnat/s-pack13.adb: Likewise.
* libgnat/s-pack14.adb: Likewise.
* libgnat/s-pack15.adb: Likewise.
* libgnat/s-pack17.adb: Likewise.
* libgnat/s-pack18.adb: Likewise.
* libgnat/s-pack19.adb: Likewise.
* libgnat/s-pack20.adb: Likewise.
* libgnat/s-pack21.adb: Likewise.
* libgnat/s-pack22.adb: Likewise.
* libgnat/s-pack23.adb: Likewise.
* libgnat/s-pack24.adb: Likewise.
* libgnat/s-pack25.adb: Likewise.
* libgnat/s-pack26.adb: Likewise.
* libgnat/s-pack27.adb: Likewise.
* libgnat/s-pack28.adb: Likewise.
* libgnat/s-pack29.adb: Likewise.
* libgnat/s-pack30.adb: Likewise.
* libgnat/s-pack31.adb: Likewise.
* libgnat/s-pack33.adb: Likewise.
* libgnat/s-pack34.adb: Likewise.
* libgnat/s-pack35.adb: Likewise.
* libgnat/s-pack36.adb: Likewise.
* libgnat/s-pack37.adb: Likewise.
* libgnat/s-pack38.adb: Likewise.
* libgnat/s-pack39.adb: Likewise.
* libgnat/s-pack40.adb: Likewise.
* libgnat/s-pack41.adb: Likewise.
* libgnat/s-pack42.adb: Likewise.
* libgnat/s-pack43.adb: Likewise.
* libgnat/s-pack44.adb: Likewise.
* libgnat/s-pack45.adb: Likewise.
* libgnat/s-pack46.adb: Likewise.
* libgnat/s-pack47.adb: Likewise.
* libgnat/s-pack48.adb: Likewise.
* libgnat/s-pack49.adb: Likewise.
* libgnat/s-pack50.adb: Likewise.
* libgnat/s-pack51.adb: Likewise.
* libgnat/s-pack52.adb: Likewise.
* libgnat/s-pack53.adb: Likewise.
* libgnat/s-pack54.adb: Likewise.
* libgnat/s-pack55.adb: Likewise.
* libgnat/s-pack56.adb: Likewise.
* libgnat/s-pack57.adb: Likewise.
* libgnat/s-pack58.adb: Likewise.
* libgnat/s-pack59.adb: Likewise.
* libgnat/s-pack60.adb: Likewise.
* libgnat/s-pack61.adb: Likewise.
* libgnat/s-pack62.adb: Likewise.
* libgnat/s-pack63.adb: Likewise.
* libgnat/s-pack65.adb: Likewise.
* libgnat/s-pack66.adb: Likewise.
* libgnat/s-pack67.adb: Likewise.
* libgnat/s-pack68.adb: Likewise.
* libgnat/s-pack69.adb: Likewise.
* libgnat/s-pack70.adb: Likewise.
* libgnat/s-pack71.adb: Likewise.
* libgnat/s-pack72.adb: Likewise.
* libgnat/s-pack73.adb: Likewise.
* libgnat/s-pack74.adb: Likewise.
* libgnat/s-pack75.adb: Likewise.
* libgnat/s-pack76.adb: Likewise.
* libgnat/s-pack77.adb: Likewise.
* libgnat/s-pack78.adb: Likewise.
* libgnat/s-pack79.adb: Likewise.
* libgnat/s-pack80.adb: Likewise.
* libgnat/s-pack81.adb: Likewise.
* libgnat/s-pack82.adb: Likewise.
* libgnat/s-pack83.adb: Likewise.
* libgnat/s-pack84.adb: Likewise.
* libgnat/s-pack85.adb: Likewise.
* libgnat/s-pack86.adb: Likewise.
* libgnat/s-pack87.adb: Likewise.
* libgnat/s-pack88.adb: Likewise.
* libgnat/s-pack89.adb: Likewise.
* libgnat/s-pack90.adb: Likewise.
* libgnat/s-pack91.adb: Likewise.
* libgnat/s-pack92.adb: Likewise.
* libgnat/s-pack93.adb: Likewise.
* libgnat/s-pack94.adb: Likewise.
* libgnat/s-pack95.adb: Likewise.
* libgnat/s-pack96.adb: Likewise.
* libgnat/s-pack97.adb: Likewise.
* libgnat/s-pack98.adb: Likewise.
* libgnat/s-pack99.adb: Likewise.
121 files changed:
gcc/ada/libgnat/s-pack03.adb
gcc/ada/libgnat/s-pack05.adb
gcc/ada/libgnat/s-pack06.adb
gcc/ada/libgnat/s-pack07.adb
gcc/ada/libgnat/s-pack09.adb
gcc/ada/libgnat/s-pack10.adb
gcc/ada/libgnat/s-pack100.adb
gcc/ada/libgnat/s-pack101.adb
gcc/ada/libgnat/s-pack102.adb
gcc/ada/libgnat/s-pack103.adb
gcc/ada/libgnat/s-pack104.adb
gcc/ada/libgnat/s-pack105.adb
gcc/ada/libgnat/s-pack106.adb
gcc/ada/libgnat/s-pack107.adb
gcc/ada/libgnat/s-pack108.adb
gcc/ada/libgnat/s-pack109.adb
gcc/ada/libgnat/s-pack11.adb
gcc/ada/libgnat/s-pack110.adb
gcc/ada/libgnat/s-pack111.adb
gcc/ada/libgnat/s-pack112.adb
gcc/ada/libgnat/s-pack113.adb
gcc/ada/libgnat/s-pack114.adb
gcc/ada/libgnat/s-pack115.adb
gcc/ada/libgnat/s-pack116.adb
gcc/ada/libgnat/s-pack117.adb
gcc/ada/libgnat/s-pack118.adb
gcc/ada/libgnat/s-pack119.adb
gcc/ada/libgnat/s-pack12.adb
gcc/ada/libgnat/s-pack120.adb
gcc/ada/libgnat/s-pack121.adb
gcc/ada/libgnat/s-pack122.adb
gcc/ada/libgnat/s-pack123.adb
gcc/ada/libgnat/s-pack124.adb
gcc/ada/libgnat/s-pack125.adb
gcc/ada/libgnat/s-pack126.adb
gcc/ada/libgnat/s-pack127.adb
gcc/ada/libgnat/s-pack13.adb
gcc/ada/libgnat/s-pack14.adb
gcc/ada/libgnat/s-pack15.adb
gcc/ada/libgnat/s-pack17.adb
gcc/ada/libgnat/s-pack18.adb
gcc/ada/libgnat/s-pack19.adb
gcc/ada/libgnat/s-pack20.adb
gcc/ada/libgnat/s-pack21.adb
gcc/ada/libgnat/s-pack22.adb
gcc/ada/libgnat/s-pack23.adb
gcc/ada/libgnat/s-pack24.adb
gcc/ada/libgnat/s-pack25.adb
gcc/ada/libgnat/s-pack26.adb
gcc/ada/libgnat/s-pack27.adb
gcc/ada/libgnat/s-pack28.adb
gcc/ada/libgnat/s-pack29.adb
gcc/ada/libgnat/s-pack30.adb
gcc/ada/libgnat/s-pack31.adb
gcc/ada/libgnat/s-pack33.adb
gcc/ada/libgnat/s-pack34.adb
gcc/ada/libgnat/s-pack35.adb
gcc/ada/libgnat/s-pack36.adb
gcc/ada/libgnat/s-pack37.adb
gcc/ada/libgnat/s-pack38.adb
gcc/ada/libgnat/s-pack39.adb
gcc/ada/libgnat/s-pack40.adb
gcc/ada/libgnat/s-pack41.adb
gcc/ada/libgnat/s-pack42.adb
gcc/ada/libgnat/s-pack43.adb
gcc/ada/libgnat/s-pack44.adb
gcc/ada/libgnat/s-pack45.adb
gcc/ada/libgnat/s-pack46.adb
gcc/ada/libgnat/s-pack47.adb
gcc/ada/libgnat/s-pack48.adb
gcc/ada/libgnat/s-pack49.adb
gcc/ada/libgnat/s-pack50.adb
gcc/ada/libgnat/s-pack51.adb
gcc/ada/libgnat/s-pack52.adb
gcc/ada/libgnat/s-pack53.adb
gcc/ada/libgnat/s-pack54.adb
gcc/ada/libgnat/s-pack55.adb
gcc/ada/libgnat/s-pack56.adb
gcc/ada/libgnat/s-pack57.adb
gcc/ada/libgnat/s-pack58.adb
gcc/ada/libgnat/s-pack59.adb
gcc/ada/libgnat/s-pack60.adb
gcc/ada/libgnat/s-pack61.adb
gcc/ada/libgnat/s-pack62.adb
gcc/ada/libgnat/s-pack63.adb
gcc/ada/libgnat/s-pack65.adb
gcc/ada/libgnat/s-pack66.adb
gcc/ada/libgnat/s-pack67.adb
gcc/ada/libgnat/s-pack68.adb
gcc/ada/libgnat/s-pack69.adb
gcc/ada/libgnat/s-pack70.adb
gcc/ada/libgnat/s-pack71.adb
gcc/ada/libgnat/s-pack72.adb
gcc/ada/libgnat/s-pack73.adb
gcc/ada/libgnat/s-pack74.adb
gcc/ada/libgnat/s-pack75.adb
gcc/ada/libgnat/s-pack76.adb
gcc/ada/libgnat/s-pack77.adb
gcc/ada/libgnat/s-pack78.adb
gcc/ada/libgnat/s-pack79.adb
gcc/ada/libgnat/s-pack80.adb
gcc/ada/libgnat/s-pack81.adb
gcc/ada/libgnat/s-pack82.adb
gcc/ada/libgnat/s-pack83.adb
gcc/ada/libgnat/s-pack84.adb
gcc/ada/libgnat/s-pack85.adb
gcc/ada/libgnat/s-pack86.adb
gcc/ada/libgnat/s-pack87.adb
gcc/ada/libgnat/s-pack88.adb
gcc/ada/libgnat/s-pack89.adb
gcc/ada/libgnat/s-pack90.adb
gcc/ada/libgnat/s-pack91.adb
gcc/ada/libgnat/s-pack92.adb
gcc/ada/libgnat/s-pack93.adb
gcc/ada/libgnat/s-pack94.adb
gcc/ada/libgnat/s-pack95.adb
gcc/ada/libgnat/s-pack96.adb
gcc/ada/libgnat/s-pack97.adb
gcc/ada/libgnat/s-pack98.adb
gcc/ada/libgnat/s-pack99.adb
gcc/ada/s-pack.adb.tmpl