Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gfortran.dg/unconstrained_commons.f @ 158:494b0b89df80 default tip
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 18:13:55 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
! { dg-do compile } ! { dg-options "-O3 -funconstrained-commons -fdump-tree-dom2-details" } ! Test for PR69368: a single-element array in a common block, which will be ! overridden with a larger size at link time (contrary to language spec). ! Dominator opts considers accesses to differently-computed elements of X as ! equivalent, unless -funconstrained-commons is passed in. SUBROUTINE FOO IMPLICIT DOUBLE PRECISION (X) INTEGER J COMMON /MYCOMMON / X(1) DO 10 J=1,1024 ! { dg-warning "out of bounds" } X(J+1)=X(J+7) ! { dg-warning "out of bounds" } 10 CONTINUE RETURN END ! { dg-final { scan-tree-dump-not "FIND" "dom2" } } ! We should retain both a read and write of mycommon.x. ! { dg-final { scan-tree-dump-times " _\[0-9\]+ = mycommon\\.x\\\[_\[0-9\]+\\\];" 1 "dom2" } } ! { dg-final { scan-tree-dump-times " mycommon\\.x\\\[j?_\[0-9\]+\\\] = _\[0-9\]+;" 1 "dom2" } } ! { dg-prune-output "overflows the destination" }