http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47633
kargl at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed| |2011.02.07 16:02:20
CC| |kargl at gcc dot gnu.org
Ever Confirmed|0 |1
--- Comment #1 from kargl at gcc dot gnu.org 2011-02-07 16:02:20 UTC ---
Confirmed. Here's a tentative patch and testcase.
! { dg-do run }
! PR fortran/47633
program testenv
use iso_fortran_env
character(len=60) v
integer n
v = compiler_version()
n = len(compiler_version())
if (ichar(v(n:n)) /= 32) call abort()
end program testenv
troutmask:sgk[291] svn diff simplify.c
Index: simplify.c
===================================================================
--- simplify.c (revision 169830)
+++ simplify.c (working copy)
@@ -6837,7 +6837,6 @@ gfc_simplify_compiler_options (void)
return result;
}
-
gfc_expr *
gfc_simplify_compiler_version (void)
{
@@ -6845,8 +6844,10 @@ gfc_simplify_compiler_version (void)
size_t len;
len = strlen ("GCC version ") + strlen (version_string) + 1;
- buffer = (char*) alloca (len);
+ buffer = (char *) alloca (len);
snprintf (buffer, len, "GCC version %s", version_string);
+ /* Remove the terminating NULL character. */
+ buffer[strlen(buffer)] = ' ';
return gfc_get_character_expr (gfc_default_character_kind,
&gfc_current_locus, buffer, len);
}