------- Comment #6 from burnus at gcc dot gnu dot org  2009-10-16 20:25 -------
(In reply to comment #5)
> (In reply to comment #4)
> > Note: It seems this will be legal again in F08.
> 
> That is: for certain cases (ALLOCATABLE). The example in comment #0 is still
> illegal.

"if the variable is polymorphic it shall be type compatible with expr"

That's obvious. If I have "CLASS(t) :: c", I cannot do an intrinsic assignment
such as "c = .true." - or  "c = t2" (assuming that "t2" does not extend "t").


Regarding:
"if the variable is polymorphic it shall be allocatable and not a coarray,"

Allocatables are special as for  "A = B", A is (re)allocated on the fly iff A
is unallocated or the shape/length type parameters does not match the RHS. (If
they do match, no reallocation is happening - which matters if "A" has the
TARGET attribute and is associated with a pointer.)
Cf. "7.2.1.3 Interpretation of intrinsic assignments".

I suggest to ignore F2008 and defer it until we have the realloc on assignment
implemented. Cf. PR 35810.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41719

Reply via email to