fortran/
PR fortran/56477
* expr.c (gfc_check_pointer_assign): Avoid NULL pointer dereference.
testsuite/
PR fortran/56477
* gfortran.dg/pointer_check_13.f90: New test.
From-SVN: r196417
+2013-03-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/56477
+ * expr.c (gfc_check_pointer_assign): Avoid NULL pointer dereference.
+
2013-03-03 Mikael Morin <mikael@gcc.gnu.org>
PR fortran/54730
&& rvalue->symtree->n.sym->ns->proc_name->attr.flavor != FL_PROCEDURE
&& rvalue->symtree->n.sym->ns->proc_name->attr.flavor != FL_PROGRAM)
for (ns = rvalue->symtree->n.sym->ns;
- ns->proc_name && ns->proc_name->attr.flavor != FL_PROCEDURE;
+ ns && ns->proc_name && ns->proc_name->attr.flavor != FL_PROCEDURE;
ns = ns->parent)
if (ns->parent == lvalue->symtree->n.sym->ns)
warn = true;
+2013-03-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/56477
+ * gfortran.dg/pointer_check_13.f90: New test.
+
2013-03-03 Mikael Morin <mikael@gcc.gnu.org>
PR fortran/54730
--- /dev/null
+! { dg-do compile }
+! { dg-options "-Wall -Wno-uninitialized" }
+!
+! PR fortran/56477
+! The pointer target live range checking code used to trigger a NULL pointer
+! dereference with the following case.
+!
+! Contributed by Andrew Benson <abensonca@gmail.com>
+!
+module s
+contains
+ function so()
+ implicit none
+ integer, target :: so
+ integer, pointer :: sp
+ sp => so
+ return
+ end function So
+end module s