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;