diff options
author | Janus Weil <janus@gcc.gnu.org> | 2010-10-21 13:31:55 +0200 |
---|---|---|
committer | Janus Weil <janus@gcc.gnu.org> | 2010-10-21 13:31:55 +0200 |
commit | 837c4b78f697de3a047f6e6dba919c02fd769809 (patch) | |
tree | 9476e2f4bdc3f2072057ad7def2aa663cf81b0a9 /gcc/fortran/decl.c | |
parent | 46241ea9d1ecf8a9b337bc6cbeb4f28421060f85 (diff) | |
download | gcc-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.c | 2 |
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; |