Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gnat.dg/vfa1_2.adb @ 144:8f4e72ab4e11
fix segmentation fault caused by nothing next cur_op to end
author | Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 23 Dec 2018 21:23:56 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
-- { dg-do compile } -- { dg-options "-fdump-tree-gimple" } with VFA1_Pkg; use VFA1_Pkg; procedure VFA1_2 is Temp : Int8_t; function F (I : Int8_t) return Int8_t is begin return I; end; function F2 return Int8_t is begin return Int8_t(Timer1(1)); end; procedure P3 (I : out Int8_t) is begin null; end; begin Temp := Timer1(1); Timer1(2) := Temp; Temp := Timer2(1); Timer2(2) := Temp; Temp := Timer1(1) + Timer2(2); if Timer1(1) /= Timer2(2) then raise Program_Error; end if; Temp := F(Timer1(1)); Timer2(2) := F(Temp); Temp := F(Timer2(2)); Timer1(1) := F(Temp); Temp := F2; P3 (Timer2(2)); end; -- { dg-final { scan-tree-dump-times "atomic_load\[^\n\r\]*&vfa1_pkg__timer1" 7 "gimple"} } -- { dg-final { scan-tree-dump-times "atomic_load\[^\n\r\]*&vfa1_pkg__timer2" 7 "gimple"} } -- { dg-final { scan-tree-dump-times "atomic_load\[^\n\r\]*&temp" 0 "gimple"} } -- { dg-final { scan-tree-dump-times "atomic_store\[^\n\r\]*&vfa1_pkg__timer1" 2 "gimple"} } -- { dg-final { scan-tree-dump-times "atomic_store\[^\n\r\]*&vfa1_pkg__timer2" 3 "gimple"} } -- { dg-final { scan-tree-dump-times "atomic_store\[^\n\r\]*&temp" 0 "gimple"} }