1-- { dg-do compile } 2-- { dg-options "-O2 -fdump-tree-optimized" } 3 4function Volatile8 return Integer is 5 6 type Vol is new Integer; 7 pragma Volatile (Vol); 8 9 type A is array (1..4) of Vol; 10 11 V : A := (others => 0); 12 13begin 14 for J in 1 .. 10 loop 15 V(1) := V(1) + 1; 16 end loop; 17 18 return Integer (V(1)); 19end; 20 21-- { dg-final { scan-tree-dump "goto" "optimized" } } 22