aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Trojanek <trojanek@adacore.com>2020-11-23 15:39:32 +0100
committerPierre-Marie de Rodat <derodat@adacore.com>2020-12-15 06:41:49 -0500
commita8ecf5ec3288acf2c6578de794050764189bf12d (patch)
tree54a8ab2c2ab8ce16bd63cbb145019b3f6c55e42a
parent69bd5d473d22157d0737fc20e98eb3347cbd6ab5 (diff)
downloadgcc-a8ecf5ec3288acf2c6578de794050764189bf12d.zip
gcc-a8ecf5ec3288acf2c6578de794050764189bf12d.tar.gz
gcc-a8ecf5ec3288acf2c6578de794050764189bf12d.tar.bz2
[Ada] Refactor duplicated code for Compose, Leading_Part and Scaling
gcc/ada/ * sem_attr.adb (Analyze_Attribute): Merge identical code for Compose, Leading_Part and Scaling attributes.
-rw-r--r--gcc/ada/sem_attr.adb17
1 files changed, 6 insertions, 11 deletions
diff --git a/gcc/ada/sem_attr.adb b/gcc/ada/sem_attr.adb
index 1a574c6..3a05565 100644
--- a/gcc/ada/sem_attr.adb
+++ b/gcc/ada/sem_attr.adb
@@ -3496,7 +3496,10 @@ package body Sem_Attr is
-- Compose --
-------------
- when Attribute_Compose =>
+ when Attribute_Compose
+ | Attribute_Leading_Part
+ | Attribute_Scaling
+ =>
Check_Floating_Point_Type_2;
Set_Etype (N, P_Base_Type);
Resolve (E1, P_Base_Type);
@@ -4319,11 +4322,7 @@ package body Sem_Attr is
-- Leading_Part --
------------------
- when Attribute_Leading_Part =>
- Check_Floating_Point_Type_2;
- Set_Etype (N, P_Base_Type);
- Resolve (E1, P_Base_Type);
- Resolve (E2, Any_Integer);
+ -- Shares processing with Compose attribute
------------
-- Length --
@@ -5949,11 +5948,7 @@ package body Sem_Attr is
-- Scaling --
-------------
- when Attribute_Scaling =>
- Check_Floating_Point_Type_2;
- Set_Etype (N, P_Base_Type);
- Resolve (E1, P_Base_Type);
- Resolve (E2, Any_Integer);
+ -- Shares processing with Compose attribute
------------------
-- Signed_Zeros --