This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
According to the standard, "A part-name to the right of a part-ref with nonzero rank shall not have the ALLOCATABLE or POINTER attribute." (F2003 draft standard, page 105, lines 12-13). Currently we accept it for ALLOCATABLEs for some cases (e.g. as procedure arguments, and in WHEREs), but get ICEs for other cases (e.g. plain array assignments). The question now is what we should do about this. We could (a) Allways reject (attached patch does that). (b) Accept it as an extension. Those cases that don't work can be implemented eventually (I can open a PR). This would be a nice extension, but it has the downside that it could get quite complicated. I haven't thought a lot about it, but I guess that e.g. p => x(:)%y(1) where y is an allocatable component, is somewhere between difficult and impossible to implement. (c) Like (b), but reject the most difficult cases. Perhaps we could do (a) for 4.2, and (c) for 4.3? Opinions? Erik
Attachment:
obv.diff
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |