http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45889
--- Comment #7 from Keith Refson <krefson at googlemail dot com> 2010-10-05 16:19:50 UTC --- Steve - thanks for the workaround (In fact I had already discovered this). Jerry: As Steve pointed out explicitly, the statement that fails to compile is simply printing a character expression, and NOT attempting to do anything like derived type I/O. It is correct F95+TR15581. The allocatable or other attributes of the variable ought to be utterly irrelevant. It would be pretty wierd (and a considerable feat of code analysis) if the allocation status - a run-time property - were able to generate a compile-time error.