Am 07.08.2011 19:05, schrieb Janus Weil:
2011/8/7 Thomas Koenig<tkoe...@netcologne.de>:
Am 07.08.2011 12:56, schrieb Janus Weil:
+ /* Check string length. */
+ if (proc_target->result->ts.type == BT_CHARACTER
+&& proc_target->result->ts.u.cl&& old_target->result->ts.u.cl
+&& gfc_dep_compare_expr (proc_target->result->ts.u.cl->length,
+ old_target->result->ts.u.cl->length) !=
0)
+ {
+ gfc_error ("Character length mismatch between '%s' at '%L' "
+ "and overridden FUNCTION", proc->name,&where);
+ return FAILURE;
+ }
}
Well, let's make this into (again, typing the patch directly into
e-mail)
[...]
and then work on extending gfc_dep_compare_expr to return -3 for more cases.
I can help with that.
Alright then. How about this: I'll commit the attached verision of the
patch (including your suggestions), and we start messing with the
return values afterwards? Patch is regtested on
x86_64-unknown-linux-gnu. I hope the test case is sufficient for a
start.
This is OK. Thanks for the patch (and for bearing with me ;-)
When extending the values of gfc_dep_compare_expr, we will need to go
through all its uses (making sure we change == -2 to <= -2).
Regards
Thomas