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