[Ada] Assert failure with -gnatwr
authorArnaud Charlet <charlet@adacore.com>
Wed, 3 Jun 2020 16:27:43 +0000 (12:27 -0400)
committerPierre-Marie de Rodat <derodat@adacore.com>
Wed, 15 Jul 2020 13:42:51 +0000 (09:42 -0400)
gcc/ada/

* sem_res.adb (Resolve_Type_Conversion): Protect against null
entity.  Add proper tag for -gnatwr warning.

gcc/ada/sem_res.adb

index 8b2f23c63404d1a5f2d25a20f4d00dd495774a08..f1c01779b918b3e191c224ee4b77d0bf8b2e495c 100644 (file)
@@ -11679,6 +11679,7 @@ package body Sem_Res is
          --  odd subtype coming from the bounds).
 
          if (Is_Entity_Name (Orig_N)
+              and then Present (Entity (Orig_N))
               and then
                 (Etype (Entity (Orig_N)) = Orig_T
                   or else
@@ -11733,17 +11734,15 @@ package body Sem_Res is
             --  entity, give the name of the entity in the message. If not,
             --  just mention the expression.
 
-            --  Shoudn't we test Warn_On_Redundant_Constructs here ???
-
             else
                if Is_Entity_Name (Orig_N) then
                   Error_Msg_Node_2 := Orig_T;
                   Error_Msg_NE -- CODEFIX
-                    ("??redundant conversion, & is of type &!",
+                    ("?r?redundant conversion, & is of type &!",
                      N, Entity (Orig_N));
                else
                   Error_Msg_NE
-                    ("??redundant conversion, expression is of type&!",
+                    ("?r?redundant conversion, expression is of type&!",
                      N, Orig_T);
                end if;
             end if;