From a1980be8313c131ac0f97966e2574c88296a7669 Mon Sep 17 00:00:00 2001 From: Geert Bosch Date: Thu, 13 Dec 2007 11:32:23 +0100 Subject: [PATCH] sem_eval.adb (Eval_Real_Literal): N_Constant_Declaration is a static context, so do not call Check_Non_Static_Context. 2007-12-06 Geert Bosch * sem_eval.adb (Eval_Real_Literal): N_Constant_Declaration is a static context, so do not call Check_Non_Static_Context. From-SVN: r130857 --- gcc/ada/sem_eval.adb | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/gcc/ada/sem_eval.adb b/gcc/ada/sem_eval.adb index d3b29544b49..d7acaa7d884 100644 --- a/gcc/ada/sem_eval.adb +++ b/gcc/ada/sem_eval.adb @@ -2241,14 +2241,16 @@ package body Sem_Eval is -- in the expander that do not correspond to static expressions. procedure Eval_Real_Literal (N : Node_Id) is - begin - -- If the literal appears in a non-expression context, then it is - -- certainly appearing in a non-static context, so check it. + PK : constant Node_Kind := Nkind (Parent (N)); - if Nkind (Parent (N)) not in N_Subexpr then + begin + -- If the literal appears in a non-expression context + -- and not as part of a number declaration, then it is + -- appearing in a non-static context, so check it. + + if PK not in N_Subexpr and then PK /= N_Number_Declaration then Check_Non_Static_Context (N); end if; - end Eval_Real_Literal; ------------------------