From: Robert Dewar Date: Fri, 12 Oct 2001 00:28:21 +0000 (+0000) Subject: sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null loop in generic... X-Git-Tag: prereleases/libstdc++-3.0.95~1650 X-Git-Url: https://gcc.gnu.org/git/?a=commitdiff_plain;h=4fa964a6922315292c8228bd810fbb5d3c9485ba;p=gcc.git sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null loop in generic instance... * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null loop in generic instance, since this is likely not very useful. From-SVN: r46215 --- diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index b21f3c51ae54..942f41849b99 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2001-10-11 Robert Dewar + + * 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 * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize diff --git a/gcc/ada/sem_ch5.adb b/gcc/ada/sem_ch5.adb index 658a685ced77..5fc1585077fd 100644 --- a/gcc/ada/sem_ch5.adb +++ b/gcc/ada/sem_ch5.adb @@ -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