------- 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

Reply via email to