aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sem_eval.adb
diff options
context:
space:
mode:
authorHristian Kirtchev <kirtchev@adacore.com>2018-07-16 14:12:28 +0000
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>2018-07-16 14:12:28 +0000
commit400ad4e950bcd8f0940990ea558b1227d8930285 (patch)
tree34c990bf91315fc62636fc041e795b493a1d3a69 /gcc/ada/sem_eval.adb
parent4af4c79a53886d0807f187f23e066fe4f0265897 (diff)
downloadgcc-400ad4e950bcd8f0940990ea558b1227d8930285.zip
gcc-400ad4e950bcd8f0940990ea558b1227d8930285.tar.gz
gcc-400ad4e950bcd8f0940990ea558b1227d8930285.tar.bz2
[Ada] Minor reformatting
2018-07-16 Hristian Kirtchev <kirtchev@adacore.com> gcc/ada/ * einfo.adb, exp_ch7.adb, exp_ch9.adb, exp_unst.adb, inline.adb, sem.adb, sem_ch12.adb, sem_ch13.adb, sem_ch3.adb, sem_eval.adb, sem_util.adb: Minor reformatting. From-SVN: r262730
Diffstat (limited to 'gcc/ada/sem_eval.adb')
-rw-r--r--gcc/ada/sem_eval.adb37
1 files changed, 19 insertions, 18 deletions
diff --git a/gcc/ada/sem_eval.adb b/gcc/ada/sem_eval.adb
index ab85879..233f24d 100644
--- a/gcc/ada/sem_eval.adb
+++ b/gcc/ada/sem_eval.adb
@@ -2688,9 +2688,7 @@ package body Sem_Eval is
-- the expander that do not correspond to static expressions.
procedure Eval_Integer_Literal (N : Node_Id) is
- T : constant Entity_Id := Etype (N);
-
- function In_Any_Integer_Context return Boolean;
+ function In_Any_Integer_Context (Context : Node_Id) return Boolean;
-- If the literal is resolved with a specific type in a context where
-- the expected type is Any_Integer, there are no range checks on the
-- literal. By the time the literal is evaluated, it carries the type
@@ -2701,22 +2699,25 @@ package body Sem_Eval is
-- In_Any_Integer_Context --
----------------------------
- function In_Any_Integer_Context return Boolean is
- Par : constant Node_Id := Parent (N);
- K : constant Node_Kind := Nkind (Par);
-
+ function In_Any_Integer_Context (Context : Node_Id) return Boolean is
begin
-- Any_Integer also appears in digits specifications for real types,
-- but those have bounds smaller that those of any integer base type,
-- so we can safely ignore these cases.
- return Nkind_In (K, N_Number_Declaration,
- N_Attribute_Reference,
- N_Attribute_Definition_Clause,
- N_Modular_Type_Definition,
- N_Signed_Integer_Type_Definition);
+ return
+ Nkind_In (Context, N_Attribute_Definition_Clause,
+ N_Attribute_Reference,
+ N_Modular_Type_Definition,
+ N_Number_Declaration,
+ N_Signed_Integer_Type_Definition);
end In_Any_Integer_Context;
+ -- Local variables
+
+ Par : constant Node_Id := Parent (N);
+ Typ : constant Entity_Id := Etype (N);
+
-- Start of processing for Eval_Integer_Literal
begin
@@ -2732,20 +2733,20 @@ package body Sem_Eval is
-- Check_Non_Static_Context on an expanded literal may lead to spurious
-- and misleading warnings.
- if (Nkind_In (Parent (N), N_If_Expression, N_Case_Expression_Alternative)
+ if (Nkind_In (Par, N_If_Expression, N_Case_Expression_Alternative)
or else Nkind (Parent (N)) not in N_Subexpr)
- and then (not Nkind_In (Parent (N), N_If_Expression,
- N_Case_Expression_Alternative)
+ and then (not Nkind_In (Par, N_Case_Expression_Alternative,
+ N_If_Expression)
or else Comes_From_Source (N))
- and then not In_Any_Integer_Context
+ and then not In_Any_Integer_Context (Par)
then
Check_Non_Static_Context (N);
end if;
-- Modular integer literals must be in their base range
- if Is_Modular_Integer_Type (T)
- and then Is_Out_Of_Range (N, Base_Type (T), Assume_Valid => True)
+ if Is_Modular_Integer_Type (Typ)
+ and then Is_Out_Of_Range (N, Base_Type (Typ), Assume_Valid => True)
then
Out_Of_Range (N);
end if;