diff options
author | Richard Kenner <kenner@adacore.com> | 2024-07-12 09:45:26 -0400 |
---|---|---|
committer | Marc Poulhiès <dkm@gcc.gnu.org> | 2024-08-02 09:08:07 +0200 |
commit | 3e64ad035302af0cd8e329bb508aa9ef1eb27597 (patch) | |
tree | 391a594ea2507a2344cc9c031ce6b59bceb7d3e8 /gcc/ada/gen_il-fields.ads | |
parent | 384283f91d218b7dbd0d665996512634383389ce (diff) | |
download | gcc-3e64ad035302af0cd8e329bb508aa9ef1eb27597.zip gcc-3e64ad035302af0cd8e329bb508aa9ef1eb27597.tar.gz gcc-3e64ad035302af0cd8e329bb508aa9ef1eb27597.tar.bz2 |
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.
Diffstat (limited to 'gcc/ada/gen_il-fields.ads')
-rw-r--r-- | gcc/ada/gen_il-fields.ads | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/ada/gen_il-fields.ads b/gcc/ada/gen_il-fields.ads index 9b85401..22fd1e3 100644 --- a/gcc/ada/gen_il-fields.ads +++ b/gcc/ada/gen_il-fields.ads @@ -708,6 +708,7 @@ package Gen_IL.Fields is Is_Exception_Handler, Is_Exported, Is_Finalized_Transient, + Is_Finalizer, Is_First_Subtype, Is_Fixed_Lower_Bound_Array_Subtype, Is_Fixed_Lower_Bound_Index_Subtype, |