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);
 }

Reply via email to