aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2009-11-25 02:37:57 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2009-11-25 02:37:57 +0000
commit26d3d4f4dcb61b68e996ee7b7016c22ffb667b3c (patch)
tree7fb79aeb808aa0cc9aa6f66cc4aefa57bc64a5cc /gcc
parent0831e1d14944d254d6edffa87cbf859a0e4d655f (diff)
downloadgcc-26d3d4f4dcb61b68e996ee7b7016c22ffb667b3c.zip
gcc-26d3d4f4dcb61b68e996ee7b7016c22ffb667b3c.tar.gz
gcc-26d3d4f4dcb61b68e996ee7b7016c22ffb667b3c.tar.bz2
re PR fortran/41807 (data statement with nested type constructors)
2009-11-24 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/41807 * decl.c (variable_decl): Do not error on initialization within a derived type specification of a pure procedure. From-SVN: r154529
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/decl.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 862fffa..856770c7 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2009-11-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/41807
+ * decl.c (variable_decl): Do not error on initialization within a
+ derived type specification of a pure procedure.
+
2009-11-24 Janus Weil <janus@gcc.gnu.org>
PR fortran/42045
diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c
index 08d2bd6..0329de5 100644
--- a/gcc/fortran/decl.c
+++ b/gcc/fortran/decl.c
@@ -1865,7 +1865,7 @@ variable_decl (int elem)
m = MATCH_ERROR;
}
- if (gfc_pure (NULL))
+ if (gfc_pure (NULL) && gfc_state_stack->state != COMP_DERIVED)
{
gfc_error ("Initialization of pointer at %C is not allowed in "
"a PURE procedure");