summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gnat.dg/renaming5.adb
blob: 28f8c2c7128849f9f555dbf1f15175552b74406d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
-- PR ada/46192
-- Testcase by Rolf Ebert <rolf.ebert.gcc@gmx.de>

-- { dg-do compile }
-- { dg-options "-O2 -fdump-tree-optimized" }

with System; use System;

package body Renaming5 is

   type Bits_In_Byte is array (0 .. 7) of Boolean;
   pragma Pack (Bits_In_Byte);

   A : Bits_In_Byte;
   for A'Address use System'To_Address(16#c0#);
   pragma Volatile (A);

   B : Bits_In_Byte renames A;

   procedure Proc is
   begin
      while B (0) = False loop
         null;
      end loop;
   end;

end Renaming5;

-- { dg-final { scan-tree-dump-times "goto" 3 "optimized" } }
-- { dg-final { cleanup-tree-dump "optimized" } }