Am 17.05.2013 05:22, schrieb Bud Davis:
Not to much to add beyond the title and the patch.
The test file fails before (eventually, when you run out of stack) and passes
after the patch is applied. No new testsuite failures.
--bud
Index: gcc/gcc/fortran/resolve.c
===================================================================
--- gcc/gcc/fortran/resolve.c (revision 198955)
+++ gcc/gcc/fortran/resolve.c (working copy)
@@ -306,6 +306,14 @@
&& !resolve_procedure_interface (sym))
return;
+ if (strcmp (proc->name,sym->name) == 0)
Missing blank after the comma.
+ {
+ gfc_error ("Self referential argument "
+ "'%s' at %L is not allowed", sym->name,
+ &proc->declared_at);
+ return;
Indentation is wrong. (As a friend of hyphens, I would add one between
self and referential, but it is also fine without.)
!{ dg-do compile }
! submitted by zec...@gmail.com
!{ dg-prune-output "Obsolescent feature: Statement function at" }
Please add "! PR fortran/50405" as comment.
Instead of dg-prune-output, you could also use: '! { dg-options "" }'.
That will override the default setting, i.e. it removes the "-pedantic".
f(f) = 0 ! { dg-error "Self referential argument" }
end
2013-05-17 Bud Davis <jmda...@link.com>
PR fortran/50405
resolve.c (resolve_formal_arglist): Detect error when an argument
has the same name as the function.
OK and thanks for the patch!
Tobias
PS: Nice that you are back to (casual) gfortran development.