http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46982

Harald Anlauf <anlauf at gmx dot de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |anlauf at gmx dot de

--- Comment #3 from Harald Anlauf <anlauf at gmx dot de> ---
(In reply to Dominique d'Humieres from comment #2)
> Still present at revision 200321. Is the test in comment #0 valid or not?

Probably a case where the standard is not intuitive:

  size(transfer(something_type(),(/0/)))

is a constant expression, but

  size(transfer(something,(/0/)))

apparently is not, simply because "something" is not constant.
IMO it also appears not to qualify as a specification expression.

Replacing

  type(something_type),save :: something

by

  type(something_type),parameter :: something = something_type()

would change something into a constant and make the code compile.

So I think that the code in comment #0 is not legal.

Reply via email to