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