sem_warn.adb (Warn_On_Known_Condition): Refine warning when applied to a variable...
authorEd Schonberg <schonberg@adacore.com>
Mon, 5 Sep 2005 08:04:04 +0000 (10:04 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Mon, 5 Sep 2005 08:04:04 +0000 (10:04 +0200)
2005-09-01  Ed Schonberg  <schonberg@adacore.com>

* sem_warn.adb (Warn_On_Known_Condition): Refine warning when applied
to a variable that is statically known to be constant.

From-SVN: r103889

gcc/ada/sem_warn.adb

index 2b3dfc8d420107ce5ca1ad434467243100472777..d3003df5400ff265c91d3ffa667c84715560affc 100644 (file)
@@ -1648,7 +1648,14 @@ package body Sem_Warn is
                end if;
 
                if True_Branch then
-                  Error_Msg_N ("condition is always True?", Cond);
+                  if Is_Entity_Name (Original_Node (C))
+                    and then Nkind (Cond) /= N_Op_Not
+                  then
+                     Error_Msg_NE
+                      ("object & is always True?", Cond, Original_Node (C));
+                  else
+                     Error_Msg_N ("condition is always True?", Cond);
+                  end if;
                else
                   Error_Msg_N ("condition is always False?", Cond);
                end if;