summaryrefslogtreecommitdiff
path: root/gcc/fortran/match.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fortran/match.c')
-rw-r--r--gcc/fortran/match.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/fortran/match.c b/gcc/fortran/match.c
index 3d119180a73..29b6428ab92 100644
--- a/gcc/fortran/match.c
+++ b/gcc/fortran/match.c
@@ -597,7 +597,7 @@ gfc_match_name_C (const char **buffer)
c = gfc_next_char_literal (INSTRING_WARN);
/* If the user put nothing expect spaces between the quotes, it is valid
- and simply means there is no name= specifier and the name is the fortran
+ and simply means there is no name= specifier and the name is the Fortran
symbol name, all lowercase. */
if (c == '"' || c == '\'')
{
@@ -3466,6 +3466,9 @@ gfc_match_allocate (void)
"type parameter", &old_locus);
goto cleanup;
}
+
+ if (ts.type == BT_CHARACTER)
+ ts.u.cl->length_from_typespec = true;
}
else
{
@@ -5363,7 +5366,7 @@ gfc_match_select_type (void)
array, which can have a reference, from other expressions that
have references, such as derived type components, and are not
allowed by the standard.
- TODO; see is it is sufficent to exclude component and substring
+ TODO; see is it is sufficient to exclude component and substring
references. */
class_array = expr1->expr_type == EXPR_VARIABLE
&& expr1->ts.type != BT_UNKNOWN