http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59015
Tobias Burnus <burnus at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |accepts-invalid, diagnostic Status|UNCONFIRMED |NEW Last reconfirmed| |2013-11-06 CC| |burnus at gcc dot gnu.org Summary|I/O of derived type with |I/O of PARAMETER derived |private component is |type with private component |forbidden |is forbidden Ever confirmed|0 |1 --- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> --- Confirmed. Not even -pedantic -std=f95 has any effect. Note: The issue only affects PARAMETER. For module variables, one gets: Error: Data transfer element at (1) cannot have PRIVATE components Fortran 2008, "9.6.3 Data transfer input/output list", second bullet point of paragraph 7 [see last sentence after the ";"] "If a list item of derived type in an unformatted input/output statement is not processed by a defined input/output procedure (9.6.4.8), and if any subobject of that list item would be processed by a defined input/output procedure, the list item is treated as if all of the components of the object were specified in the list in component order (4.5.4.7); those components shall be accessible in the scoping unit containing the input/output statement and shall not be pointers or allocatable."