[Ada] Check for "size for" in Special_Msg_Delete
authorBob Duff <duff@adacore.com>
Mon, 16 Dec 2019 10:35:09 +0000 (10:35 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Mon, 16 Dec 2019 10:35:09 +0000 (10:35 +0000)
2019-12-16  Bob Duff  <duff@adacore.com>

gcc/ada/

* errout.ads, errout.adb (Is_Size_Too_Small_Message): Check for
"size for" instead of "size for& too small, minimum allowed is
^".

From-SVN: r279438

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

index e47c8382c3b44a22500573df67642a3eaae1efea..078a238de3763165e7b0123ee7b6b54b75224a1e 100644 (file)
@@ -1,3 +1,9 @@
+2019-12-16  Bob Duff  <duff@adacore.com>
+
+       * errout.ads, errout.adb (Is_Size_Too_Small_Message): Check for
+       "size for" instead of "size for& too small, minimum allowed is
+       ^".
+
 2019-12-16  Eric Botcazou  <ebotcazou@adacore.com>
 
        * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Set only
index 42c7cb904773fef68c6c619270803e4f3638eb91..46e223f8d69ecc6245c5a8d572e71a996da5386f 100644 (file)
@@ -1710,6 +1710,17 @@ package body Errout is
       Specific_Warnings.Init;
    end Initialize;
 
+   -------------------------------
+   -- Is_Size_Too_Small_Message --
+   -------------------------------
+
+   function Is_Size_Too_Small_Message (S : String) return Boolean is
+      Size_For : constant String := "size for";
+   begin
+      return S'Length >= Size_For'Length
+        and then S (S'First .. S'First + Size_For'Length - 1) = Size_For;
+   end Is_Size_Too_Small_Message;
+
    -----------------
    -- No_Warnings --
    -----------------
@@ -3259,7 +3270,7 @@ package body Errout is
 
       --  Processing for "Size too small" messages
 
-      elsif Msg = Size_Too_Small_Message then
+      elsif Is_Size_Too_Small_Message (Msg) then
 
          --  Suppress "size too small" errors in CodePeer mode, since code may
          --  be analyzed in a different configuration than the one used for
index dfa6b8671f37c7bd9c0b533277b5f7c03825f848..64acff496ca24e53f88f4e628b27d56aac476408 100644 (file)
@@ -954,6 +954,7 @@ package Errout is
 
    --  WARNING: There is a matching C declaration of this subprogram in fe.h
 
+   function Is_Size_Too_Small_Message (S : String) return Boolean;
    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