[Ada] Factor out the "size for& too small..." error message
authorBob Duff <duff@adacore.com>
Mon, 19 Aug 2019 08:36:12 +0000 (08:36 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Mon, 19 Aug 2019 08:36:12 +0000 (08:36 +0000)
Use a constant for the Size_Too_Small_Message, so if it changes, it
won't change in one place but not another.  DRY. It might be better to
move this code out of errout.adb, but that's for another day.

2019-08-19  Bob Duff  <duff@adacore.com>

gcc/ada/

* errout.ads (Size_Too_Small_Message): New constant.
* errout.adb, freeze.adb, sem_ch13.adb: Use it.

From-SVN: r274648

gcc/ada/ChangeLog
gcc/ada/errout.adb
gcc/ada/errout.ads
gcc/ada/freeze.adb
gcc/ada/sem_ch13.adb

index e1342f48754d0a32a800bb6d9b0891b35074aac0..c01d358e71ee2b0cf060734eb79aea6581c15011 100644 (file)
@@ -1,3 +1,8 @@
+2019-08-19  Bob Duff  <duff@adacore.com>
+
+       * errout.ads (Size_Too_Small_Message): New constant.
+       * errout.adb, freeze.adb, sem_ch13.adb: Use it.
+
 2019-08-19  Eric Botcazou  <ebotcazou@adacore.com>
 
        * exp_dist.adb (Build_Package_Stubs): Do not specifically visit
index ea524f33ee384f33723203b993717f73c12b835b..f5a4925eabc95d3f234eaf9bfba3012c9d7fbf67 100644 (file)
@@ -3259,7 +3259,7 @@ package body Errout is
 
       --  Processing for "Size too small" messages
 
-      elsif Msg = "size for& too small, minimum allowed is ^" then
+      elsif Msg = Size_Too_Small_Message then
 
          --  Suppress "size too small" errors in CodePeer mode, since code may
          --  be analyzed in a different configuration than the one used for
index 10a43b1b7b640fbb673001f27e116753e33a976e..9a54c7c68b6e2c9069c78f3a0ae434a297b81ec5 100644 (file)
@@ -948,4 +948,10 @@ package Errout is
    --  This name is the identifier name as passed, cased according to the
    --  default identifier casing for the given file.
 
+   Size_Too_Small_Message : constant String :=
+     "size for& too small, minimum allowed is ^";
+   --  This message is explicitly tested in Special_Msg_Delete in the package
+   --  body, which is somewhat questionable, but at least by using a constant
+   --  we are obeying the DRY principle.
+
 end Errout;
index 78d1ed46fefd27852377bd6a2f027fa15f3383a7..70f4b9dc0f50c76d2bc35be6417967b89f3f7901 100644 (file)
@@ -786,9 +786,7 @@ package body Freeze is
          elsif Has_Size_Clause (T) then
             if RM_Size (T) < S then
                Error_Msg_Uint_1 := S;
-               Error_Msg_NE
-                 ("size for& too small, minimum allowed is ^",
-                  Size_Clause (T), T);
+               Error_Msg_NE (Size_Too_Small_Message, Size_Clause (T), T);
             end if;
 
          --  Set size if not set already
index 35a295c8cf3843f6997fdae4a4e511e4d685f21a..92e308ae0d98acec4bb13f2d7c0719c99c19ca14 100644 (file)
@@ -10835,7 +10835,7 @@ package body Sem_Ch13 is
 
          if not ASIS_Mode then
             Error_Msg_Uint_1 := Min_Siz;
-            Error_Msg_NE ("size for& too small, minimum allowed is ^", N, T);
+            Error_Msg_NE (Size_Too_Small_Message, N, T);
          end if;
       end Size_Too_Small_Error;