Commit 11126dc0 by Asher Langton Committed by Asher Langton

re PR fortran/37039 (Cray pointer with pointee DIMENSION statement after POINTER statement)

    * decl.c (variable_decl): Merge current_as before copying to cp_as.

    * gfortran.dg/PR37039.f90: New test.

From-SVN: r174582
parent 4e76acd2
2011-06-02 Asher Langton <langton2@llnl.gov>
PR fortran/37039
* decl.c (variable_decl): Merge current_as before copying to cp_as.
2011-06-02 Steven G. Kargl <kargl@gcc.gnu.org> 2011-06-02 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/49265 PR fortran/49265
......
...@@ -1763,9 +1763,7 @@ variable_decl (int elem) ...@@ -1763,9 +1763,7 @@ variable_decl (int elem)
/* Now we could see the optional array spec. or character length. */ /* Now we could see the optional array spec. or character length. */
m = gfc_match_array_spec (&as, true, true); m = gfc_match_array_spec (&as, true, true);
if (gfc_option.flag_cray_pointer && m == MATCH_YES) if (m == MATCH_ERROR)
cp_as = gfc_copy_array_spec (as);
else if (m == MATCH_ERROR)
goto cleanup; goto cleanup;
if (m == MATCH_NO) if (m == MATCH_NO)
...@@ -1773,6 +1771,9 @@ variable_decl (int elem) ...@@ -1773,6 +1771,9 @@ variable_decl (int elem)
else if (current_as) else if (current_as)
merge_array_spec (current_as, as, true); merge_array_spec (current_as, as, true);
if (gfc_option.flag_cray_pointer)
cp_as = gfc_copy_array_spec (as);
/* At this point, we know for sure if the symbol is PARAMETER and can thus /* At this point, we know for sure if the symbol is PARAMETER and can thus
determine (and check) whether it can be implied-shape. If it determine (and check) whether it can be implied-shape. If it
was parsed as assumed-size, change it because PARAMETERs can not was parsed as assumed-size, change it because PARAMETERs can not
......
2011-06-02 Asher Langton <langton2@llnl.gov>
PR fortran/37039
* gfortran.dg/PR37039.f90: New test.
2011-06-02 Nicola Pero <nicola.pero@meta-innovation.com> 2011-06-02 Nicola Pero <nicola.pero@meta-innovation.com>
PR objc/48539 PR objc/48539
......
! { dg-do compile }
! { dg-options "-fcray-pointer" }
!
! Test for PR37039, from an issue on comp.lang.fortran
! http://groups.google.com/group/comp.lang.fortran/msg/8cfa06f222721386
subroutine test(nnode)
implicit none
integer n,nnode
pointer(ip_tab, tab)
integer , dimension(1:nnode) :: tab
do n=1,nnode
tab(n) = 0
enddo
end subroutine test
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment