Commit 80def908 by Tobias Burnus Committed by Tobias Burnus

symbol.c (check_conflict): Add codimension conflict with pointer; fix cray-pointee check.

2014-06-15  Tobias Burnus  <burnus@net-b.de>

gcc/fortran/
        * symbol.c (check_conflict): Add codimension conflict with
        pointer; fix cray-pointee check.

gcc/testsuite/
        * gfortran.dg/coarray_34.f90: New.
        * gfortran.dg/coarray_6.f90: Update test case.

From-SVN: r212540
parent 4228f932
2014-06-15 Tobias Burnus <burnus@net-b.de>
* symbol.c (check_conflict): Add codimension conflict with
pointer; fix cray-pointee check.
2014-06-14 Tobias Burnus <burnus@net-b.de> 2014-06-14 Tobias Burnus <burnus@net-b.de>
* trans-intrinsic.c (conv_intrinsic_atomic_ref): Fix handling * trans-intrinsic.c (conv_intrinsic_atomic_ref): Fix handling
......
...@@ -458,6 +458,7 @@ check_conflict (symbol_attribute *attr, const char *name, locus *where) ...@@ -458,6 +458,7 @@ check_conflict (symbol_attribute *attr, const char *name, locus *where)
conf (pointer, target); conf (pointer, target);
conf (pointer, intrinsic); conf (pointer, intrinsic);
conf (pointer, elemental); conf (pointer, elemental);
conf (pointer, codimension);
conf (allocatable, elemental); conf (allocatable, elemental);
conf (target, external); conf (target, external);
...@@ -534,8 +535,8 @@ check_conflict (symbol_attribute *attr, const char *name, locus *where) ...@@ -534,8 +535,8 @@ check_conflict (symbol_attribute *attr, const char *name, locus *where)
conf (cray_pointer, entry); conf (cray_pointer, entry);
conf (cray_pointee, allocatable); conf (cray_pointee, allocatable);
conf (cray_pointer, contiguous); conf (cray_pointee, contiguous);
conf (cray_pointer, codimension); conf (cray_pointee, codimension);
conf (cray_pointee, intent); conf (cray_pointee, intent);
conf (cray_pointee, optional); conf (cray_pointee, optional);
conf (cray_pointee, dummy); conf (cray_pointee, dummy);
......
2014-06-15 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/coarray_34.f90: New.
* gfortran.dg/coarray_6.f90: Update test case.
2014-07-14 Richard Biener <rguenther@suse.de> 2014-07-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/61779 PR tree-optimization/61779
......
! { dg-do compile }
! { dg-options "-fcoarray=single" }
!
use iso_fortran_env
implicit none
type t
integer, pointer :: caf2[:] ! { dg-error "must be allocatable with deferred shape" }
end type t
integer, pointer :: caf[*] ! { dg-error "POINTER attribute conflicts with CODIMENSION attribute" }
type t2
type(lock_type), pointer :: lock_it ! { dg-error "Component lock_it at .1. of type LOCK_TYPE must have a codimension or be a subcomponent of a coarray, which is not possible as the component has the pointer attribute" }
end type t2
type(t2) :: caf3[*]
type t3
type(lock_type) :: x
end type t3
type t4
type(t3), pointer :: y ! { dg-error "Pointer component y at .1. has a noncoarray subcomponent of type LOCK_TYPE, which must have a codimension or be a subcomponent of a coarray" }
end type t4
end
...@@ -32,7 +32,7 @@ end module m ...@@ -32,7 +32,7 @@ end module m
subroutine bar() subroutine bar()
integer, parameter :: a[*] = 4 ! { dg-error "PARAMETER attribute conflicts with CODIMENSION" } integer, parameter :: a[*] = 4 ! { dg-error "PARAMETER attribute conflicts with CODIMENSION" }
integer, pointer :: b[:] ! { dg-error "is not ALLOCATABLE, SAVE nor a dummy" } integer :: b[*] ! { dg-error "is not ALLOCATABLE, SAVE nor a dummy" }
end subroutine bar end subroutine bar
subroutine vol() subroutine vol()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment