aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/decl.c
diff options
context:
space:
mode:
authorJanus Weil <janus@gcc.gnu.org>2010-10-21 13:31:55 +0200
committerJanus Weil <janus@gcc.gnu.org>2010-10-21 13:31:55 +0200
commit837c4b78f697de3a047f6e6dba919c02fd769809 (patch)
tree9476e2f4bdc3f2072057ad7def2aa663cf81b0a9 /gcc/fortran/decl.c
parent46241ea9d1ecf8a9b337bc6cbeb4f28421060f85 (diff)
downloadgcc-837c4b78f697de3a047f6e6dba919c02fd769809.zip
gcc-837c4b78f697de3a047f6e6dba919c02fd769809.tar.gz
gcc-837c4b78f697de3a047f6e6dba919c02fd769809.tar.bz2
re PR fortran/46060 ([F03] procedure pointer component referenced without argument list)
2010-10-21 Janus Weil <janus@gcc.gnu.org> PR fortran/46060 * match.h (gfc_matching_ptr_assignment): New global variable to indicate we're currently matching a (non-proc-)pointer assignment. * decl.c (match_pointer_init): Set it. * match.c (gfc_match_pointer_assignment): Ditto. * primary.c (matching_actual_arglist): New global variable to indicate we're currently matching an actual argument list. (gfc_match_actual_arglist): Set it. (gfc_match_varspec): Reject procedure pointer component calls with missing argument list. 2010-10-21 Janus Weil <janus@gcc.gnu.org> PR fortran/46060 * gfortran.dg/proc_ptr_comp_25.f90: New. From-SVN: r165769
Diffstat (limited to 'gcc/fortran/decl.c')
-rw-r--r--gcc/fortran/decl.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c
index 5b4ab18..009b010 100644
--- a/gcc/fortran/decl.c
+++ b/gcc/fortran/decl.c
@@ -1673,8 +1673,10 @@ match_pointer_init (gfc_expr **init, int procptr)
return m;
/* Match non-NULL initialization. */
+ gfc_matching_ptr_assignment = !procptr;
gfc_matching_procptr_assignment = procptr;
m = gfc_match_rvalue (init);
+ gfc_matching_ptr_assignment = 0;
gfc_matching_procptr_assignment = 0;
if (m == MATCH_ERROR)
return MATCH_ERROR;