http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57791
Tobias Burnus <burnus at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |burnus at gcc dot gnu.org --- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> --- (In reply to Po-Chun Chang from comment #0) > Suggested patch > > In method "gfc_check_pointer_assign()" in expr.c, the loop on line 3763 > should break immediately after "warn" is set to "true". All the iterations > after "warn" set to "true" do not perform any useful work, at best they just > set "warn" again to "true". I concur. (Note that the nesting depth is rather shallow [one or two, rarely three and essentially never four or more] and only pointer comparisons are done, which is computationally cheap. Thus, the current version doesn't waste many cycles.)