diff options
author | Janus Weil <janus@gcc.gnu.org> | 2011-02-14 23:17:44 +0100 |
---|---|---|
committer | Janus Weil <janus@gcc.gnu.org> | 2011-02-14 23:17:44 +0100 |
commit | 01efe923a3e625157653652d13c15836bb3a8c41 (patch) | |
tree | 3e4ac8864f0b66a11e2e978a6bbb586b774e40ee | |
parent | c9e71b36cfef620a506f37e5922f1cf68c7869a8 (diff) | |
download | gcc-01efe923a3e625157653652d13c15836bb3a8c41.zip gcc-01efe923a3e625157653652d13c15836bb3a8c41.tar.gz gcc-01efe923a3e625157653652d13c15836bb3a8c41.tar.bz2 |
re PR fortran/47730 ([OOP] ICE on invalid source in connection with SELECT TYPE)
2011-02-14 Janus Weil <janus@gcc.gnu.org>
PR fortran/47730
* parse.c (gfc_build_block_ns): Commit 'block@' symbol.
2011-02-14 Janus Weil <janus@gcc.gnu.org>
PR fortran/47730
* gfortran.dg/select_type_22.f03: New.
From-SVN: r170157
-rw-r--r-- | gcc/fortran/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/fortran/parse.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/select_type_22.f03 | 17 |
4 files changed, 28 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index db0069e..8b4f63f 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,5 +1,10 @@ 2011-02-14 Janus Weil <janus@gcc.gnu.org> + PR fortran/47730 + * parse.c (gfc_build_block_ns): Commit 'block@' symbol. + +2011-02-14 Janus Weil <janus@gcc.gnu.org> + PR fortran/47728 * class.c (gfc_build_class_symbol): Give a fatal error on polymorphic arrays. diff --git a/gcc/fortran/parse.c b/gcc/fortran/parse.c index b51e12b..7fc3dca 100644 --- a/gcc/fortran/parse.c +++ b/gcc/fortran/parse.c @@ -3154,6 +3154,7 @@ gfc_build_block_ns (gfc_namespace *parent_ns) t = gfc_add_flavor (&my_ns->proc_name->attr, FL_LABEL, my_ns->proc_name->name, NULL); gcc_assert (t == SUCCESS); + gfc_commit_symbol (my_ns->proc_name); } if (parent_ns->proc_name) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index cd73643..3d21c83 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2011-02-14 Janus Weil <janus@gcc.gnu.org> + + PR fortran/47730 + * gfortran.dg/select_type_22.f03: New. + 2011-02-14 Jason Merrill <jason@redhat.com> * g++.dg/cpp0x/regress/enum1.C: New. diff --git a/gcc/testsuite/gfortran.dg/select_type_22.f03 b/gcc/testsuite/gfortran.dg/select_type_22.f03 new file mode 100644 index 0000000..68d2ff6 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/select_type_22.f03 @@ -0,0 +1,17 @@ +! { dg-do compile } +! +! PR 47330: [OOP] ICE on invalid source in connection with SELECT TYPE +! +! Contributed by Andrew Benson <abenson@its.caltech.edu> + + type treeNode + end type +contains + subroutine proc1 (thisNode) + class (treeNode), target :: thisNode + select type (thisNode) + type is (treeNode) + workNode => thisNode ! { dg-error "Non-POINTER in pointer association context" } + end select + end subroutine +end |