diff options
author | Janus Weil <janus@gcc.gnu.org> | 2015-01-16 13:49:46 +0100 |
---|---|---|
committer | Janus Weil <janus@gcc.gnu.org> | 2015-01-16 13:49:46 +0100 |
commit | dc9a54fa10a05bd30aea60555f8fde6a4aa47733 (patch) | |
tree | bc2750a2cfc057af93b890992e7e25971b55af1a | |
parent | 8b8e23de943203a28cb667648cb7d7f9e39f64a7 (diff) | |
download | gcc-dc9a54fa10a05bd30aea60555f8fde6a4aa47733.zip gcc-dc9a54fa10a05bd30aea60555f8fde6a4aa47733.tar.gz gcc-dc9a54fa10a05bd30aea60555f8fde6a4aa47733.tar.bz2 |
re PR fortran/45290 ([F08] pointer initialization)
2015-01-16 Janus Weil <janus@gcc.gnu.org>
PR fortran/45290
* decl.c (match_pointer_init): Error out if resolution of init expr
failed.
2015-01-16 Janus Weil <janus@gcc.gnu.org>
PR fortran/45290
* gfortran.dg/pointer_init_6.f90: Extended.
From-SVN: r219731
-rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fortran/decl.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/pointer_init_6.f90 | 1 |
4 files changed, 14 insertions, 2 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 3fd3cfb..c97de7f 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2015-01-16 Janus Weil <janus@gcc.gnu.org> + + PR fortran/45290 + * decl.c (match_pointer_init): Error out if resolution of init expr + failed. + 2015-01-15 Tobias Burnus <burnus@net-b.de> * openmp.c (check_symbol_not_pointer, resolve_oacc_data_clauses, diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c index dfb760b..2a200fc 100644 --- a/gcc/fortran/decl.c +++ b/gcc/fortran/decl.c @@ -1780,8 +1780,8 @@ match_pointer_init (gfc_expr **init, int procptr) return MATCH_ERROR; } - if (!procptr) - gfc_resolve_expr (*init); + if (!procptr && !gfc_resolve_expr (*init)) + return MATCH_ERROR; if (!gfc_notify_std (GFC_STD_F2008, "non-NULL pointer " "initialization at %C")) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index ffc6794..4f709fc 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2015-01-16 Janus Weil <janus@gcc.gnu.org> + + PR fortran/45290 + * gfortran.dg/pointer_init_6.f90: Extended. + 2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com> * gcc.c-torture/compile/20150108.c: New test. diff --git a/gcc/testsuite/gfortran.dg/pointer_init_6.f90 b/gcc/testsuite/gfortran.dg/pointer_init_6.f90 index 428a7de..f5e7555 100644 --- a/gcc/testsuite/gfortran.dg/pointer_init_6.f90 +++ b/gcc/testsuite/gfortran.dg/pointer_init_6.f90 @@ -16,6 +16,7 @@ module m1 integer, pointer :: p2 => p1 ! { dg-error "must have the TARGET attribute" } integer, pointer :: p3 => x%p ! { dg-error "must have the TARGET attribute" } integer, pointer :: p4 => x%i + integer, pointer :: p5 => u ! { dg-error "has no IMPLICIT type" } end module m1 |