diff options
author | Steven G. Kargl <kargl@gcc.gnu.org> | 2010-05-03 17:57:14 +0000 |
---|---|---|
committer | Steven G. Kargl <kargl@gcc.gnu.org> | 2010-05-03 17:57:14 +0000 |
commit | 431f5969d1c519380d06981f330c8ca8f9cbe2bc (patch) | |
tree | 4b66497dd2c35f0ad3475878ed64826bdc6e625b /gcc | |
parent | 42db504c2fb2b460e24ca0e73b8559fc33b3cf33 (diff) | |
download | gcc-431f5969d1c519380d06981f330c8ca8f9cbe2bc.zip gcc-431f5969d1c519380d06981f330c8ca8f9cbe2bc.tar.gz gcc-431f5969d1c519380d06981f330c8ca8f9cbe2bc.tar.bz2 |
re PR fortran/43592 (Unexpected INTERFACE statement in INTERFACE block at (1))
2010-05-03 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/43592
* fortran/parse.c (parse_interface): Do not dereference a NULL pointer.
2010-05-03 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/43592
* gfortran.dg/unexpected_interface.f90: New test.
From-SVN: r158998
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/fortran/parse.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/unexpected_interface.f90 | 9 |
4 files changed, 21 insertions, 2 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 085e9fa..e61c737 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2010-05-03 Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/43592 + * fortran/parse.c (parse_interface): Do not dereference a NULL pointer. + 2010-05-02 Tobias Burnus <burnus@net-b.de> PR fortran/18918 diff --git a/gcc/fortran/parse.c b/gcc/fortran/parse.c index 8ad52d2..9320069 100644 --- a/gcc/fortran/parse.c +++ b/gcc/fortran/parse.c @@ -2264,9 +2264,9 @@ loop: { if (current_state == COMP_NONE) { - if (new_state == COMP_FUNCTION) + if (new_state == COMP_FUNCTION && sym) gfc_add_function (&sym->attr, sym->name, NULL); - else if (new_state == COMP_SUBROUTINE) + else if (new_state == COMP_SUBROUTINE && sym) gfc_add_subroutine (&sym->attr, sym->name, NULL); current_state = new_state; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index fb25dc4..a7876f9 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2010-05-03 Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/43592 + * gfortran.dg/unexpected_interface.f90: New test. + 2010-05-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> * ada/acats/run_acats (which): New function. diff --git a/gcc/testsuite/gfortran.dg/unexpected_interface.f90 b/gcc/testsuite/gfortran.dg/unexpected_interface.f90 new file mode 100644 index 0000000..87c73c8 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/unexpected_interface.f90 @@ -0,0 +1,9 @@ +! { dg-do compile } +! PR fortran/43592 +! Original code submitted by Joost VandeVondele +! Dejagnu-ification by Steven G. Kargl +! + interface assignment (=) + interface pseudo_scalar ! { dg-error "Unexpected INTERFACE statement" } + pure function double_tensor2odd (x, t2) result (xt2) +! { dg-error "Unexpected end of file" "" { target "*-*-*" } 0 } |