------- Comment #2 from jv244 at cam dot ac dot uk 2008-01-04 07:02 ------- (In reply to comment #1) > This is almost impossible to diagnose. Do you know of any compiler that > detects this?
I think that lahey detects this at runtime. Almost all compilers detect the simple case of directly (i.e. not through a call) modifing the variable. I think it is actually a rather useful warning/error since it is an easy mistake to make. > > The only way I see to diagnose this, is to mark all do loop variables as such, > and warn about all assignments to such variables in contained functions. > which also seems undesirable... Thoughts? > I don't think this would be good enough without the extra check that this contained function is called from within the corresponding loop. In principle all information is available in this case, but I guess it might be difficult to extract. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34656