Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gfortran.dg/pointer_init_7.f90 @ 152:2b5abeee2509
update gcc11
author | anatofuz |
---|---|
date | Mon, 25 May 2020 07:50:57 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
! { dg-do compile } ! ! PR fortran/55763 ! subroutine sub() type t integer :: i end type t type(t), target :: tgt type(t), target, save :: tgt2(2) type t2a type(t), pointer :: cmp1 => tgt ! { dg-error "Pointer initialization target at .1. must have the SAVE attribute" } end type t2a type t2b class(t), pointer :: cmp2 => tgt ! { dg-error "Pointer initialization target at .1. must have the SAVE attribute" } end type t2b type t2c class(t), pointer :: cmp3 => tgt ! { dg-error "Pointer initialization target at .1. must have the SAVE attribute" } end type t2c type t2d integer, pointer :: cmp4 => tgt%i ! { dg-error "Pointer initialization target at .1. must have the SAVE attribute" } end type t2d type(t), pointer :: w => tgt ! { dg-error "Pointer initialization target at .1. must have the SAVE attribute" } class(t), pointer :: x => tgt ! { dg-error "Pointer initialization target at .1. must have the SAVE attribute" } class(*), pointer :: y => tgt ! { dg-error "Pointer initialization target at .1. must have the SAVE attribute" } integer, pointer :: z => tgt%i ! { dg-error "Pointer initialization target at .1. must have the SAVE attribute" } end subroutine program main type t3 integer :: j end type t3 type(t3), target :: tgt type t4 type(t3), pointer :: cmp1 => tgt ! OK class(t3), pointer :: cmp2 => tgt ! OK class(t3), pointer :: cmp3 => tgt ! OK integer, pointer :: cmp4 => tgt%j ! OK end type t4 type(t3), target :: mytarget type(t3), pointer :: a => mytarget ! OK class(t3), pointer :: b => mytarget ! OK class(*), pointer :: c => mytarget ! OK integer, pointer :: d => mytarget%j ! OK end program main