re PR fortran/90985 (Wrong error message with variables named "DATA*")

2019-08-02  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/90985
	* decl.c (gfc_match_data): In free-form code, DATA be followed by
	whitespace.

2019-08-02  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/90985
	* gfortran.dg/pr90985.f90: New test.

From-SVN: r274033
This commit is contained in:
Steven G. Kargl 2019-08-02 23:48:36 +00:00
parent 5cd3301ba8
commit 623c32bc78
4 changed files with 32 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2019-08-02 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/90985
* decl.c (gfc_match_data): In free-form code, DATA be followed by
whitespace.
2019-08-02 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/90986

View File

@ -621,6 +621,13 @@ gfc_match_data (void)
gfc_expr *e;
gfc_ref *ref;
match m;
char c;
/* DATA has been matched. In free form source code, the next character
needs to be whitespace. Check that here. */
c = gfc_peek_ascii_char ();
if (gfc_current_form == FORM_FREE && !gfc_is_whitespace (c))
return MATCH_NO;
/* Before parsing the rest of a DATA statement, check F2008:c1206. */
if ((gfc_current_state () == COMP_FUNCTION

View File

@ -1,3 +1,8 @@
2019-08-02 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/90985
* gfortran.dg/pr90985.f90: New test.
2019-08-02 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/90986

View File

@ -0,0 +1,14 @@
! { dg-do compile }
module mymod
type :: mytyp
integer :: i
end type mytyp
contains
subroutine mysub
implicit none
type(mytyp) :: a
integer :: datai,dataj
datai = a%i
dataj = a%j ! { dg-error "is not a member of the" }
end subroutine mysub
end module mymod