diff options
| author | burnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-12-17 18:00:46 +0000 |
|---|---|---|
| committer | burnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-12-17 18:00:46 +0000 |
| commit | 8be94ca91d060ade8a27d480b533b59bda69f43d (patch) | |
| tree | 39f2b7d7bf77d42ba808797fd8bbb1632d14e054 | |
| parent | cce534e0d6beb3285f3a280de04abc5e3e506d32 (diff) | |
| download | ppe42-gcc-8be94ca91d060ade8a27d480b533b59bda69f43d.tar.gz ppe42-gcc-8be94ca91d060ade8a27d480b533b59bda69f43d.zip | |
2006-12-17 Tobias Burnus <burnus@net-b.de>
* intrinsics/associated.c: Check for associated(NULL,NULL).
2006-12-17 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/associated_2.f90: Add test for associated(NULL,NULL).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119989 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
| -rw-r--r-- | gcc/testsuite/gfortran.dg/associated_2.f90 | 2 | ||||
| -rw-r--r-- | libgfortran/ChangeLog | 4 | ||||
| -rw-r--r-- | libgfortran/intrinsics/associated.c | 2 |
4 files changed, 12 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 6d8074e2fc8..39abc504ee7 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2006-12-17 Tobias Burnus <burnus@net-b.de> + + * gfortran.dg/associated_2.f90: Add test for associated(NULL,NULL). + 2006-12-16 Manuel Lopez-Ibanez <manu@gcc.gnu.org> PR middle-end/7651 diff --git a/gcc/testsuite/gfortran.dg/associated_2.f90 b/gcc/testsuite/gfortran.dg/associated_2.f90 index 5b8b689d1f4..1ff8006de00 100644 --- a/gcc/testsuite/gfortran.dg/associated_2.f90 +++ b/gcc/testsuite/gfortran.dg/associated_2.f90 @@ -17,6 +17,8 @@ contains ! the target argument is not present (case (i)) if (.not. associated (b)) call abort () deallocate (a) + nullify(a) + if(associated(a,a)) call abort() allocate (a(2,1,2)) b => a if (.not.associated (b)) call abort () diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 0844d1a6df7..ff7adbe2da6 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,7 @@ +2006-12-17 Tobias Burnus <burnus@net-b.de> + + * intrinsics/associated.c: Check for associated(NULL,NULL). + 2006-12-15 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libfortran/30145 diff --git a/libgfortran/intrinsics/associated.c b/libgfortran/intrinsics/associated.c index 1a05f20072b..d5ef556b80c 100644 --- a/libgfortran/intrinsics/associated.c +++ b/libgfortran/intrinsics/associated.c @@ -39,6 +39,8 @@ associated (const gfc_array_void *pointer, const gfc_array_void *target) { int n, rank; + if (GFC_DESCRIPTOR_DATA (pointer) == NULL) + return 0; if (GFC_DESCRIPTOR_DATA (pointer) != GFC_DESCRIPTOR_DATA (target)) return 0; if (GFC_DESCRIPTOR_DTYPE (pointer) != GFC_DESCRIPTOR_DTYPE (target)) |

