http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59411
--- Comment #3 from janus at gcc dot gnu.org --- In F03, I think the relevant quotes are: R506 initialization is = initialization-expr or => null-init 7.1.7 Initialization expression An initialization expression is an expression with limitations that make it suitable for use as a kind type parameter, initializer, or named constant. It is an expression in which each operation is intrinsic, and each primary is (1) A constant or subobject of a constant, ... Since pp is clearly a constant, the code should be valid (probably also in F08).