OSDN Git Service

* sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
authorbosch <bosch@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 12 Oct 2001 00:28:21 +0000 (00:28 +0000)
committerbosch <bosch@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 12 Oct 2001 00:28:21 +0000 (00:28 +0000)
loop in generic instance, since this is likely not very useful.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46215 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ada/ChangeLog
gcc/ada/sem_ch5.adb

index b21f3c5..942f418 100644 (file)
@@ -1,5 +1,10 @@
 2001-10-11  Robert Dewar <dewar@gnat.com>
 
+       * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null 
+       loop in generic instance, since this is likely not very useful.
+
+2001-10-11  Robert Dewar <dewar@gnat.com>
+
        * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize 
        the error message for high integrity mode.
        
index 658a685..5fc1585 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---                            $Revision: 1.262 $
+--                            $Revision$
 --                                                                          --
 --          Copyright (C) 1992-2001 Free Software Foundation, Inc.          --
 --                                                                          --
@@ -941,11 +941,15 @@ package body Sem_Ch5 is
                   F := Freeze_Entity (Id, Sloc (LP));
                   pragma Assert (F = No_List);
 
-                  --  Check for null or possibly null range and issue warning
+                  --  Check for null or possibly null range and issue warning.
+                  --  We suppress such messages in generic templates and
+                  --  instances, because in practice they tend to be dubious
+                  --  in these cases.
 
                   if Nkind (DS) = N_Range
                     and then Comes_From_Source (N)
                     and then not Inside_A_Generic
+                    and then not In_Instance
                   then
                      declare
                         L : constant Node_Id := Low_Bound  (DS);
@@ -965,11 +969,9 @@ package body Sem_Ch5 is
                         --  If range of loop is null, issue warning
 
                         if (LOK and HOK) and then Llo > Hhi then
-                           Warn_On_Instance := True;
                            Error_Msg_N
                              ("?loop range is null, loop will not execute",
                               DS);
-                           Warn_On_Instance := False;
 
                         --  The other case for a warning is a reverse loop
                         --  where the upper bound is the integer literal