gfortran had two bugs:
a) A function, contained in a public module procedure, which returns a
private derived type, was rejected claiming that the function is public,
which is nonsense
b) A public module function, returning a private derived type was
rejected with -std=f2003, but they are only invalid in -std=f95.
The patch fixes both problems and should be save for the regression only
phase as it is simple and prints an error less often than before, which
makes it safe.
Build and regtested on x86-64-linux.
OK for the trunk?
Tobias