| -- { dg-do run } | |
| procedure Volatile4 is | |
| type My_Int is new Integer; | |
| pragma Volatile (My_Int); | |
| type Rec is record | |
| I : My_Int; | |
| end record; | |
| function F (R : Rec) return Rec is | |
| begin | |
| return R; | |
| end; | |
| R : Rec := (I => 0); | |
| begin | |
| R := F (R); | |
| if R.I /= 0 then | |
| raise Program_Error; | |
| end if; | |
| end; |