[PATCH] remove duplicated lines in gcc/fortran/resolve.c
Mon Sep 22 10:32:00 GMT 2014
Le 21 sept. 2014 à 10:44, FX <email@example.com> a écrit :
>> AFAICT the lines 11200-11222 in gcc/fortran/resolve.c are a copy of
>> the lines 11176-11198.
> The duplicates were introduced by revision 126468, an unrelated patch, after the original commit of the code as 126466. It looks like a svn/patch mishap.
Thanks for tracking the origin of the problem. After having tested a patch, I usually do not revert it before doing the svn update when it is committed. If a last minute change has been made between the patch and the commit, it results in general a conflict during the svn update. However I have seen a couple times the patched tree is simply merged with the update leading to a duplicated piece of code.
For the record, while the two blocks were identical from a functional pout of view, their formatting were slightly different:
< "PUBLIC interface '%s' at %L takes "
< "dummy arguments of '%s' which is "
< "PRIVATE", iface->sym->name,
> "PUBLIC interface '%s' at %L "
> "takes dummy arguments of '%s' which "
> "is PRIVATE", iface->sym->name,
>> The following patch removes the duplicated
>> lines. OK for the trunk?
> You didn’t say if it was regtested. OK if it was (one can never be too sure!)
The patch has been in my working tree for months. I have posted recent test results with the patch (and r211089 reverted to fix pr61387) at
This is what I have committed as revision r215452
--- gcc/fortran/ChangeLog (revision 215451)
+++ gcc/fortran/ChangeLog (working copy)
@@ -1,3 +1,7 @@
+2014-09-21 Dominique d'Humieres <firstname.lastname@example.org>
+ * resolve.c (resolve_fl_procedure): Remove duplicated lines.
2014-09-20 Alessandro Fanfarillo <email@example.com>
Tobias Burnus <firstname.lastname@example.org>
--- gcc/fortran/resolve.c (revision 215451)
+++ gcc/fortran/resolve.c (working copy)
@@ -11196,30 +11196,6 @@
- /* PUBLIC interfaces may expose PRIVATE procedures that take types
- PRIVATE to the containing module. */
- for (iface = sym->generic; iface; iface = iface->next)
- for (arg = gfc_sym_get_dummy_args (iface->sym); arg; arg = arg->next)
- if (arg->sym
- && arg->sym->ts.type == BT_DERIVED
- && !arg->sym->ts.u.derived->attr.use_assoc
- && !gfc_check_symbol_access (arg->sym->ts.u.derived)
- && !gfc_notify_std (GFC_STD_F2003, "Procedure '%s' in "
- "PUBLIC interface '%s' at %L takes "
- "dummy arguments of '%s' which is "
- "PRIVATE", iface->sym->name,
- sym->name, &iface->sym->declared_at,
- /* Stop this message from recurring. */
- arg->sym->ts.u.derived->attr.access = ACCESS_PUBLIC;
- return false;
if (sym->attr.function && sym->value && sym->attr.proc != PROC_ST_FUNCTION
Thanks for the review,
More information about the Gcc-patches