aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/decl.c
diff options
context:
space:
mode:
authorTobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>2004-06-26 13:48:55 +0200
committerTobias Schlüter <tobi@gcc.gnu.org>2004-06-26 13:48:55 +0200
commit0ff0dfbf18bc964cf71b64dc6f1f1298bea12d04 (patch)
treeca81227af63fdf3b92639bbe4738863f47220ab2 /gcc/fortran/decl.c
parente9e4d4ee5bd8785e26bc03f932ffbcfd6b19b918 (diff)
downloadgcc-0ff0dfbf18bc964cf71b64dc6f1f1298bea12d04.zip
gcc-0ff0dfbf18bc964cf71b64dc6f1f1298bea12d04.tar.gz
gcc-0ff0dfbf18bc964cf71b64dc6f1f1298bea12d04.tar.bz2
Andrew Vaught <andyv@firstinter.net>
2004-06-25 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> Andrew Vaught <andyv@firstinter.net> PR fortran/15190 * decl.c (gfc_match_type_spec), io.c (match_io), parse.c (decode_statement): Enforce required space in free-form. Co-Authored-By: Andrew Vaught <andyv@firstinter.net> From-SVN: r83708
Diffstat (limited to 'gcc/fortran/decl.c')
-rw-r--r--gcc/fortran/decl.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c
index c6b8073..2790865 100644
--- a/gcc/fortran/decl.c
+++ b/gcc/fortran/decl.c
@@ -884,6 +884,7 @@ gfc_match_type_spec (gfc_typespec * ts, int kind_flag)
char name[GFC_MAX_SYMBOL_LEN + 1];
gfc_symbol *sym;
match m;
+ int c;
gfc_clear_ts (ts);
@@ -962,6 +963,14 @@ get_kind:
if (kind_flag == 0)
return MATCH_YES;
+ if (gfc_current_form == FORM_FREE)
+ {
+ c = gfc_peek_char();
+ if (!gfc_is_whitespace(c) && c != '*' && c != '('
+ && c != ':' && c != ',')
+ return MATCH_NO;
+ }
+
m = gfc_match_kind_spec (ts);
if (m == MATCH_NO && ts->type != BT_CHARACTER)
m = gfc_match_old_kind_spec (ts);