http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47768
janus at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |ice-on-invalid-code
--- Comment #1 from janus at gcc dot gnu.org 2011-02-16 18:16:13 UTC ---
(In reply to comment #0)
> Adding a data pointer component leads to rejection:
>
> print *,x
> 1
> Error: Data transfer element at (1) cannot have POINTER components
>
> So I'm guessing the version with proc-pointer is also illegal (haven't checked
> the standard).
I have the feeling we reject too much here. F08 says in chapter 9.6.3:
"If an output item is a pointer, it shall be associated with a target and data
are transferred from the target to the file."
I think this is the same in F03 and F95.
So, it seems like pointers are ok (but should be associated), unless I'm
missing something. Procedure pointers, however, are definitely illegal:
C935 (R917) An expression that is an output-item shall not have a value that is
a procedure pointer.