mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-18 22:11:41 +08:00
re PR fortran/19259 (";" as first nonblank character on a line should be an error)
2006-07-01 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> fortran/ PR fortran/19259 * parse.c (next_free): Error out on line starting with semicolon. (next_fixed): Fix formatting. Error out on line starting with semicolon. testsuite/ PR fortran/19259 * gfortran.dg/semicolon_fixed.c: New. * gfortran.dg/semicolon_free.c: New. From-SVN: r115115
This commit is contained in:
parent
3e72a66fcd
commit
31c5eee102
@ -1,3 +1,10 @@
|
||||
2006-07-01 Tobias Schl<68>üter <tobias.schlueter@physik.uni-muenchen.de>
|
||||
|
||||
PR fortran/19259
|
||||
* parse.c (next_free): Error out on line starting with semicolon.
|
||||
(next_fixed): Fix formatting. Error out on line starting with
|
||||
semicolon.
|
||||
|
||||
2006-06-30 Kazu Hirata <kazu@codesourcery.com>
|
||||
|
||||
* check.c: Fix a comment typo.
|
||||
|
@ -410,8 +410,9 @@ static gfc_statement
|
||||
next_free (void)
|
||||
{
|
||||
match m;
|
||||
int c, d, cnt;
|
||||
int c, d, cnt, at_bol;
|
||||
|
||||
at_bol = gfc_at_bol ();
|
||||
gfc_gobble_whitespace ();
|
||||
|
||||
c = gfc_peek_char ();
|
||||
@ -447,6 +448,14 @@ next_free (void)
|
||||
|
||||
gfc_gobble_whitespace ();
|
||||
|
||||
if (at_bol && gfc_peek_char () == ';')
|
||||
{
|
||||
gfc_error_now
|
||||
("Semicolon at %C needs to be preceded by statement");
|
||||
gfc_next_char (); /* Eat up the semicolon. */
|
||||
return ST_NONE;
|
||||
}
|
||||
|
||||
if (gfc_match_eos () == MATCH_YES)
|
||||
{
|
||||
gfc_warning_now
|
||||
@ -474,6 +483,13 @@ next_free (void)
|
||||
}
|
||||
}
|
||||
|
||||
if (at_bol && c == ';')
|
||||
{
|
||||
gfc_error_now ("Semicolon at %C needs to be preceded by statement");
|
||||
gfc_next_char (); /* Eat up the semicolon. */
|
||||
return ST_NONE;
|
||||
}
|
||||
|
||||
return decode_statement ();
|
||||
}
|
||||
|
||||
@ -571,7 +587,7 @@ next_fixed (void)
|
||||
if (c == '\n')
|
||||
goto blank_line;
|
||||
|
||||
if (c != ' ' && c!= '0')
|
||||
if (c != ' ' && c != '0')
|
||||
{
|
||||
gfc_buffer_error (0);
|
||||
gfc_error ("Bad continuation line at %C");
|
||||
@ -593,6 +609,12 @@ next_fixed (void)
|
||||
goto blank_line;
|
||||
gfc_current_locus = loc;
|
||||
|
||||
if (c == ';')
|
||||
{
|
||||
gfc_error_now ("Semicolon at %C needs to be preceded by statement");
|
||||
return ST_NONE;
|
||||
}
|
||||
|
||||
if (gfc_match_eos () == MATCH_YES)
|
||||
goto blank_line;
|
||||
|
||||
|
@ -1,3 +1,9 @@
|
||||
2006-07-01 Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
|
||||
|
||||
PR fortran/19259
|
||||
* gfortran.dg/semicolon_fixed.c: New.
|
||||
* gfortran.dg/semicolon_free.c: New.
|
||||
|
||||
2006-06-30 Mike Stump <mrs@apple.com>
|
||||
|
||||
* g++.dg/ext/visibility/fvisibility-override2.C: Fix for systems
|
||||
|
9
gcc/testsuite/gfortran.dg/semicolon_fixed.f
Normal file
9
gcc/testsuite/gfortran.dg/semicolon_fixed.f
Normal file
@ -0,0 +1,9 @@
|
||||
! { dg-do compile }
|
||||
! PR 19259 Semicolon cannot start a line
|
||||
x=1; y=1;
|
||||
x=2;;
|
||||
x=3;
|
||||
; ! { dg-error "Semicolon at" }
|
||||
;; ! { dg-error "Semicolon at" }
|
||||
900 ; ! { dg-error "Semicolon at" }
|
||||
end
|
9
gcc/testsuite/gfortran.dg/semicolon_free.f90
Normal file
9
gcc/testsuite/gfortran.dg/semicolon_free.f90
Normal file
@ -0,0 +1,9 @@
|
||||
! { dg-do compile }
|
||||
! PR 19259 Semicolon cannot start a line
|
||||
x=1; y=1;
|
||||
x=2;;
|
||||
x=3;
|
||||
; ! { dg-error "Semicolon at" }
|
||||
;; ! { dg-error "Semicolon at" }
|
||||
111 ; ! { dg-error "Semicolon at" }
|
||||
end
|
Loading…
x
Reference in New Issue
Block a user