aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sem_attr.adb
diff options
context:
space:
mode:
authorJustin Squirek <squirek@adacore.com>2017-01-06 11:07:56 +0000
committerArnaud Charlet <charlet@gcc.gnu.org>2017-01-06 12:07:56 +0100
commitf68d33443ec67d0b0c2a28f04f3c90b28d22b5d4 (patch)
tree90299bd1f90cfe92f0698b7d86b10f0ec7979c0d /gcc/ada/sem_attr.adb
parente11b776b63c214d3e0792fa49ca2153df64d11d9 (diff)
downloadgcc-f68d33443ec67d0b0c2a28f04f3c90b28d22b5d4.zip
gcc-f68d33443ec67d0b0c2a28f04f3c90b28d22b5d4.tar.gz
gcc-f68d33443ec67d0b0c2a28f04f3c90b28d22b5d4.tar.bz2
exp_attr.adb (Expand_N_Attribute_Reference): Add entry for expansion of Finalization_Size attribute.
2017-01-06 Justin Squirek <squirek@adacore.com> * exp_attr.adb (Expand_N_Attribute_Reference): Add entry for expansion of Finalization_Size attribute. * sem_attr.adb (Analyze_Attribute): Add entry to check the semantics of Finalization_Size. (Eval_Attribute): Add null entry for Finalization_Size. * sem_attr.ads: Add Finalization_Size to the implementation dependent attribute list. * snames.ads-tmpl: Add name entry for Finalization_Size attribute. From-SVN: r244134
Diffstat (limited to 'gcc/ada/sem_attr.adb')
-rw-r--r--gcc/ada/sem_attr.adb17
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/ada/sem_attr.adb b/gcc/ada/sem_attr.adb
index 6695253..db2f23d 100644
--- a/gcc/ada/sem_attr.adb
+++ b/gcc/ada/sem_attr.adb
@@ -3833,6 +3833,16 @@ package body Sem_Attr is
Check_Standard_Prefix;
Rewrite (N, New_Occurrence_Of (Boolean_Literals (Fast_Math), Loc));
+ -----------------------
+ -- Finalization_Size --
+ -----------------------
+
+ when Attribute_Finalization_Size =>
+ Check_E0;
+ Analyze_And_Resolve (P);
+ Check_Object_Reference (P);
+ Set_Etype (N, Universal_Integer);
+
-----------
-- First --
-----------
@@ -8398,6 +8408,13 @@ package body Sem_Attr is
Fold_Uint (N,
Eval_Fat.Exponent (P_Base_Type, Expr_Value_R (E1)), Static);
+ -----------------------
+ -- Finalization_Size --
+ -----------------------
+
+ when Attribute_Finalization_Size =>
+ null;
+
-----------
-- First --
-----------