diff options
author | Steven G. Kargl <kargl@gcc.gnu.org> | 2009-08-23 04:58:31 +0000 |
---|---|---|
committer | Steven G. Kargl <kargl@gcc.gnu.org> | 2009-08-23 04:58:31 +0000 |
commit | 3212c187a8b479ab1d58f1d2a7c9ae90aceebf7d (patch) | |
tree | 5a456b0d5d074d78f7733aebd6168adfd43ec6e9 | |
parent | 0aa580f4d2a80a27ee102dc7ae1d830836eb7edf (diff) | |
download | gcc-3212c187a8b479ab1d58f1d2a7c9ae90aceebf7d.zip gcc-3212c187a8b479ab1d58f1d2a7c9ae90aceebf7d.tar.gz gcc-3212c187a8b479ab1d58f1d2a7c9ae90aceebf7d.tar.bz2 |
proc_ptr_24.f90: New test.
2009-08-22 Steven G. Kargl <kargl@gcc.gnu.org>
* gfortran.dg/proc_ptr_24.f90: New test.
2009-08-22 Steven G. Kargl <kargl@gcc.gnu.org>
* fortran/decl.c: Disallow procedure pointers with -std=f95.
From-SVN: r151026
-rw-r--r-- | gcc/fortran/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/fortran/decl.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/proc_ptr_24.f90 | 21 |
4 files changed, 33 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 4869fe8..d6d6a91 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,7 @@ +2009-08-22 Steven G. Kargl <kargl@gcc.gnu.org> + + * fortran/decl.c: Disallow procedure pointers with -std=f95. + 2009-08-22 Steven K. kargl <kargl@gcc.gnu.org> * fortran/decl.c (match_char_spec): Rename to gfc_match_char_spec, diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c index 1533af5..40622e2 100644 --- a/gcc/fortran/decl.c +++ b/gcc/fortran/decl.c @@ -4449,6 +4449,10 @@ match_ppc_decl (void) return MATCH_ERROR; } + if (gfc_notify_std (GFC_STD_F2003, "Fortran 2003: Procedure pointer " + "component at %C") == FAILURE) + return MATCH_ERROR; + /* Match PPC names. */ ts = current_ts; for(num=1;;num++) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 2c8997d..db8a195 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2009-08-22 Steven G. Kargl <kargl@gcc.gnu.org> + + * gfortran.dg/proc_ptr_24.f90: New test. + 2009-08-22 Steven K. kargl <kargl@gcc.gnu.org> * gfortran.dg/allocate_alloc_opt_4.f90: New test. diff --git a/gcc/testsuite/gfortran.dg/proc_ptr_24.f90 b/gcc/testsuite/gfortran.dg/proc_ptr_24.f90 new file mode 100644 index 0000000..6bd4709 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/proc_ptr_24.f90 @@ -0,0 +1,21 @@ +! { dg-do compile } +! { dg-options -std=f95 } +! +! Code was posted to comp.lang.fortran by Richard Maine. +! http://groups.google.com/group/comp.lang.fortran/browse_frm/thread/fff9b3426211c018# +! +module m + type :: foo + real, pointer :: array(:) + procedure (), pointer, nopass :: f ! { dg-error "Procedure pointer component" } + end type +contains + elemental subroutine fooAssgn (a1, a2) + type(foo), intent(out) :: a1 + type(foo), intent(in) :: a2 + allocate (a1%array(size(a2%array))) + + a1%array = a2%array + a1%f => a2%f ! { dg-error "not a member of the" } + end subroutine +end module m |