https://gcc.gnu.org/g:9cbcf8d1de159e6113fafb5dc2feb4a7e467a302

commit r15-3019-g9cbcf8d1de159e6113fafb5dc2feb4a7e467a302
Author: Arsen Arsenović <ar...@aarsen.me>
Date:   Thu Aug 15 19:17:41 2024 +0200

    gnat: fix lto-type-mismatch between C_Version_String and 
gnat_version_string [PR115917]
    
    gcc/ada/ChangeLog:
    
            PR ada/115917
            * gnatvsn.ads: Add note about the duplication of this value in
            version.c.
            * version.c (VER_LEN_MAX): Define to the same value as
            Gnatvsn.Ver_Len_Max.
            (gnat_version_string): Use VER_LEN_MAX as bound.

Diff:
---
 gcc/ada/gnatvsn.ads | 3 ++-
 gcc/ada/version.c   | 5 ++++-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/gcc/ada/gnatvsn.ads b/gcc/ada/gnatvsn.ads
index 6cf170dc4ca..ca7744b9767 100644
--- a/gcc/ada/gnatvsn.ads
+++ b/gcc/ada/gnatvsn.ads
@@ -83,7 +83,8 @@ package Gnatvsn is
    --  space to store any possible version string value for checks. This
    --  value should never be decreased in the future, but it would be
    --  OK to increase it if absolutely necessary. If it is increased,
-   --  be sure to increase GNAT.Compiler.Version.Ver_Len_Max as well.
+   --  be sure to increase GNAT.Compiler.Version.Ver_Len_Max, and to update
+   --  the VER_LEN_MAX define in version.c as well.
 
    Ver_Prefix : constant String := "GNAT Version: ";
    --  Prefix generated by binder. If it is changed, be sure to change
diff --git a/gcc/ada/version.c b/gcc/ada/version.c
index 5e64edd0b17..2fa9b8c2c85 100644
--- a/gcc/ada/version.c
+++ b/gcc/ada/version.c
@@ -31,4 +31,7 @@
 
 #include "version.h"
 
-char gnat_version_string[] = version_string;
+/* Logically a reference to Gnatvsn.Ver_Len_Max.  Please keep in sync.  */
+#define VER_LEN_MAX 256
+
+char gnat_version_string[VER_LEN_MAX] = version_string;

Reply via email to