------- Comment #3 from jv244 at cam dot ac dot uk 2009-08-21 06:09 ------- (In reply to comment #2) > which returns "false". It gets quite complicated if we want to handle: > foo(1)%bar(1:1)%variable(:)(sub:string)
AFAICT this is already handled fine: write(6,*) foo(1)%bar(1:1)%variable(:)(2:4) 1 Error: Two or more part references with nonzero rank must not be specified at (1) > Attached patch does the first steps, but it needs some improvements to handle > "sym" and "comp" correctly. "sym->" appears all over the place in the rest of > the function and it needs to be properly handled. (NOTE: The attached patch > will not work!) I believe that some function which can find if an expression is really a contiguous array in memory is pretty useful. In the end, many optimization (also vectorization) relies on that. I have another example, I will file it as a different PR, but make a 'cross-link' -- jv244 at cam dot ac dot uk changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |burnus at gcc dot gnu dot | |org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41113