]> git.ipfire.org Git - thirdparty/gcc.git/commit
ada: Clean up handling of inlining of finalizer procedures
authorRichard Kenner <kenner@adacore.com>
Fri, 12 Jul 2024 13:45:26 +0000 (09:45 -0400)
committerMarc Poulhiès <dkm@gcc.gnu.org>
Fri, 2 Aug 2024 07:08:07 +0000 (09:08 +0200)
commit3e64ad035302af0cd8e329bb508aa9ef1eb27597
tree391a594ea2507a2344cc9c031ce6b59bceb7d3e8
parent384283f91d218b7dbd0d665996512634383389ce
ada: Clean up handling of inlining of finalizer procedures

Change Is_Finalizer from synthesized attribute into flag. Remove duplicate
Is_Finalizer_Proc. Add new Try_Inline_Always for backend usage.

gcc/ada/

* einfo-utils.ads (Is_Finalizer): Delete.
* einfo-utils.adb (Is_Finalizer): Delete.
* einfo.ads: Adjust comment.
* gen_il-fields.ads, gen_il-gen-gen_entities.adb: Add Is_Finalizer
flag.
* exp_ch3.adb (Build_Init_Procedure): Set it.
* exp_ch7.adb (Create_Finalizer): Likewise.
* exp_util.adb (Try_Inline_Always): New function.
* exp_util.ads (Try_Inline_Always): New function.
* sem_elab.adb (Is_Finalizer_Proc): Replace with Is_Finalizer.
gcc/ada/einfo-utils.adb
gcc/ada/einfo-utils.ads
gcc/ada/einfo.ads
gcc/ada/exp_ch3.adb
gcc/ada/exp_ch7.adb
gcc/ada/exp_util.adb
gcc/ada/exp_util.ads
gcc/ada/gen_il-fields.ads
gcc/ada/gen_il-gen-gen_entities.adb
gcc/ada/sem_elab.adb