2009-11-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
authorjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 25 Nov 2009 02:37:57 +0000 (02:37 +0000)
committerjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 25 Nov 2009 02:37:57 +0000 (02:37 +0000)
PR fortran/41807
* decl.c (variable_decl): Do not error on initialization within a
derived type specification of a pure procedure.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154529 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/fortran/ChangeLog
gcc/fortran/decl.c

index 862fffa..856770c 100644 (file)
@@ -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
index 08d2bd6..0329de5 100644 (file)
@@ -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");