The problem is that the procedure attributed is tried to be set to NULL() - but that's rejected because null() is use associated. I am not sure whether this is the cleanest patch, but I think it should be fine.

Build and regtested on x86-64-gnu-linux.
OK for the turnk?

PENDING PATCHES:
- http://gcc.gnu.org/ml/gcc-patches/2013-04/msg01817.html
- http://gcc.gnu.org/ml/gcc-patches/2013-04/msg01787.html

Tobias
2013-05-03  Tobias Burnus  <bur...@net-b.de>

	PR fortran/57141
	* decl.c (gfc_match_null): Permit use-associated
	NULL intrinsic.

2013-05-03  Tobias Burnus  <bur...@net-b.de>

	PR fortran/57141
	* gfortran.dg/null_8.f90: New.

diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c
index f9891c9..561fbf9 100644
--- a/gcc/fortran/decl.c
+++ b/gcc/fortran/decl.c
@@ -1703,6 +1703,7 @@ gfc_match_null (gfc_expr **result)
   gfc_intrinsic_symbol (sym);
 
   if (sym->attr.proc != PROC_INTRINSIC
+      && !(sym->attr.use_assoc && sym->attr.intrinsic)
       && (!gfc_add_procedure(&sym->attr, PROC_INTRINSIC, sym->name, NULL)
 	  || !gfc_add_function (&sym->attr, sym->name, NULL)))
     return MATCH_ERROR;
--- /dev/null	2013-05-03 08:51:02.564101575 +0200
+++ gcc/gcc/testsuite/gfortran.dg/null_8.f90	2013-05-03 11:02:38.556020968 +0200
@@ -0,0 +1,15 @@
+! { dg-do compile }
+!
+! PR fortran/57141
+!
+! Contributed by Roger Ferrer Ibanez 
+!
+MODULE M
+    INTRINSIC :: NULL
+END MODULE M
+
+MODULE M_INTERN
+    USE M
+    IMPLICIT NONE
+    REAL, POINTER :: ARR(:) => NULL()
+END MODULE M_INTERN

Reply via email to