This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/47542] New: Statement functions and POINTER attribute
- From: "burnus at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 30 Jan 2011 10:24:24 +0000
- Subject: [Bug fortran/47542] New: Statement functions and POINTER attribute
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47542
Summary: Statement functions and POINTER attribute
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Keywords: accepts-invalid, diagnostic
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: burnus@gcc.gnu.org
Kind of follow up to PR 47042.
I think the following is invalid, though I cannot fully pin-point it in the
standard:
integer, target :: c = 55
integer, pointer :: a, b
a() = c ! << Statement function with pointer attribute
allocate(b)
b = a() ! (1)
b => a() ! (2)
end
The program is accepted by gfortran but rejected by other compilers:
Pathscale:
"A" has the POINTER attribute, therefore it must not be declared as a
statement function (identifier first appeared at line 2)
ifort:
error #6394: A statement function can not be pointer-valued. [A]
NAG
Error: stm.f90, line 4: POINTER A cannot be a statement function
I assume the same is true for allocatable; though, other compilers do not show
this clearly. Ifort has:
error #6410: This name has not been declared as an array or a function. [A]
a() = c
^