aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/simplify.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fortran/simplify.c')
-rw-r--r--gcc/fortran/simplify.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/gcc/fortran/simplify.c b/gcc/fortran/simplify.c
index 8748ecf..cdefcb5 100644
--- a/gcc/fortran/simplify.c
+++ b/gcc/fortran/simplify.c
@@ -6739,16 +6739,26 @@ gfc_convert_char_constant (gfc_expr *e, bt type ATTRIBUTE_UNUSED, int kind)
gfc_expr *
gfc_simplify_compiler_options (void)
{
- /* FIXME: PR40569 - return the proper compiler arguments. */
- return gfc_get_character_expr (gfc_default_character_kind,
- &gfc_current_locus, "", 0);
+ char *str;
+ gfc_expr *result;
+
+ str = gfc_get_option_string ();
+ result = gfc_get_character_expr (gfc_default_character_kind,
+ &gfc_current_locus, str, strlen (str));
+ gfc_free (str);
+ return result;
}
gfc_expr *
gfc_simplify_compiler_version (void)
{
+ char *buffer;
+ size_t len;
+
+ len = strlen ("GCC version ") + strlen (version_string) + 1;
+ buffer = (char*) alloca (len);
+ snprintf (buffer, len, "GCC version %s", version_string);
return gfc_get_character_expr (gfc_default_character_kind,
- &gfc_current_locus, version_string,
- strlen (version_string));
+ &gfc_current_locus, buffer, len);
}