]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
sem_eval.adb (Eval_Real_Literal): N_Constant_Declaration is a static context, so...
authorGeert Bosch <bosch@adacore.com>
Thu, 13 Dec 2007 10:32:23 +0000 (11:32 +0100)
committerArnaud Charlet <charlet@gcc.gnu.org>
Thu, 13 Dec 2007 10:32:23 +0000 (11:32 +0100)
2007-12-06  Geert Bosch  <bosch@adacore.com>

* 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

index d3b29544b49ea940a8817994c3dc2b8145a6dffb..d7acaa7d884c09261e56d51d78c09be045be4a76 100644 (file)
@@ -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
+      PK : constant Node_Kind := Nkind (Parent (N));
+
    begin
-      --  If the literal appears in a non-expression context, then it is
-      --  certainly appearing in a non-static context, so check it.
+      --  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 Nkind (Parent (N)) not in N_Subexpr then
+      if PK not in N_Subexpr and then PK /= N_Number_Declaration then
          Check_Non_Static_Context (N);
       end if;
-
    end Eval_Real_Literal;
 
    ------------------------