------- Comment #1 from burnus at gcc dot gnu dot org 2008-06-13 17:52 ------- CONFIRM. Works with other compilers. The constraint checked for is:
"C1272 In a pure subprogram any designator with a base object that is in common or accessed by host or use association, is a dummy argument of a pure function, is a dummy argument with INTENT (IN) of a pure subroutine, or an object that is storage associated with any such variable, shall not be used in the following contexts: [...] (5) As an actual argument associated with a dummy argument with INTENT (OUT) or INTENT (INOUT) or with the POINTER attribute." (From F2003.) At a glance, it seems as if this applies, but as the non-normative note indicates, C1272 does not apply in this case: "NOTE 12.45 Pure subroutines are included to allow subroutine calls from pure procedures in a safe way [...] The constraints for pure subroutines are based on the same principles as for pure functions, except that side effects to INTENT (OUT), INTENT (INOUT), and pointer dummy arguments are permitted." However, I failed to find this in the normative part; I will try a bit more to figure out why C1272 does not apply. -- burnus at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords| |rejects-valid Last reconfirmed|0000-00-00 00:00:00 |2008-06-13 17:52:34 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36526