aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gen_il-fields.ads
diff options
context:
space:
mode:
authorRichard Kenner <kenner@adacore.com>2024-07-12 09:45:26 -0400
committerMarc Poulhiès <dkm@gcc.gnu.org>2024-08-02 09:08:07 +0200
commit3e64ad035302af0cd8e329bb508aa9ef1eb27597 (patch)
tree391a594ea2507a2344cc9c031ce6b59bceb7d3e8 /gcc/ada/gen_il-fields.ads
parent384283f91d218b7dbd0d665996512634383389ce (diff)
downloadgcc-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.ads1
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,