diff options
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r-- | gcc/fortran/resolve.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index 4244205..6338b06 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -6804,7 +6804,6 @@ build_default_init_expr (gfc_symbol *sym) int char_len; gfc_expr *init_expr; int i; - char *ch; /* These symbols should never have a default initialization. */ if ((sym->attr.dimension && !gfc_is_compile_time_shape (sym->as)) @@ -6922,10 +6921,10 @@ build_default_init_expr (gfc_symbol *sym) { char_len = mpz_get_si (sym->ts.cl->length->value.integer); init_expr->value.character.length = char_len; - init_expr->value.character.string = gfc_getmem (char_len+1); - ch = init_expr->value.character.string; + init_expr->value.character.string = gfc_get_wide_string (char_len+1); for (i = 0; i < char_len; i++) - *(ch++) = gfc_option.flag_init_character_value; + init_expr->value.character.string[i] + = (unsigned char) gfc_option.flag_init_character_value; } else { |