diff options
author | Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de> | 2004-05-14 16:04:36 +0200 |
---|---|---|
committer | Tobias Schlüter <tobi@gcc.gnu.org> | 2004-05-14 16:04:36 +0200 |
commit | 5b5afddf1d3af9d2512fb23f420c29baa7fa1fba (patch) | |
tree | 1b42e6e8d8f870eb9eef9d6ac3e7bb409cf3ad38 /gcc/fortran/parse.c | |
parent | 9bc856ddbfbb72ad01f2350ded06d7713781f645 (diff) | |
download | gcc-5b5afddf1d3af9d2512fb23f420c29baa7fa1fba.zip gcc-5b5afddf1d3af9d2512fb23f420c29baa7fa1fba.tar.gz gcc-5b5afddf1d3af9d2512fb23f420c29baa7fa1fba.tar.bz2 |
parse.c (gfc_statement_next_fixed): (Change from Andy's tree) Detect bad continuation line in fixed form sources.
fortran:
* parse.c (gfc_statement_next_fixed): (Change from Andy's tree)
Detect bad continuation line in fixed form sources.
testsuite:
* gfortran.fortran-torture/compile/noncontinuation_1.f90: New
test.
From-SVN: r81845
Diffstat (limited to 'gcc/fortran/parse.c')
-rw-r--r-- | gcc/fortran/parse.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/gcc/fortran/parse.c b/gcc/fortran/parse.c index 1ab5b6a..beec9d6 100644 --- a/gcc/fortran/parse.c +++ b/gcc/fortran/parse.c @@ -420,11 +420,20 @@ next_fixed (void) } /* Since this line starts a statement, it cannot be a continuation - of a previous statement. Hence we mostly ignore column 6. */ + of a previous statement. If we see something here besides a + space or zero, it must be a bad continuation line. */ - if (gfc_next_char_literal (0) == '\n') + c = gfc_next_char_literal (0); + if (c == '\n') goto blank_line; + if (c != ' ' && c!= '0') + { + gfc_buffer_error (0); + gfc_error ("Bad continuation line at %C"); + return ST_NONE; + } + /* Now that we've taken care of the statement label columns, we have to make sure that the first nonblank character is not a '!'. If it is, the rest of the line is a comment. */ |