OSDN Git Service

2006-03-31 Asher Langton <langton2@llnl.gov>
authorkargl <kargl@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 1 Apr 2006 00:04:46 +0000 (00:04 +0000)
committerkargl <kargl@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 1 Apr 2006 00:04:46 +0000 (00:04 +0000)
        PR fortran/25358
        *expr.c (gfc_check_assign): Allow cray pointee to be assumes-size.

2006-03-31  Asher Langton  <langton2@llnl.gov>

        PR fortran/25358
        gfortran.dg/cray_pointers_6.f90: New test.

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

gcc/fortran/ChangeLog
gcc/fortran/expr.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/cray_pointers_6.f90 [new file with mode: 0644]

index 7d86235..a312507 100644 (file)
@@ -1,3 +1,8 @@
+2006-03-31  Asher Langton  <langton2@llnl.gov>
+
+       PR fortran/25358
+       *expr.c (gfc_check_assign): Allow cray pointee to be assumes-size.
+       
 2006-03-30  Paul Thomas <paulthomas2@wanadoo.fr>
             Bud Davis  <bdavis9659@sbcglobal.net>
 
index 8362f53..dfbbed2 100644 (file)
@@ -1894,7 +1894,7 @@ gfc_check_assign (gfc_expr * lvalue, gfc_expr * rvalue, int conform)
 
    if (sym->attr.cray_pointee
        && lvalue->ref != NULL
-       && lvalue->ref->u.ar.type != AR_ELEMENT
+       && lvalue->ref->u.ar.type == AR_FULL
        && lvalue->ref->u.ar.as->cp_was_assumed)
      {
        gfc_error ("Vector assignment to assumed-size Cray Pointee at %L"
index 79fb94c..80d1d7f 100644 (file)
@@ -1,3 +1,8 @@
+2006-03-31  Asher Langton  <langton2@llnl.gov>
+
+       PR fortran/25358
+       gfortran.dg/cray_pointers_6.f90: New test.
+
 2006-03-30  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
 
        PR libgfortran/26890
diff --git a/gcc/testsuite/gfortran.dg/cray_pointers_6.f90 b/gcc/testsuite/gfortran.dg/cray_pointers_6.f90
new file mode 100644 (file)
index 0000000..f89f880
--- /dev/null
@@ -0,0 +1,12 @@
+! { dg-do compile }
+! { dg-options "-fcray-pointer" }
+! PR fortran/25358 
+subroutine adw_set
+   implicit none
+   real*8    Adw_xabcd_8(*)  
+   pointer(Adw_xabcd_8_ , Adw_xabcd_8)
+   common/ Adw / Adw_xabcd_8_
+   integer n
+   Adw_xabcd_8(1:n) = 1
+   return
+end subroutine adw_set