On Wed, Jul 13, 2011 at 5:16 PM, Ian Lance Taylor <i...@google.com> wrote: > Tobias Burnus <bur...@net-b.de> writes: > >> In that sense, I do not seem to need a new flags for >> asynchronous/coarrays - which are handled by TYPE_QUAL_RESTRICT, but I >> need a new flag for normal (noncoarray, nonasychronous) variables, >> which are passed by value or are allocatable - and where a function >> call won't affect the value. > > Yes, sounds like it. At first glance I don't think it should be a > TYPE_QUAL, I think it should be a flag on the DECL.
The issue is that it needs to work for pointer targets - and we don't have a decl for that anonymous thing. The closest we have is middle-end support for restrict qualified pointers which of course cannot capture all of the Fortran semantics, but they can at least capture some. That Fortran passes everything by reference is really really not helping optimizers. It's also not helping that my Fortran FU is weak so I'm not able to produce testcases that will immediately show issues with (proposed) middle-end representations. Richard. > Ian >