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

Tobias Burnus <burnus at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |rejects-valid

--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-11-23 
16:40:57 UTC ---
(In reply to comment #0)
> If one uncomments "test2", it fails with:
>   Error: VALUE attribute conflicts with DIMENSION attribute at (1)
> However, in Fortran 2008 this restriction is not present:
> 
> C558 An entity with the VALUE attribute shall not have the ALLOCATABLE,
>      INTENT (INOUT), INTENT (OUT), POINTER, or VOLATILE attributes.

In Fortran 2003:

"C527 (R501) If the VALUE attribute is specified, the PARAMETER, EXTERNAL,
POINTER, ALLOCATABLE, DIMENSION, VOLATILE, INTENT(INOUT), or INTENT(OUT)
attribute shall not be specified."

Note that the VALUE attribute is now allowed for EXTERNAL, e.g.
  subroutine foo(x)
    procedure(), VALUE :: x

As one may not modify "x" (only if it had a pointer attribute, but that's not
allowed), it does not affect the code generation.

Reply via email to