Commit d73e0ccf by Jerry DeLisle

re PR fortran/66575 (Endless compilation on missing end interface)

2016-07-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/66575
	* decl.c (match_procedure_interface): Exit loop if procedure
	interface refers to itself.

	* gfortran.dg: pr65575.f90: New test.

From-SVN: r237994
parent c20f6223
2016-07-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/66575
* decl.c (match_procedure_interface): Exit loop if procedure
interface refers to itself.
2016-07-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/35849
......
......@@ -5454,7 +5454,8 @@ match_procedure_interface (gfc_symbol **proc_if)
/* Resolve interface if possible. That way, attr.procedure is only set
if it is declared by a later procedure-declaration-stmt, which is
invalid per F08:C1216 (cf. resolve_procedure_interface). */
while ((*proc_if)->ts.interface)
while ((*proc_if)->ts.interface
&& *proc_if != (*proc_if)->ts.interface)
*proc_if = (*proc_if)->ts.interface;
if ((*proc_if)->attr.flavor == FL_UNKNOWN
......
2016-07-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/65575
* gfortran.dg: pr65575.f90: New test.
2016-07-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/35849
* gfortran.dg: pr35849.f90: New test.
......
! { dg-do compile }
! Bug 66575 - Endless compilation on missing end interface
program p
procedure(g) :: g ! { dg-error "may not be used as its own interface" }
procedure(g) ! { dg-error "Syntax error in PROCEDURE statement" }
end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment