| -- { dg-do compile } | |
| -- { dg-options "-O -fdump-tree-esra" } | |
| with Opt34_Pkg; use Opt34_Pkg; | |
| procedure Opt34 is | |
| function Local_Fun (Arg : T_Private) return T_Private is | |
| Result : T_Private; | |
| begin | |
| case Get_Integer (Arg) is | |
| when 1 => | |
| Result := Get_Private (100); | |
| when 2 => | |
| Result := T_Private_Zero; | |
| when others => | |
| null; | |
| end case; | |
| return Result; | |
| end Local_Fun; | |
| begin | |
| Assert (Get_Integer (Local_Fun (Get_Private (1))) = 100); | |
| end; | |
| -- { dg-final { scan-tree-dump "Created a replacement for result" "esra" } } |